/*----------------------------------------------------------------------------------
        IMPORTS
------------------------------------------------------------------------------------*/

@import url('https://fonts.googleapis.com/css2?family=Play:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Fugaz+One&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Contrail+One&display=swap');

@font-face {
    font-family: "Ensinadores";
    src: url(/public/fonts/ensinadores-font.otf);
  }


/*-------- ALL DOC -------------------------------------------------------*/

:root {
    --pallete-white:#FFFFFF;
    --pallete-black:#000000;
    --pallete-red:#C21E1E;
    --pallete-blue:#2060C2;
    --pallete-grey:#A6A6A6;

    --footer-credits-color:#12366D;
    --font-c-white:#FFFFFF;
    --font-c-black:#000000;

    scrollbar-width: thin;         
    scrollbar-color: var(--pallete-grey) var(--pallete-white);

    font-size:16px;
}

* {
    margin: 0;
    box-sizing: border-box;
    font-family: 'Play';
    font-style:italic;
    text-align:justify;    
}

body{
    overflow:auto;
    background:linear-gradient(0deg, rgba(210,210,210,1) 0%, rgba(255,255,255,1) 75%);
    background-attachment:fixed;
}

body::-webkit-scrollbar {
    width: 10px;               
}

body::-webkit-scrollbar-track {
    background: var(--pallete-white);        
}

body::-webkit-scrollbar-thumb {
    background-color: var(--pallete-grey);    
    border-radius: 10px;       
    border: 3px solid var(--pallete-grey);  
}

a{
    text-decoration:none;
}

/*----------------------------------------------------------------------------------
        BOOTSTRAP
------------------------------------------------------------------------------------*/

/*-------- SECTION STYLE -------------------------------------------------------*/
.flex-center {
    display:flex;
    justify-content:center;
    align-items:center;
}

.wrap{
    flex-wrap:wrap;
}

.wrap > *{
    width:100%;
}

section.page {
    width:100%;
    max-width:1280px;
    margin:0 auto 50px auto;
    margin-bottom:50px;
}

section#content {    
    background:var(--pallete-white);
    color:var(--pallete-black);
    width:100%;
    padding-bottom:50px;
    background:transparent;
}

section#content p {
    text-indent:5rem;
    margin:1.5rem 0.5rem;
    line-height:2.5rem;
}

.fontsize175rem{
    font-size:1.75rem;
}

.fontsize150rem{
    font-size:1.50rem;
}

.fontsize125rem{
    font-size:1.25rem;
}

.simple-card {
    cursor:pointer;
    width:100%;
    max-width:250px;
    background:var(--pallete-white);    
    font-weight:600;
    padding:10px 5px;
    border-radius:10px;
    box-shadow: 0 0 25px 0px var(--pallete-grey);
    margin:25px 25px;
    transition: transform 0.5s;
}

.simple-card:hover {
    transform:translateY(-10px);
    --scale-ensinador-face:1.05;
}

div.container-standard {
    display:flex; 
    flex-wrap:wrap; 
    justify-content:space-evenly;
    /*padding:1rem;*/
    margin-bottom:25px;
}

div.container-standard div#image-box {
    width:100%; 
    max-width:450px; 
    display:flex; 
    align-items:center; 
    justify-content:center;
}

div.container-standard div#text-box {
    width:100%; 
    max-width:700px;
    padding:1.25rem;
}

div#image-box img {
    width:100%;
}

/*-------- FORM STYLE -------------------------------------------------------*/

label.form {
    width:100%;
    min-width:100px;
    color:var(--pallete-white);
    display:block;
    font-weight:600;
    font-size:18px;
    margin:10px 0px 0px 0px;
    padding-bottom:5px;
    border-bottom:3px solid var(--pallete-white);
}

input[type=text],
input[type=number],
input[type=email],
textarea {
    width:100%;
    min-height:35px;
    background:var(--pallete-white);
    border:0;  
    border-radius:5px;   
    font-size:16px;
    margin:5px 0px;
    padding:7px 25px;
    transition:box-shadow 0.5s, background 0.5s, color 0.5s;
    clip-path: polygon(20px 0px, 100% 0, calc(100% - 20px) calc(100% + 3px), 0% calc(100% + 3px));
}

