/* FONTE*/

@font-face {
    font-family: "Montserrat";

    src: url("../fonts/Montserrat-VariableFont_wght.ttf")
         format("truetype");

    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
}


/* RESET */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


html,
body {
    width: 100%;
    min-height: 100%;
}


html {
    font-size: 16px;
}


body {
    margin: 0;
}


/* Imagens responsivas */

img {
    display: block;
    max-width: 100%;
}


/* Links */

a {
    color: inherit;
}


/* CONFIGURAÇÃO GERAL DA PÁGINA */

.page {
    width: 100%;

    min-height: 100vh;
    min-height: 100dvh;

    display: flex;
    flex-direction: column;

    color: #FFFFFF;

    font-family: "Montserrat", Arial, Helvetica, sans-serif;

    overflow-x: hidden;
}


/* CORES DAS PÁGINAS */


/* Página portuguesa */

.page-pt {
    background-color: #D95454;
}


/* Página inglesa */

.page-en {
    background-color: #085E82;
}


/* CONTEÚDO PRINCIPAL */

.main-content {
    width: 100%;

    flex: 1;

    display: flex;
    flex-direction: column;

    align-items: center;

    text-align: center;

    padding-left: 5%;
    padding-right: 5%;
}


/* LOGÓTIPO WE ARE MADEIRA */

.logo-container {
    margin-top: clamp(90px, 20.2vh, 218px);
}


.logo {
    width: clamp(250px, 24vw, 300px);

    height: auto;
}


/* TÍTULO PRINCIPAL */

.main-title {
    margin-top: clamp(40px, 6.5vh, 70px);

    font-size: clamp(20px, 1.5625vw, 20px);

    line-height: 1.2;

    font-weight: 700;

    letter-spacing: 0.01em;

    color: #FFFFFF;
}


/* DESCRIÇÃO */

.description {
    margin-top: clamp(24px, 3.7vh, 40px);

    font-size: clamp(18px, 1.5625vw, 20px);

    line-height: 1.35;

    font-weight: 300;

    letter-spacing: 0.025em;

    color: #FFFFFF;
}


/* BLOCO "BREVEMENTE / COMING SOON" */

.coming-soon {
    margin-top: 27px;

    padding-top: 30px;
    padding-right: 2px;
    padding-bottom: 18px;
    padding-left: 2px;

    border-top: 2px solid rgba(255, 255, 255, 0.65);

}


.coming-soon p {
    font-size: clamp(20px, 1.5625vw, 20px);

    line-height: 1;

    font-weight: 700;

    letter-spacing: 0.01em;

    color: #FFFFFF;

    white-space: nowrap;
}


/* RODAPÉ */

.footer {
    width: 100%;

    display: flex;
    flex-direction: column;

    justify-content: center;
    align-items: center;

    padding-left: 4%;
    padding-right: 4%;

    padding-bottom: clamp(35px, 4.8vh, 52px);

    color: rgba(255, 255, 255, 0.75);
}


/* LOGÓTIPOS DOS FINANCIADORES */

.funding-logos {
    width: 100%;

    display: flex;

    justify-content: center;
    align-items: center;

    margin-bottom: 28px;
}

.funding-logos a {
    display: block;

    width: min(100%, 500px);
}

.funding-logos img {
    display: block;

    width: 100%;

    height: auto;
}



/* LINHA HORIZONTAL DO RODAPÉ */

.footer-line {
    width: min(100%, 900px);

    height: 1px;

    background-color: rgba(255, 255, 255, 0.65);

    margin-bottom: 20px;
}


/* TEXTO DO RODAPÉ */

.footer-text {
    width: 100%;

    display: flex;

    justify-content: center;
    align-items: center;

    flex-wrap: wrap;

    gap: 0 10px;

    text-align: center;

    font-size: clamp(11px, 0.9375vw, 14px);

    line-height: 1.4;

    font-weight: 300;

    letter-spacing: 0.01em;

    color: rgba(255, 255, 255, 0.75);
}


/* Links do rodapé */

.footer-text a {
    color: inherit;

    text-decoration: none;
}


/* Hover e navegação por teclado */

.footer-text a:hover,
.footer-text a:focus {
    color: #FFFFFF;

    text-decoration: underline;
}


/* Links institucionais sublinhados */

.footer-text a:nth-of-type(n + 2) {
    text-decoration: underline;
}


/* TABLET */

