@tailwind base;
@tailwind components;
@tailwind utilities;

@import url(https://fonts.googleapis.com/css?family=Open+Sans);

.btn {
  display: inline-block;
  display: inline;
  zoom: 1;
  padding: 4px 10px 4px 0;
  margin-bottom: 0;
  font-size: 13px;
  line-height: 18px;
  color: #333333;
  text-align: center;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
  vertical-align: middle;
  background-color: #f5f5f5;
  background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); background-image: linear-gradient(top, #ffffff, #e6e6e6); background-repeat: repeat-x; filter: progid:dximagetransform.microsoft.gradient(startColorstr=#ffffff, endColorstr=#e6e6e6, GradientType=0); border-color: #e6e6e6 #e6e6e6 #e6e6e6; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  border: 1px solid #e6e6e6; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
  cursor: pointer;
 }
.btn:hover, .btn:active, .btn.active, .btn.disabled, .btn[disabled] { background-color: #e6e6e6; }
.btn-large { padding: 9px 14px; font-size: 15px; line-height: normal; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; }
.btn:hover { color: #333333; text-decoration: none; background-color: #e6e6e6; background-position: 0 -15px; -webkit-transition: background-position 0.1s linear; -moz-transition: background-position 0.1s linear; -ms-transition: background-position 0.1s linear; -o-transition: background-position 0.1s linear; transition: background-position 0.1s linear; }
.btn-primary, .btn-primary:hover { text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); color: #ffffff; }
.btn-primary.active { color: rgba(255, 255, 255, 0.75); }
.btn-primary { background-color: #4a77d4; background-image: -moz-linear-gradient(top, #6eb6de, #4a77d4); background-image: -ms-linear-gradient(top, #6eb6de, #4a77d4); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#6eb6de), to(#4a77d4)); background-image: -webkit-linear-gradient(top, #6eb6de, #4a77d4); background-image: -o-linear-gradient(top, #6eb6de, #4a77d4); background-image: linear-gradient(top, #6eb6de, #4a77d4); background-repeat: repeat-x; filter: progid:dximagetransform.microsoft.gradient(startColorstr=#6eb6de, endColorstr=#4a77d4, GradientType=0);  border: 1px solid #3762bc; text-shadow: 1px 1px 1px rgba(0,0,0,0.4); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.5); }
.btn-primary:hover, .btn-primary:active, .btn-primary.active, .btn-primary.disabled, .btn-primary[disabled] { filter: none; background-color: #4a77d4; }
.btn-block { width: 100%; display:block; }

* { -webkit-box-sizing:border-box; -moz-box-sizing:border-box; -ms-box-sizing:border-box; -o-box-sizing:border-box; box-sizing:border-box; }

html { width: 100%; height:100%; overflow:hidden; margin: 0; padding: 0; background: #092756; }

body {
  width: 100%;
  height:100%;
  margin: 0;
  padding: 0;
  font-family: 'Open Sans', sans-serif;
  background: #092756;
  background: -moz-radial-gradient(0% 100%, ellipse cover, rgba(104,128,138,.4) 10%,rgba(138,114,76,0) 40%),-moz-linear-gradient(top,  rgba(57,173,219,.25) 0%, rgba(42,60,87,.4) 100%), -moz-linear-gradient(-45deg,  #670d10 0%, #092756 100%);
  background: -webkit-radial-gradient(0% 100%, ellipse cover, rgba(104,128,138,.4) 10%,rgba(138,114,76,0) 40%), -webkit-linear-gradient(top,  rgba(57,173,219,.25) 0%,rgba(42,60,87,.4) 100%), -webkit-linear-gradient(-45deg,  #670d10 0%,#092756 100%);
  background: -o-radial-gradient(0% 100%, ellipse cover, rgba(104,128,138,.4) 10%,rgba(138,114,76,0) 40%), -o-linear-gradient(top,  rgba(57,173,219,.25) 0%,rgba(42,60,87,.4) 100%), -o-linear-gradient(-45deg,  #670d10 0%,#092756 100%);
  background: -ms-radial-gradient(0% 100%, ellipse cover, rgba(104,128,138,.4) 10%,rgba(138,114,76,0) 40%), -ms-linear-gradient(top,  rgba(57,173,219,.25) 0%,rgba(42,60,87,.4) 100%), -ms-linear-gradient(-45deg,  #670d10 0%,#092756 100%);
  background: -webkit-radial-gradient(0% 100%, ellipse cover, rgba(104,128,138,.4) 10%,rgba(138,114,76,0) 40%), linear-gradient(to bottom,  rgba(57,173,219,.25) 0%,rgba(42,60,87,.4) 100%), linear-gradient(135deg,  #670d10 0%,#092756 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3E1D6D', endColorstr='#092756',GradientType=1 );
}
.login {
  position: absolute;
  top: 40%;
  left: 50%;
  margin: -150px 0 0 -175px;
  width:350px;
  height:300px;
}
.login h1 { color: #fff; text-shadow: 0 0 10px rgba(0,0,0,0.3); letter-spacing:1px; text-align:center; }

input {
  width: 100%;
  margin-bottom: 10px;
  background: rgba(0,0,0,0.3);
  border: none;
  outline: none;
  padding: 10px;
  font-size: 13px;
  color: #fff;
  text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
  border: 1px solid rgba(0,0,0,0.3);
  border-radius: 4px;
  box-shadow: inset 0 -5px 45px rgba(100,100,100,0.2), 0 1px 1px rgba(255,255,255,0.2);
  -webkit-transition: box-shadow .5s ease;
  -moz-transition: box-shadow .5s ease;
  -o-transition: box-shadow .5s ease;
  -ms-transition: box-shadow .5s ease;
  transition: box-shadow .5s ease;
}

.email-input {
    font-size: 16px;
}

input:focus { box-shadow: inset 0 -5px 45px rgba(100,100,100,0.4), 0 1px 1px rgba(255,255,255,0.2); }

/* Disable spinner: Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
/* Firefox */
input[type=number] {
  appearance: textfield;
  -moz-appearance: textfield;
}

input {
  text-align: center;
}

/* prevent autocomplete from changing input style */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-text-fill-color: white !important;
    -webkit-box-shadow: 0 0 0px 1000px transparent inset !important;
    transition: background-color 5000s ease-in-out 0s;
}

.subtitle{
  text-align: center;
  color: #fff;
  padding-bottom: 15px;
}

.result{
  position: relative;
  text-align: left;
  color: #c1c1c1;
  padding: 15px;
  background-color: #333333;
  font-family:'Courier New', Courier, monospace;
}
.result pre{
  margin: 0;
  padding: 0;
  white-space: pre-wrap;       /* Since CSS 2.1 */
  white-space: -moz-pre-wrap;  /* Mozilla, since 1999 */
  white-space: -pre-wrap;      /* Opera 4-6 */
  white-space: -o-pre-wrap;    /* Opera 7 */
  word-wrap: break-word;       /* Internet Explorer 5.5+ */
}

.copyicon{
  position: absolute;
  top: 10px;
  right: 10px;
  cursor: pointer;
}

.poweredby{
  /* position center and smaller font */
  text-align: center;
  font-size: 14px;
  opacity: 0.8;
  margin: 5px 0;
  color: #c1c1c1;
}
.poweredby a, .poweredby a:active, .poweredby a:visited{
  color: #c1c1c1;
  text-decoration: underline;
}
.poweredby a:hover{
  color: #fff;
}

/* user icon */
#profile-circle {
    position: fixed;
    top: 13px;
    right: 13px;
    width: 50px;
    height: 50px;
    background-color: rgba(255, 97, 97, 0.4);
    border-radius: 50%;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
}

/* Dropdown menu */
#dropdown-menu {
    display: none;
    text-align: right;
    position: absolute;
    top: 70px;
    right: 10px;
    background-color: #333333;
    color: #c1c1c1;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    width: auto;
    max-width: 300px;
    min-width: 157px;
    z-index: 1000;
}

#dropdown-menu.active {
    display: block;
}

#dropdown-menu .row {
    padding: 10px 15px;
    border-bottom: 1px solid #161616;
    cursor: pointer;
    color: inherit;
    background-color: inheirt;
    transition: background-color 0.2s ease-in-out;
    border-radius: inherit;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#dropdown-menu .row:last-child {
    border-bottom: none;
}

#dropdown-menu .row:hover {
    background-color: rgba(148, 147, 147, 0.1);
}

#login-button {
    background-color: #0927568e;
    position: fixed;
    top: 18px;
    right: 13px;
    color: white;
    width: fit-content;
    padding: 10px 15px;
    border: none;
    border-radius: 5px;
    text-align: center;
    cursor: pointer;
    transition: all 0.5s ease-in-out;
}

#login-button:hover {
    background-color: #670d106c;
}

.row#user-email {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.row#logout-button {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.row#user-email {
    transition: unset;
    cursor: default;
    background-color: #333333;
}

.row#user-email:hover {
    transition: unset;
    cursor: default;
    background-color: #333333;
}

.hide {
    display: none;
}

.show {
    display: flex;
}

.cursor-pointer {
    cursor: pointer;
}

/* PIN PAGE */
.full-section {
    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    top: 50%;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 100%;
}

.sign-in-title {
    color: white;
    text-shadow: 1px 2px 2px rgba(0,0,0,0.6);
    text-align: center;
    font-weight: 500;
    font-family: monospace;
    font-size: 2.8em;
}

.pin-form-section{
    display: flex;
    justify-content: center;
}

.pin-form {
    display: flex;
    width: 562px;
    padding-left: 2em;
    padding-right: 2em;
    min-width: 500px;
    gap: 2em;
    justify-content: center;
    align-items: center;
    padding-top: 2em;
}

@media (max-width: 514px) {
    .pin-form {
        width: auto;
        gap: 9px;
        min-width: unset;
        padding-left: 3px;
        padding-right: 3px;
    }
}

#pinForm {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.pin-form-part {
    font-size: 2em;
    text-align: center;
    color: white;
}

.sign-in-buttons {
    color: white;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1em;
    margin-top: 3em;
}

#signInButton {
    padding-left: 3px;
    padding-right: 3px;
}