input[type=number] {
    min-width:100px;
}

textarea::-webkit-scrollbar {
    width:0;    
}

input[type=text]:focus,
input[type=number]:focus,
input[type=email]:focus,
textarea:focus {
    outline:0;
    box-shadow:0px 15px 0px 3px var(--pallete-white);
    background:transparent;
    color:var(--pallete-white);
}

input[type=submit],
button { 
    cursor:pointer;   
    min-height:40px;
    min-width:150px; 
    border:2px solid var(--pallete-grey);   
    border-radius:15px;    
    font-weight:600;
    font-size:20px;
    text-align:center;
    background-image: -webkit-linear-gradient(45deg, var(--pallete-red) 50%, var(--pallete-white) 50%);
    background-image: linear-gradient(45deg, var(--pallete-red) 50%, var(--pallete-white) 50%);
    background-position: 100%;
    background-size: 400%;
    margin:25px 0px;
    -webkit-transition: background 500ms ease-in-out, color 200ms ease-in, transform 100ms ease-in-out, border 250ms;
    transition: background 500ms ease-in-out, color 250ms ease-in, transform 100ms ease-in-out, border 250ms;
}

input[type=submit]:hover,
button:hover {
    color:var(--pallete-white);
    background-position: 0;    
}

input[type=submit]:active,
button:active {  
    border:2px solid transparent;
    transform:scale(0.975, 0.975);
}

input[type=submit]:focus,
button:focus {
    outline:0;
}

fieldset {
    display:flex;
    flex-wrap:wrap;
    margin-top:15px;
    border:0; 
    border-top:3px solid var(--pallete-white);
    border-bottom:3px solid var(--pallete-white);
    border-radius:5px;
    clip-path: polygon(20px 0px, 100% 0, calc(100% - 20px) calc(100% + 3px), 0% calc(100% + 3px));
}

fieldset legend {
    width:auto;
    max-width:250px;
    font-size:18px;
    font-weight:600;
    text-align:left;
    color:var(--pallete-white);
    padding:0px 15px 0px 10px;    
}

fieldset div#description {
    width:100%;    
    color:var(--pallete-white);
    text-align:center;
    margin:5px;
    padding:10px;
    border-bottom:1px solid var(--pallete-white);
}

fieldset label {
    color:var(--pallete-white);
    margin:5px;    
}

