/* 
base #034f9d
hover #ec1e3d
back #eaf4ff
*/

*, *::before, *::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
html, body {
    margin: 0px;
    padding: 0px;
    font-size: 16px;
    font-family: Montserrat, Helvetica, "sans-serif";
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

@font-face {
    font-family: NotoSans_Regular;
    display: swap;
    fony-display: swap;
    src: url("/fonts/NotoSans-Regular.ttf");
}

@font-face {
    font-family: NotoSans_SemiBold;
    display: swap;
    fony-display: swap;
    src: url("/fonts/NotoSans-SemiBold.ttf");
}


.container{
    margin: 0 auto;
    padding: 0 15px;
    max-width: 1600px;
    width: 100%;
}
@media screen and (max-width: 1600px) { .container{ max-width: 1400px; } }
@media screen and (max-width: 1400px) { .container{ max-width: 1200px; } }
@media screen and (max-width: 1200px) { .container{ max-width: 988px; } }
@media screen and (max-width: 998px) { .container{ max-width: 768px; } }
@media screen and (max-width: 768px) { .container{ max-width: 650px; } }
@media screen and (max-width: 650px) { .container{ max-width: 100%; } }

H1, H2, H3{
    font-family: NotoSans_SemiBold;
    letter-spacing: 0.1em;
}

.headerPage{
    padding: 20px 0;
    background-color: #eaf4ff;
    box-shadow: 0 10px 12px rgba(0,0,0,0.2);
    .contentHeader{
        display: flex;
        align-items: center;
        justify-content: space-between;
        img{
            width: 400px;
            max-width: 100%;
            object-fit: contain;
        }
        .phones, .emails{
            display: flex;
            gap: 10px;
            flex-direction: column;
            a{
                white-space: nowrap;
                font-family: NotoSans_SemiBold;
                font-size: 18px;
                color: #034f9d;
                text-decoration: none;
                transition: 0.3s;
            }
            a:hover{
                color: #ec1e3d;
            }
        }
        .phones{ text-align: right; }
    }
}
@media screen and (max-width: 992px) {
    .headerPage{
        padding: 15px 0;
        .contentHeader{
            img{
                width: 300px;
            }
            .phones, .emails{
                gap: 7px;
                a{
                    font-size: 16px;
                }
            }
        }
    }
}
@media screen and (max-width: 768px) {
    .headerPage{
        .contentHeader{
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            grid-template-areas: "logo logo" "email phone";
            gap: 15px;
            img{
                grid-area: logo;
                margin: 0 auto;
            }
            .emails{ grid-area: email; }
            .phones{ grid-area: phone; }
        }
    }
}
@media screen and (max-width: 400px) {
    .headerPage{
        .contentHeader{
            display: flex;
            flex-direction: column;
            gap: 15px;
        }
    }
}

.contentPage{
    flex: 1 1 auto;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(transparent, #eaf4ff);
    .pageText{
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 10vh;
        height: 100%;
        h1{
            margin: 0 auto;
            text-align: center;
            font-size: 42px;
            color: #034f9d;
        }
        .hDesc{
            margin: 0 auto;
            text-align: center;
            font-family: NotoSans_Regular;
            font-size: 22px;
            letter-spacing: 0.05em;
            color: #ec1e3d;
            display: none;
        }
    }
    .hException{
        position: absolute;
        bottom: 40px; right: 20vw;
        text-align: center;
        font-family: NotoSans_Regular;
        font-size: 22px;
        letter-spacing: 0.05em;
        color: #ec1e3d;
    }
}
@media screen and (max-width: 1600px) {
    .contentPage{
        .hException{
            right: 10vw;
        }
    }
}
@media screen and (max-width: 992px) {
    .contentPage{
        .pageText{
            h1{ font-size: 32px; }
            .hDesc{ font-size: 18px; }
        }
        .hException{
            font-size: 18px;
            right: 40px;
        }
    }
}
@media screen and (max-width: 768px) {
    .contentPage{
        .pageText{
            h1{ font-size: 26px; }
            /* .hDesc{ font-size: 18px; } */
        }
        .hException{
            font-size: 16px;
            right: 20px;
        }
    }
}
@media screen and (max-width: 480px) {
    .contentPage{
        .pageText{
            h1{ font-size: 22px; }
            .hDesc{ display: block; }
        }
        .hException{
            display: none;
        }
    }
}


.footerPage{
    padding: 20px 0;
    background-color: #eaf4ff;
    box-shadow: 0 3px 15px rgba(0,0,0,0.2);
    .contentFooter{
        display: flex;
        align-items: center;
        justify-content: space-between;
        column-gap: 30px;
        img{
            width: 200px;
            max-width: 100%;
            object-fit: contain;
        }
        .address{
            font-family: NotoSans_SemiBold;
            font-size: 16px;
            color: #034f9d;
        }
        .phones{
            display: flex;
            gap: 10px;
            flex-direction: column;
            text-align: right;
            a{
                white-space: nowrap;
                font-family: NotoSans_SemiBold;
                font-size: 18px;
                color: #034f9d;
                text-decoration: none;
                transition: 0.3s;
            }
            a:hover{
                color: #ec1e3d;
            }
        }
    }
}
@media screen and (max-width: 992px) {
    .footerPage{
        .contentFooter{
            column-gap: 20px;
            img{ width: 150px; }
           .address{
                font-size: 14px;
                text-align: center;
                max-width: 300px;
            }
            .phones a{
                font-size: 16px;
            }
        }
    }
}
@media screen and (max-width: 768px) {
    .footerPage{
        .contentFooter{
            img{ width: 120px; }
           .address{
                font-size: 12px;
            }
            .phones{
                gap: 3px;
                a{ font-size: 14px; }
            }
        }
    }
}
@media screen and (max-width: 480px) {
    .footerPage{
        .contentFooter{
            img{ width: 100px; }
        }
    }
}
@media screen and (max-width: 400px) {
    .footerPage{
        .contentFooter{
            flex-direction: column;
            gap: 15px;
        }
    }
}