#resendPin {
    text-shadow: 1px 2px 2px rgba(0,0,0,0.6);
    transition: color 0.2s ease-in-out;
    color: white;
}

#resendPin:hover {
    transition: color 0.2s ease-in-out;
    color: #4a77d4;
}

#pinResendingMessage {
    text-align: center;
    font-family: monospace;
    font-size: 15px;
}

.error {
    color: red;
    font-family: monospace;
    padding-top: 1em;
    text-align: center;
    font-size: 15px;
    text-shadow: 3px 2px #1e1d1dba;
}

.cursor-default {
    cursor: default;
}

.attempts-msg {
    padding-bottom: 0.8em;
    color: white;
    font-family: monospace;
    font-size: 15px;
    padding-left: 3em;
    text-shadow: 1px 1px 1px rgba(0,0,0,0.4);
}

.btn-sign-in {
    cursor: pointer;
    color: white;
    font-size: 1em;
    border-radius: 7px;
    border-width: 1px;
    background-color:  rgb(53, 117, 243);
    /* background-image: linear-gradient(0deg, rgba(15,68,171,1) 0%, rgba(27,209,245,1) 100%); */
    background-size: 200% 100%;
    text-shadow: 1px 1px 1px rgba(0,0,0,0.4);
    box-shadow: inset 0px -22px 12px rgba(15,68,171, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease-in-out;
    --webkit-transition: all 0.3s ease-in-out;
}

.btn-sign-in:hover {
    box-shadow: inset 0px -4px 12px rgba(0, 0, 0, 0.2);
    transition: box-shadow 0.3s ease-in-out;
}

.btn-content {
    padding-top: 0.8em;
    padding-bottom: 0.8em;
    padding-left: 2em;
    padding-right: 2em;
    display: flex;
    gap: 0.5em;
    text-shadow: 1px 2px 2px rgba(0,0,0,0.6);
    align-items: center;
    justify-content: center;
}

.loading-spinner {
    width: 1.1em;
    height: 1.1em;
    fill: #4a77d4;
    color: white;
    animation: spin 1.4s linear infinite;
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

.response-output {
    text-align: center;
    padding-top: 1em;
}

.success {
    color: green;
    font-family: monospace;
    padding-top: 1em;
    text-align: center;
    font-size: 15px;
    text-shadow: 3px 2px #1e1d1dba;
}