/* Container do novo estilo*/
.options-container {
    display: block;
    position: relative;
    padding-left: 35px;
    padding-right:25px;
    margin-bottom: 15px;
    cursor: pointer;
    font-size: 18px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* Remove o estilo padrão */
.options-container input {  
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

/* Cria o novo estilo, sem marcação */
.checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 25px;
    width: 25px;
    background-color: var(--pallete-white);
    border-radius:5px;
    transition: background 0.5s, outline 0.1s;
}

/* Ao passar do mouse, destaca a caixa */
.options-container:hover input ~ .checkmark {
    background-color: transparent;
    outline:2px solid var(--pallete-white);
}

/* Quando a opção é marcada, a cor de fundo é alterada */
.options-container input:checked ~ .checkmark {
    background-color: var(--pallete-red);
}

/* Cria o V de marcação e deixa escondido por padrão */
.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

/* Mostra o V de marcação */
.options-container input:checked ~ .checkmark:after {
    display: block;
}

/* Estilo do caracter de marcação "V" */
.options-container .checkmark:after {
    left: 9px;
    top: 5px;
    width: 5px;
    height: 10px;
    border: solid var(--pallete-white);
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

/*-------------------------------------------------------------------

/* Cria o novo estilo, sem marcação */
.checkradio {
    position: absolute;
    top: 0;
    left: 0;
    height: 26px;
    width: 26px;
    background-color: var(--pallete-white);
    border-radius: 50%;
    transition: background 0.5s, outline 0.1s;
  }
  
  /* Ao passar do mouse, destaca o círculo */
  .options-container:hover input ~ .checkradio {
    background-color: transparent;
    outline:2px solid var(--pallete-white);
  }
  
  /* Quando a opção é marcada, a cor de fundo é alterada */
  .options-container input:checked ~ .checkradio {
    background-color: var(--pallete-red);
  }
  
  /* Cria o ponto de marcação e deixa escondido por padrão */
  .checkradio:after {
    content: "";
    position: absolute;
    display: none;
  }
  
  /* Mostra o ponto de marcação */
  .options-container input:checked ~ .checkradio:after {
    display: block;
  }
  
  /* Estilo do caracter de marcação "Ponto" */
  .options-container .checkradio:after {
    top: 2px;
    left: 2px;
    width: 8px;
    height: 8px;
    border:7px double white;
    border-radius: 50%;
    background: transparent;
  }

/*-------- TAGS AND CUSTOM TAGS -------------------------------------------------------*/

bdt {
    display:inline;
    padding:0.4rem 14px 0.4rem 8px;
    font-weight:600;
    text-transform: uppercase;
    color:var(--pallete-white);
    background:var(--pallete-red);
    border-radius:5px;
}

h1, h2, h3, h4, h5, h6 {
    text-transform: uppercase;
    font-weight:600;
    font-family:"Fugaz One";
    text-align:left;
}
h1 {
    font-size: 2.5rem;
    letter-spacing: -1px;
    color:var(--pallete-blue);   
    margin-left:1rem; 
}

h2 {
    font-size: 1.8rem;
    font-weight:400;
    color:var(--pallete-blue);
}

h3 {  
    font-size:1.5rem;  
    color:var(--pallete-blue);
}

/*-------- GRIDS -------------------------------------------------------*/

.grid-container {
    display:grid;
    grid-template-columns: 256px 256px 256px 256px 256px;
    padding:15px 0px;
}

/*-------- DECORATIONS -------------------------------------------------------*/

div#title-decoration {
    background:var(--pallete-blue); 
    height:7px; 
    width:100%; 
    max-width:600px; 
    min-width:250px;    
    clip-path: polygon(5px 0%, 100% 0%, calc(100% - 5px) 100%, 0% 100%);
}

/*----------------------------------------------------------------------------------
        ANIMATIONS
------------------------------------------------------------------------------------*/

@keyframes slide-from-left{
    from {left: -50%}
    to { left: 0%}
}

@keyframes slide-from-right{
    from {right: -50%}
    to { right: 0%}
}

@keyframes slide-to-right{
    from {right: 0%}
    to { right: -50%}
}

@keyframes slide-to-left{
    from {left: 0%}
    to { left: -50%}
}

@keyframes show-with-zoomIn{
    from {transform:scale(0,0); opacity:0}
    to {transform:scale(1,1); opacity:1}
}

@keyframes show{
    from {opacity:0}
    to {opacity:1}
}

@keyframes hide{
    from {opacity:1}
    to {opacity:0}
}

@keyframes zoomIn{
    from {transform:scale(0,0)}
    to {transform:scale(1,1)}
}

/*----------------------------------------------------------------------------------
        MEDIA QUERIES
------------------------------------------------------------------------------------*/

@media only screen and (max-width:1280px) {
    .grid-container {
        grid-template-columns: auto auto auto auto;
    }
}

@media only screen and (max-width:1000px) {
    .grid-container {
        grid-template-columns: auto auto auto;
    }
}

@media only screen and (max-width:700px) {
    .grid-container[col=3] {
        grid-template-columns: auto auto auto;
    }
}

@media only screen and (max-width:850px) {
    .grid-container {
        grid-template-columns: auto auto;
    }
}

@media only screen and (max-width:600px) {
    .grid-container {
        grid-template-columns: auto;
    }
}

@media only screen and (max-width:450px) {
    :root {
        font-size:14px;
    }

    section#content p {
        text-indent:3.5rem;
        margin:1.25rem 0.25rem;
    }
}

@media only screen and (max-width:350px) {
    :root {
        font-size:12px;
    }

    section#content p {
        text-indent:3rem;
        margin:1.15rem 0.15rem;
    }
}