/*
Breakpoints
xs: 0,
sm: 576px,
md: 768px,
lg: 992px,
xl: 1200px,
xxl: 1400px

Containers
sm: 540px,
md: 720px,
lg: 960px,
xl: 1140px,
xxl: 1320px
*/

@layer reset, site, page, components;
@import url(/static/modern-normalize.min.css) layer reset;

@layer site {
    :root {
        --black: #000000;
        --blue: #0000FF;
    }

    html {
        font-size: 16px;
    }

    body {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: stretch;
        justify-content: flex-start;
        margin: 0;
        padding: 0;
        font-family: "Google Sans", sans-serif;
        font-optical-sizing: auto;
        font-weight: normal;
        font-style: normal;
        font-variation-settings: "GRAD" 0;
        background: url(/images/bg-right.svg);
        background-position: top right;
        background-repeat: no-repeat;
        background-size: 40%;

        @media screen and (min-width: 576px) {
            background-size: auto;
        }
    }

    h1, h2, h3, h4 {
        margin: 0;
        padding: 0;
    }

    h1, h2 {
        font-weight: normal;
    }

    h3, h4 {
        font-weight: 500;
    }

    h2 {
        font-size: 2rem;
    }

    h3 {
        font-size: 1.5rem;
    }

    img {
        max-width: 100%;
    }

    ul {
        padding-left: 1.5rem;
        margin: 0;

        li {
            margin-top: 0.2rem;
            margin-bottom: 0.2rem;
        }
    }

    header {

        a.logo {
            display: flex;
            max-width: 80%;
            margin-top: 1rem;

            @media screen and (min-width: 576px) {
            }
        }

        img.logo {
            width: 400px;
        }

        .navbar {
            & > .container {
                display: flex;
                flex-direction: column;
                gap: 1rem;
                align-items: center;
                justify-content: flex-start;
                flex-wrap: nowrap;

                @media screen and (min-width: 576px) {
                    flex-direction: column;
                    align-items: start;
                    justify-content: flex-start;
                }

                @media screen and (min-width: 992px) {
                    height: 70px;
                    flex-direction: row;
                    align-items: center;
                    justify-content: space-between;
                }

                .menu {
                    display: flex;
                    align-items: center;
                    gap: 1rem;
                    justify-self: end;
                    padding: 0.7rem 1rem;
                    background: #FFFFFF;
                    border-radius: 0.5rem;
                    margin-left: -1.5rem;
                    margin-right: -1.5rem;

                    @media screen and (min-width: 576px) {
                        margin-left: 0;
                        margin-right: 0;
                    }

                    a {
                        color: var(--blue);
                        text-decoration: none;
                        font-weight: 600;

                        &:hover {
                            text-decoration: underline;
                        }
                    }
                }
            }
        }
    }

    footer {
        background: linear-gradient(to left, red 20%, black 20%);
        color: white;

        @media screen and (min-width: 576px) {
            background: linear-gradient(to left, red 50%, black 50%);
        }

        .logo-area {
            justify-self: center;
            padding-top: 1rem;
            padding-bottom: 1rem;

            img.logo {
                width: 400px;
            }
        }


        .row.menu-area {
            margin-top: 3rem;
            margin-bottom: 3rem;
            gap: 3rem;

            .footer-menu {
                @media screen and (min-width: 576px) {
                    text-align: end;
                }
            }

            .social {
                display: flex;
                flex-direction: row;
                flex-wrap: nowrap;
                align-items: flex-start;
                gap: 1rem;

                img {
                    width: 2rem;
                }
            }
        }

        .footer-menu {
            list-style: none;
            margin: 0;
            padding: 0;


            a {
                color: white;
                text-decoration: none;
            }
        }

        .row.bottom-area {
            padding-bottom: 0.5rem;
            gap: 1rem;

            .column {
                &.start {
                    display: flex;
                    flex-direction: row;
                    flex-wrap: nowrap;
                    justify-content: flex-start;
                    align-items: center;
                    gap: 0.3rem;
                }

                &.end {
                    @media screen and (min-width: 576px) {
                        text-align: end;
                    }
                }
            }

            img.copyright {
                display: inline-block;
                width: 1rem;
                filter: brightness(0) invert(1);
                transform: translateY(-1px);
            }
        }
    }
}

/* Taspica Page */
@layer page {

    .taspica-layout {
        background-image: url(/images/taspica-bg-right-mobile.svg);
        background-position: top right;
        background-repeat: no-repeat;
        background-size: 200%;

        @media screen and (min-width: 576px) {
            background-size: 150%;
        }

        @media screen and (min-width: 768px) {
            background-size: 100%;
        }

        @media screen and (min-width: 992px) {
            background-size: 80%;
            background-image: url(/images/taspica-bg-right.svg);
        }

        @media screen and (min-width: 1200px) {
            background-size: auto;
        }

        header {
            img.logo {
                width: 300px;
            }
        }

        footer {
            background: #457B9D;
            margin-top: 4rem;

            img.logo {
                width: 300px;
            }

            .top-area {
                margin-top: 2rem;
                margin-bottom: 2rem;

                @media screen and (min-width: 576px) {
                    margin-bottom: 4rem;
                }

                .bottom.part {
                    padding-top: 3rem;
                }
            }

            img.copyright {
                display: inline-block;
                width: 1rem;
                filter: brightness(0) invert(1);
                transform: translateY(-1px);
            }

            .social {
                display: flex;
                justify-content: flex-start;
                gap: 1rem;

                @media screen and (min-width: 576px) {
                    justify-content: flex-end;
                }

                img {
                    width: 2rem;
                }
            }
        }
    }

    :root {
        --taspica-primary-color: #1D3557;
        --taspica-secondary-color: #A8DADC;
    }

    .taspica.navbar {
        .menu {
            a {
                color: var(--taspica-primary-color);
            }
        }
    }
}
