* {
    margin: 0;
    padding: 0;
    font-family: Arial, Helvetica, sans-serif;
}


body {

    font-family: Arial, Helvetica, sans-serif;
    overflow-x: hidden;

}

#overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #03021b;
    color: #7D95ED;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000; /* Para garantir que a tela preta fique acima do conteúdo */
    opacity: 1;
    transition: opacity 2s ease-in-out;
  }
  
  #message {
    text-align: center;
    opacity: 0; /* Inicialmente escondido */
    transition: opacity 2s ease-in-out; /* Transição suave para a opacidade */
    text-shadow: 
          0 0 6px #7d95ed71, /* Primeira sombra, perto do texto */
          0 0 12px #7d95ed65; /* Segunda sombra, um pouco mais distante */ 
  }



.one {
    /* 100% da altura da tela */
    --s: 150px;
    /* control the size */
    --c1: #03021b;
    --c2: #000a25;

    --_g: var(--c1) 0% 5%, var(--c2) 6% 15%, var(--c1) 16% 25%, var(--c2) 26% 35%,
        var(--c1) 36% 45%, var(--c2) 46% 55%, var(--c1) 56% 65%, var(--c2) 66% 75%,
        var(--c1) 76% 85%, var(--c2) 86% 95%, #0000 96%;
    background: radial-gradient(50% 50% at 100% 0, var(--_g)),
        radial-gradient(50% 50% at 0 100%, var(--_g)),
        radial-gradient(50% 50%, var(--_g)),
        radial-gradient(50% 50%, var(--_g)) calc(var(--s) / 2) calc(var(--s) / 2) var(--c1);
    background-size: var(--s) var(--s);
}

.two {
    position: relative;
    top: 0;
    height: 110vh;
    /* 100% da altura da tela */
    width: 100%;
    background-color: #000c2e;
}


@font-face {
    font-family: 'Bukhari';
    src: url('font/Bukhari\ Script.ttf') format('truetype');
}

@font-face {
    font-family: 'Mokoto';
    src: url('font/Mokoto.ttf') format('truetype');
}

@media (min-width: 920px) {
    #message{
        font-size: 40px;
    }

    .cards {
        grid-template-columns: repeat(4, 1fr);
        /* 4 colunas em telas grandes */
    }

    .card {
        width: 200px;
        height: 300px;
    }

    .cabecalho {
        width: 80%;
    }

    #logo {
        right: calc(5% - 25px);
    }


    .menu {
        left: calc(5% - 25px);
    }

    .submenu li {
        padding-left: 10px;
        padding-right: 10px;
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .historia {
        top: 50%;
        transform: translate(0, -50%);
        float: right;
        right: calc(5% - 25px);
        width: 40%;
        font-size: 20px;
    }


    .logoexpo {
        top: 50%;
        transform: translate(0, -50%);
        left: calc(5% - 25px);
        width: 40%;
    }

    .hidden{
        transform: translate(-100%, -50%);
      }
    
      .show{
        transform: translate(0, -50%);
      }
}


@media (min-width: 600px) and (max-width: 920px) {
    #message{
        font-size: 40px;
    }

    .cards {
        grid-template-columns: repeat(2, 1fr);
        /* 2 colunas em telas médias */
    }

    .card {
        width: 270px;
        height: 200px;
    }

    .cabecalho {
        width: 60%;
    }

    #logo {
        right: calc(10% - 25px);
    }


    .menu {
        left: calc(10% - 25px);
    }

    .submenu li {
        padding-left: 10px;
        padding-right: 10px;
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .historia {
        top: 50px;
        left: 50%;
        transform: translate(-50%, 0);
        float: left;
        right: calc(10% - 25px);
        width: calc(80% - 50px);
        font-size: 15px;
    }


    .logoexpo {
        top: 100px;
        left: 50%;
        transform: translate(-50%, 0);
        float: left;
        right: calc(10% - 25px);
        width: calc(40% - 50px);
    }

}

@media (max-width: 600px) {
    #message{
        font-size: 20px;
    }

    .cards {
        grid-template-columns: 1fr;
        grid-template-columns: repeat(2, 1fr);
        /* 1 coluna em telas pequenas */
    }

    .card {
        width: 150px;
        height: 200px;
    }

    .cabecalho {
        width: 60%;
    }

    #logo {
        right: calc(10% - 25px);
    }


    .menu {
        left: calc(10% - 25px);
    }

    .submenu li {
        padding-left: 15px;
        padding-right: 15px;
        padding-top: 17px;
        padding-bottom: 17px;
    }

    .historia {
        top: 50px;
        left: 50%;
        transform: translate(-50%, 0);
        float: left;
        right: calc(10% - 25px);
        width: calc(80% - 50px);
        font-size: 15px;
    }


    .logoexpo {
        top: 100px;
        left: 50%;
        transform: translate(-50%, 0);
        float: left;
        right: calc(10% - 25px);
        width: calc(80% - 50px);
    }

    .hidden{
        transform: translateX(-100%);
      }
    
      .show{
        transform: translateX(-50%);
      }

}

.hidden{
    opacity: 0;
    filter: blur(15px);
    transition: all 2s;
  }

  .show{
    opacity: 1;
    filter: blur(0);
    transition: all 2s;
  }


