@import url('https://fonts.googleapis.com/css2?family=Audiowide&family=Exo+2:ital,wght@0,100..900;1,100..900&display=swap');

*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

html body{
    background-color: var(--primary-color);
    color: var(--secondary-color);
    font-family: "Exo 2", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    transition: all .3s ease-in-out;
}

h1{
    width: 100%;
    text-align: center;
    bottom: 15%;
    font-family: "Audiowide", sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 19px;
}

h2, h3{
    font-family: "Audiowide", sans-serif;
    font-weight: 600;
    font-size: 17px;
    text-transform: uppercase;
}

.text-warning { color: var(--highlighted-color); }

.text-error {
    color: rgb(172, 0, 0);
    animation: moverTitulo .3s ease-in-out 1; 
}

@keyframes moverTitulo {
    20% { transform: translateX(-4px); }
    40% { transform: translateX(4px); }
    60% { transform: translateX(-2px); }
    80% { transform: translateX(2px); }
}

.hidden { display: none; }

svg #fundo{ fill: var(--primary-color); }
svg #front{ fill: var(--secondary-color); }


.toggle-tema-container{
    position: absolute;
    top: 5%;
    right: 2%;
    border-radius: 20px;
    width: 60px;
    height: 30px;
    border: 2px solid var(--secondary-color);
    cursor: pointer;
    transition: all var(--first-time) ease-in-out;
    background-color: var(--primary-color);
    z-index: 100;
}

.toggle-tema-container:hover{ border: 2px solid var(--highlighted-color); }
.toggle-tema-container:hover #tema-btn{ background-color: var(--highlighted-color); }

#pausar-musica{
    position: absolute;
    top: 5%;
    left: 3%;
    font-size: 1.6em;
    z-index: 100;
    transition: all .3s ease-in-out;
    cursor: pointer
}

#pausar-musica:hover{
    color: var(--highlighted-color);
    text-shadow: 0 3px 7px var(--highlighted-color);
}

#tema-btn{ 
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    top: 3px;
    right: 3px;
    width: 20px;
    height: 20px;
    background-color: var(--secondary-color);
    border-radius: 50%;
    transition: all var(--first-time) ease-in-out;
}

#tema-btn img{
    width: 90%;
    height: 90%;
}

.perfil-usuario:hover,
.toggle-tema-container:hover{ box-shadow: 0 0 7px var(--highlighted-color), 0 0 7px var(--highlighted-color); }

#tema-btn.tema-ativado{  transform: translateX(-28px); }

.login-btn{
    font-family: "Audiowide", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 16.5px;
}

.card-sobre,
.card-curiosidade{
    background-color: var(--secondary-color);
    color: var(--highlighted-color);
    font-weight: bold;
    opacity: 0.9;
}

.card-sobre p,
.card-curiosidade p{ 
    font-weight: 400;
    color: var(--primary-color);
}

.img-author{
    border: 3px solid var(--secondary-color);
    outline: 3px solid var(--primary-color);
    transition: all .3s ease-in-out;
}

.card-author{
    background-color: var(--secondary-color);
    border: 4px solid var(--primary-color);
    outline: 3px solid var(--secondary-color);
    opacity: .9;
    transition: all .3s ease-in-out;
}

.card-author:hover{ 
    border-color: var(--highlighted-color); 
    transform: translateY(-.3em);
    box-shadow: 0 5px 15px var(--secondary-color);
}
.card-author:hover .img-author{  outline-color: var(--highlighted-color); }

.card-author h3{ color: var(--highlighted-color); }
.card-author p{ color: var(--primary-color); }

.author-links{ 
    color: var(--primary-color);
    opacity: 0.9;
}
.author-links:hover{ color: var(--highlighted-color); }

.contact-container {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 50%;
  right: 50%;
  width: 600px;
  height: 90%;
  max-height: 600px;
  transform: translate(50%, -50%);
  background: var(--primary-color); 
  backdrop-filter: blur(10px); 
  border-radius: 10px;
  border: 2px solid var(--secondary-color);
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  clip-path: inset(50% 0 50% 0);
  transition: all .3s ease-in-out;
}

.contact-container.form-active {
  opacity: 1;
  visibility: visible;
  clip-path: inset(0 0 0 0);
}

.contact-form{
    display: flex;
    flex-direction: column; 
    justify-content: flex-start;
    align-items: center;
    padding: 5%;
    width: 100%;
    height: 100%;
    max-height: 100%; 
    overflow-y: auto; 
    box-sizing: border-box; 
}

.contact-form h2 {
    text-align: center;
    font-size: 18px;
    color: var(--highlighted-color);
    text-transform: uppercase;
    padding-bottom: 10px;
    font-family: "Audiowide", sans-serif;
    font-weight: 400;
}