@media (max-width: 900px) {

    .main-content {
        padding-left: 7%;
        padding-right: 7%;
    }


    .logo-container {
        margin-top: clamp(70px, 14vh, 130px);
    }


    .logo {
        width: min(48vw, 300px);
    }



    .main-title {
        margin-top: clamp(35px, 5.5vh, 55px);

        max-width: 700px;

        font-size: clamp(18px, 2.5vw, 20px);

        line-height: 1.2;
    }



    .description {
        margin-top: clamp(22px, 3.2vh, 32px);

        width: min(100%, 680px);

        font-size: clamp(17px, 2.5vw, 20px);

        line-height: 1.4;
    }


    /* Em tablet deixamos o navegador adaptar automaticamente as linhas. */

    .description br {
        display: none;
    }



    .coming-soon {
        margin-top: 23px;

        padding-top: 25px;
    }


    .coming-soon p {
        font-size: clamp(18px, 2.5vw, 20px);
    }



    .funding-logos {
        margin-bottom: 24px;
    }



    .footer-line {
        width: min(90%, 740px);

        margin-bottom: 18px;
    }



    .footer {
        padding-left: 5%;
        padding-right: 5%;
    }


    .footer-text {
        font-size: clamp(10px, 1.6vw, 13px);
    }
}


/* MOBILE */

@media (max-width: 600px) {

    .main-content {
        padding-left: 7%;
        padding-right: 7%;
    }



    .logo-container {
        margin-top: 60px;
    }


    .logo {
        width: min(68vw, 260px);
    }



    .main-title {
        margin-top: 38px;

        max-width: 350px;

        font-size: clamp(16px, 4.5vw, 19px);

        line-height: 1.3;

        letter-spacing: 0.005em;
    }



    .description {
        margin-top: 25px;

        width: 100%;

        max-width: 420px;

        font-size: clamp(15px, 4vw, 18px);

        line-height: 1.45;

        letter-spacing: 0.015em;
    }


    .description br {
        display: none;
    }



    .coming-soon {
        width: auto;

        max-width: 100%;

        margin-top: 21px;

        padding-top: 22px;
    }


    .coming-soon p {
        font-size: clamp(16px, 4.3vw, 18px);

        line-height: 1.25;

        white-space: normal;
    }



    .funding-logos {
        margin-bottom: 20px;
    }



    .footer-line {
        width: 100%;

        margin-bottom: 18px;
    }



    .footer {
        margin-top: 45px;

        padding-left: 7%;
        padding-right: 7%;

        padding-bottom: 22px;
    }


    .footer-text {
        gap: 5px 7px;

        font-size: 10px;

        line-height: 1.6;
    }
}


/* MOBILE PEQUENO */

@media (max-width: 360px) {


    .logo-container {
        margin-top: 45px;
    }


    .logo {
        width: min(72vw, 235px);
    }


    .main-title {
        margin-top: 32px;

        font-size: 16px;

        max-width: 300px;
    }



    .description {
        margin-top: 22px;

        font-size: 14px;

        line-height: 1.45;
    }



    .coming-soon {
        margin-top: 18px;
        padding-top: 19px;
    }


    .coming-soon p {
        font-size: 15px;
    }



    .funding-logos {
        margin-bottom: 17px;
    }



    .footer-line {
        margin-bottom: 15px;
    }


    .footer {
        margin-top: 35px;

        padding-left: 6%;
        padding-right: 6%;

        padding-bottom: 20px;
    }


    .footer-text {
        font-size: 9px;

        line-height: 1.6;
    }
}


/* 
   ECRÃS MUITO BAIXOS
   Ex.: portáteis 1366 x 768 
*/

@media (min-width: 901px) and (max-height: 850px) {


    .logo-container {
        margin-top: 10vh;
    }


    .logo {
        width: clamp(230px, 20vw, 300px);
    }


    .main-title {
        margin-top: 4.5vh;

        font-size: clamp(18px, 1.45vw, 20px);
    }


    .description {
        margin-top: 2.8vh;

        font-size: clamp(17px, 1.4vw, 20px);

        line-height: 1.35;
    }


    .coming-soon {
        margin-top: 17px;
        padding-top: 21px;
    }


    .coming-soon p {
        font-size: clamp(18px, 1.4vw, 20px);
    }


    .funding-logos {
        margin-bottom: 20px;
    }


    .footer-line {
        width: min(100%, 740px);

        margin-bottom: 15px;
    }


    .footer {
        padding-bottom: 22px;
    }


    .footer-text {
        font-size: clamp(10px, 0.85vw, 13px);
    }
}


/* MONITORES MUITO GRANDES */

@media (min-width: 2200px) {

    .main-content {
        padding-left: 10%;
        padding-right: 10%;
    }


    .logo {
        width: 300px;
    }


    .main-title {
        font-size: 20px;
    }


    .description {
        font-size: 20px;
    }


    .coming-soon p {
        font-size: 20px;
    }



    .footer-line {
        width: 900px;
    }


    .footer-text {
        font-size: 14px;
    }
}