.cabecalho {
    position: fixed;
    top: 10px;
    left: 50%;
    transform: translate(-50%, 0);
    display: flex;
    color: rgb(255, 255, 255);
    align-items: center;
    justify-content: center;
    height: 50px;
    background-color: #00000052;
    border-radius: 5px;
    backdrop-filter: blur(3px);
    z-index: 4;
    text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);
}

.cabecalho p {
    font-family: 'Mokoto';
    font-size: 20px;
}

.cabecalho span {
    font-family: 'Mokoto';
    font-size: 20px;
    color: #7D95ED;
}

#logo {
    position: fixed;
    width: 50px;
    top: 10px;
    background-color: #00000052;
    border-radius: 5px;
    backdrop-filter: blur(3px);
    z-index: 4;


}


.menu {
    background: #00000052;
    backdrop-filter: blur(3px);
    height: 50px;
    width: 50px;
    border-radius: 5px;
    color: #e6e6e6;
    font-size: 2em;
    cursor: pointer;
    position: fixed;
    top: 10px;
    z-index: 4;

}

.menu:before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

}

.submenu {
    background: #000a2596;
    border: 2px solid #51629e8c;
    backdrop-filter: blur(7px);
    padding: 0.5em 0;
    margin: 0;
    border-radius: 5px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .2);
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    cursor: default;
    transition: 0.3s;
    visibility: visible;
    opacity: 1;
    z-index: 3;
    width: 90%;
    font-size: 40px;
    overflow: hidden;
    z-index: 999;
}


.submenu.hidden {
    visibility: hidden;
    opacity: 0;
    transition: visibility 0.3s, opacity 0.3s ease;
}


.submenu li {
    list-style: none;
    margin: 0;
    position: relative;
    cursor: pointer;
    color: white;
    text-align: center;
    transition: transform 0.5s ease;
    text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);
}

.submenu li:hover {
    background: #0000003d;
    transform: scale(1.07);
}



.botaomenu {
    cursor: pointer;
}

.botaomenu input {
    display: none;
}

.botaomenu svg {
    /* The size of the SVG defines the overall size */
    height: 50px;
    /* Define the transition for transforming the SVG */
    transition: transform 600ms cubic-bezier(0.4, 0, 0.2, 1);
}

.line {
    fill: none;
    stroke: white;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 3;
    /* Define the transition for transforming the Stroke */
    transition: stroke-dasharray 600ms cubic-bezier(0.4, 0, 0.2, 1),
        stroke-dashoffset 600ms cubic-bezier(0.4, 0, 0.2, 1);
}

.line-top-bottom {
    stroke-dasharray: 12 63;
}

.botaomenu input:checked+svg {
    transform: rotate(-45deg);
}

.botaomenu input:checked+svg .line-top-bottom {
    stroke-dasharray: 20 300;
    stroke-dashoffset: -32.42;
}

.historia {
    position: relative;
    padding: 30px;
    backdrop-filter: blur(3px);
    color: rgb(201, 205, 255);
    background-color: #7d95ed6b;
    text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);
    border-radius: 30px;
}

.historia h2 {
    text-align: center;
}

.logoexpo {
    position: relative;
}


.logoexpo img {
    width: 100%;
}




.shapebotton {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    z-index: 2;
}

.shapebotton svg {
    position: relative;
    display: block;
    width: calc(142% + 1.3px);
    height: 91px;

}


.cards {
    display: grid;
    width: auto;
    gap: 30px;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
    position: absolute;

    top: 50%;

    left: 50%;

    transform: translate(-50%, -50%);
    z-index: 3;

}

.card {
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    cursor: pointer;
    transition: 400ms;
    background: #ffffff2a;
    background: #00000052;
    backdrop-filter: blur(3px);
    border-bottom: 3px solid #6b6dda;
    border-top: 3px solid #6b6dda;


}



.cards .card p.tip {
    font-size: 60px;
    font-family: 'Bukhari';
    color: white;
    text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);
}

.cards .card:hover {
    transform: scale(1.1);
}

.cards:hover .card:not(:hover) {
    filter: blur(3px);
    transform: scale(0.95);
}


footer {
    background-color: #010B1C;
    color: #ddd;
    padding: 40px 10%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    font-family: Arial, sans-serif;
}

/* Estilo das colunas */
.footer-column {
    flex: 1 1 300px;
    margin: 10px;
    min-width: 200px;
}

/* Estilo dos títulos de seção */
.footer-title {
    font-size: 18px;
    color: #7D95ED;
    margin-bottom: 10px;
    text-transform: uppercase;
}

/* Links de contato e email */
.contact-info p,
.school-info p {
    font-size: 14px;
    line-height: 1.6;
    margin: 5px 0;
}

/* Link de email com efeito de hover */
a {
    color: #7D95ED;
    text-decoration: none;
}

footer a:hover {
    color: #586cb4;
    text-decoration: underline;
}

/* Estilo do slogan */
.slogan {
    font-style: italic;
    color: #7D95ED;
    margin-top: 15px;
    font-size: 16px;
}

/* Direitos autorais */
.footer-bottom {
    width: 100%;
    text-align: center;
    font-size: 12px;
    color: #aaa;
    padding-top: 20px;
    border-top: 1px solid #7D95ED;
    margin-top: 20px;
}