form {
    display: flex;
    flex-direction: column;
}

label {
    width: 100%;
    text-align: left;
    color: var(--secondary-color);
    margin: 5px 0;
}

input, textarea, select {
    width: 100%;
    padding: 5px 10px;
    margin-bottom: 5px;
    border-radius: 15px;
    font-size: 14px;
    outline: none;
    border: 2px solid var(--secondary-color);
    background-color: var(--primary-color);
    color: var(--secondary-color);
    transition: all 0.3s ease-in-out;
}

input:focus, 
textarea:focus, 
select:focus { border-color: var(--highlighted-color) !important;}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-text-fill-color: var(--secondary-color)!important;                    
    transition: background-color 5000s ease-in-out 0s;           
}

.enviar-email {
    position: relative;
    margin-top: 15px;
    padding: 12px 5%;
    background-color: var(--secondary-color);
    color: var(--primary-color);
    font-weight: 600;
    width: 100%;
    border: none;
    border-radius: 10px;
    font-size: 1em;
    cursor: pointer;
    transition: all .3s ease-in-out;
    cursor: pointer;
}


.enviar-email::before{
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    background-color: var(--highlighted-color);
    z-index: -1;
    top: 0;
    left: 0;
    transform: scaleX(0);
    transition: all var(--first-time) ease-in-out;
    transform-origin: left;
    border-radius: 10px;
    z-index: -1;
}

.enviar-email:hover{ 
    transform: translateX(0);
    color: var(--secondary-color);
}
.enviar-email:hover::before{ 
    transform: scaleX(1); 
}

#feedback { 
    margin-top: 10px; 
    text-align: center;
}

.open-form{
    display: flex;
    position: fixed;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    bottom: 3%;
    right: 2%;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    z-index: 100;
    background: var(--secondary-color);
    backdrop-filter: blur(10px);
    color: var(--primary-color);
    font-size: 1.5rem;
    transition: all 0.3s;
    opacity: .9;
}

.open-form:hover{
    background-color: var(--highlighted-color);
    transform: scale(1.02);
    box-shadow: 0 4px 15px var(--highlighted-color);
}

.close-form,
.close-register{
    position: absolute;
    top: 2%;
    right: 2%;
    background: transparent;
    border: none;
    cursor: pointer;
    color: var(--secondary-color);
    transition: all .3s ease-in-out;
    font-size: 1.3em;
}

.close-form:hover,
.close-register:hover{ 
    transform: translateY(-3px);
    color: var(--highlighted-color); 
    text-shadow: 0 3px 7px var(--highlighted-color);
}

.btn-container{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    width: 100%;
    padding: 50px 0;
}

.footer-links{
    color: var(--secondary-color);
    padding: 20px;
    margin-bottom: 20px;
    font-weight: 600;
    opacity: .9;
    transition: all .1s ease-in;
}

.footer-links:hover{
    color: var(--highlighted-color);
    text-decoration: underline;
}

.login-form{
    background-color: var(--primary-color); 
    border: 3px solid var(--secondary-color);
}

#loginFormElement label,
#registerFormElement label,
#recoveryFormElement label{ 
    font-weight: 600;
    color: var(--secondary-color); 
}

#loginFormElement input,
#registerFormElement input,
#recoveryFormElement input{
    background-color: var(--primary-color);
    border: 2px solid var(--secondary-color);
    color: var(--secondary-color);
}

#loginFormElement input:focus,
#registerFormElement input:focus,
#registerFormElement div input:focus{ 
    background-color: var(--primary-color);
}

#loginFormElement button,
#registerFormElement button,
#recoveryFormElement button{
    font-family: "Audiowide", sans-serif;
    font-weight: 500;
}

.register-form{
    font-weight: bold;
}

#close-modal-register{ color: var(--highlighted-color); }
#close-modal-register:hover{ animation: pulsar .9s ease-in-out infinite; }

footer p{
    color: var(--secondary-color);
    font-weight: 500;
    opacity: .7;
}

@media screen and (max-width: 600px){
    #hero{
        padding-top: 50px;
    }

    .contact-container{
        width: 95vw;
        margin-top: 5%;
    }

    .toggle-tema-container{ right: 5%; }
    #pausar-musica{ left: 5%; }

    .open-form{
        position: fixed;
        bottom: 3%;
        right: 3%;
    }

    .login-btn{
        width: 85%;
        height: 4em;
    }
}

@media (max-width: 850px) and (orientation: landscape){
    .seta{ display: none;}

    textarea{
        padding: 100px;
    }
}