@import url('https://fonts.googleapis.com/css2?family=Yeseva+One&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Nunito&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat&display=swap');

body:has(#welcome) {
    background-image: url("/img/background-0.png");
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
    font-family: 'Montserrat';
}

h4 {
    font-family: 'Yeseva One';

    a {
        color: inherit;
    }
}

.hidden-xl {
    @media (min-width: 1201px) {
        display: none;
    }
}

.visible-xl {
    @media (max-width: 1200px) {
        display: none;
    }
}

@mask-black-transparent: rgba(0, 0, 0, 0.64);
@header-mask: rgba(0, 0, 0, 0.9);

header {
    background: @header-mask;
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: white;
    left: 0;
    width: 100%;
    z-index: 100;
    transition: top 0.2s linear;

    @media (max-width: 600px) {
        top: 0;
        padding: 0 10px;
    }

    @media (min-width: 601px) {
        padding: 0px 40px;
        top: -100px;

        &.active {
            top: 0;
        }
    }

    i.fa-bars, i.fa-times {
        width: 30px;
        text-align: center;
        display: block;
        font-size: 30px;
    }

    @media (min-width: 1201px) {
        i.fa-bars {
            display: none;
        }
    }

    h4 {
        @media(min-width: 1201px) {
            margin: 10px 0 15px;
        }
    }

    & > ul {
        @media (max-width: 992px) {
            top: 55px;
        }

        @media (min-width: 993px) {
            top: 57px;
        }

        @media (max-width: 1200px) {
            position: fixed;
            right: -100%;
            max-width: 75%;
            min-width: 320px;
            overflow: scroll;
            max-height: calc(100% - 69px);
            background: @header-mask;
            transition: right 0.2s linear;

            &.visible {
                right: 0;
            }
        }

        @media (min-width: 1201px) {
            display: flex;
        }

        li {
            cursor: pointer;

            a {
                color: inherit;
            }
        }

        .fa-chevron-down {
            transition: all 0.1s linear;
        }

        & > li {
            font-size: 18px;
            letter-spacing: 0.3px;

            @media (max-width: 1200px) {
                padding: 13px 30px;

                &:last-child {
                    padding-bottom: 23px;
                }
            }

            @media (min-width: 1201px) {
                padding: 0 30px;
            }

            @media (max-width: 1200px) {
                &.expanded {
                    & > span > .fa-chevron-down {
                        transform: rotate(180deg);
                    }

                    & > ul {
                        max-height: 500px;
                    }
                }
            }

            @media (min-width: 1201px) {
                position: relative;
                padding-bottom: 20px;
                margin-bottom: -20px;

                &:hover > ul {
                    display: block;
                }
            }

            &.profile {
                padding-left: 10px;

                a {
                    display: flex;

                    img {
                        margin-right: 10px;
                        width: 30px;
                        border-radius: 15px;
                    }
                }
            }

            & > ul {
                @media (max-width: 1200px) {
                    max-height: 0;
                    overflow: hidden;
                    transition: max-height 0.1s linear;

                    li {
                        padding: 13px 0;

                        &:first-child {
                            padding-top: 23px;
                        }

                        &:last-child {
                            padding-bottom: 0;
                        }
                    }
                }

                @media (min-width: 1201px) {
                    display: none;
                    position: absolute;
                    background: @header-mask;
                    top: calc(100% - 3px);
                    left: 0;
                    padding: 0 30px 10px !important;
                    -webkit-box-shadow: 0px 0px 8px 0px rgba(34, 60, 80, 0.2);
                    -moz-box-shadow: 0px 0px 8px 0px rgba(34, 60, 80, 0.2);
                    box-shadow: 0px 0px 8px 0px rgba(34, 60, 80, 0.2);

                    li {
                        letter-spacing: 0;
                        margin: 20px 0;
                        line-height: 22px;
                        width: 270px;
                    }
                }
            }

            & > .panel-more {
                cursor: auto;
                display: none;
                opacity: 0;
                position: fixed;
                top: 64px;
                margin-top: 15px;
                width: 800px;
                left: calc(50% - 400px);
                background: @header-mask;
                justify-content: space-around;
                padding: 50px 30px;
                transition: all 0.1s linear;

                &.active {
                    display: flex;

                    &.fade-in {
                        margin-top: 0;
                        opacity: 1;
                    }
                }

                ul {
                    flex: 1;
                    margin: 0 20px;

                    li {
                        padding: 5px 0;

                        h6 {
                            cursor: auto;
                            font-size: 18px;
                            font-weight: 600;
                            border-bottom: 1px white solid;
                            padding-bottom: 5px;
                            margin-bottom: 10px;
                        }

                        a:hover {
                            text-decoration: underline;
                        }
                    }
                }
            }

            &:has(.panel-more.active) {
                & > span > .fa-chevron-down {
                    transform: rotate(180deg);
                }
            }
        }
    }
}

main {
    #block-0 {
        background-color: @mask-black-transparent;
        color: white;
        position: relative;

        .menu, .square-0, .square-1 {
            border-width: 2px;
            border-color: white;
        }

        .menu {
            top: 30px;
            right: 30px;
            width: calc(100vw / 3 - 30px);
            min-height: calc(50% - 28px);
            border-left-style: solid;
            margin: 0;
            font-size: 18px;
            line-height: 30px;

            h4 {
                margin-top: 0;
            }

            ul {
                li {
                    padding: 3px 0;
                    cursor: pointer;

                    a {
                        color: inherit;
                    }
                }
            }
        }

        .square-0, .square-1 {
            h4 {
                .popup {
                    display: none;
                }
            }
        }

        @media (max-width: 600px) {
            padding-top: 70px;

            .menu {
                display: none;
            }

            .square-0, .square-1 {
                padding-bottom: 50px;

                h4 {
                    font-size: 25px;
                    line-height: 35px;
                }
            }

            .square-0 {
                border-bottom-style: solid;
                margin: 50px 10px;
            }

            .square-1 {
                text-align: right;
                margin: 50px 10px 0;
            }
        }

        @media (min-width: 601px) {
            width: 100%;
            height: 100vh;
            min-height: 700px;

            .menu, .square-0, .square-1 {
                position: absolute;
                padding: 15px;
            }

            .square-0, .square-1 {
                border-left-style: solid;

                h4 {
                    font-size: 35px;
                    line-height: 50px;
                    margin: 0;
                    display: inline-block;
                    position: relative;

                    .popup {
                        display: none;
                        position: absolute;
                        top: 10px;
                        left: calc(100% + 20px);
                        width: calc(100vw / 3);
                        font-size: initial;
                        line-height: initial;
                        font-family: 'Montserrat';

                    }
                }

                h4:hover .popup {
                    display: block;
                }
            }

            .square-0 {
                top: 30px;
                left: 30px;
                width: calc(100vw / 3.5 - 30px);
                height: calc(50vh + 100px);
                min-height: calc(700px * 0.55);
                border-bottom-style: solid;
            }

            .square-1 {
                top: 50%;
                height: 50%;
                left: calc(100vw / 3.5);
                width: calc(100vw / 2.62);
                border-top-style: solid;
            }
        }

        @media (min-width: 993px) {
            .square-0 {
                top: 30px;
                left: 30px;
                width: calc(100vw / 3 - 30px);
                height: calc(50vh + 100px);
                border-bottom-style: solid;
            }

            .square-1 {
                top: 50%;
                height: 50%;
                left: calc(100vw / 3);
                width: calc(100vw / 3);
                border-top-style: solid;
            }
        }
    }

    #block-1 {
        background-color: #f3f3f3;
        padding: 25px 0;

        & > .wrapper {
            & > h4 {
                margin-left: 9px;
                margin-bottom: 30px;

                @media (max-width: 600px) {
                    font-size: 30px;
                    text-align: center;
                }

                @media (min-width: 601px) {
                    font-size: 50px;
                    padding-left: 30px;
                }
            }

            & > .scroll {
                display: flex;
                overflow: scroll;

                .event {
                    padding: 10px;

                    @media (max-width: 600px) {
                        flex: 0 0 350px;
                    }

                    @media (min-width: 601px) {
                        flex: 0 0 450px;
                    }

                    .wrapper {
                        position: relative;
                        overflow: hidden;
                        border-radius: 5px;
                        -webkit-box-shadow: 0px 0px 8px 0px rgba(34, 60, 80, 0.2);
                        -moz-box-shadow: 0px 0px 8px 0px rgba(34, 60, 80, 0.2);
                        box-shadow: 0px 0px 8px 0px rgba(34, 60, 80, 0.2);

                        @media (max-width: 600px) {
                            padding: 15px;
                            height: 230px;
                        }

                        @media (min-width: 601px) {
                            padding: 15px 30px;
                            height: 280px;
                        }

                        .start-date-tie {
                            position: absolute;
                            background: red;
                            color: white;
                            top: 0;

                            @media (max-width: 600px) {
                                font-size: 15px;
                                line-height: 21px;
                                right: 15px;
                                padding: 6px;
                            }

                            @media (min-width: 601px) {
                                font-size: 18px;
                                line-height: 23px;
                                right: 20px;
                                padding: 8px;
                            }

                            span {
                                display: block;
                                text-transform: uppercase;
                                text-align: center;
                            }
                        }

                        .line-0 {
                            padding-right: 50px;
                            //display: flex;
                            align-items: center;
                            margin-bottom: 14px;
                            color: dimgrey;

                            .category {
                                font-weight: 700;
                            }


                            //.type {
                            //    padding: 10px;
                            //    text-align: center;
                            //    text-transform: uppercase;
                            //    border: 1px dimgrey solid;
                            //    border-radius: 2px;
                            //
                            //    span {
                            //        display: block;
                            //
                            //        @media (max-width: 600px) {
                            //            font-size: 12px;
                            //        }
                            //
                            //        @media (min-width: 601px) {
                            //            font-size: 15px;
                            //        }
                            //
                            //        &:nth-child(2) {
                            //            @media (max-width: 600px) {
                            //                font-size: 8px;
                            //            }
                            //
                            //            @media (min-width: 601px) {
                            //                font-size: 10px;
                            //            }
                            //        }
                            //    }
                            //}
                            //
                            //.kind {
                            //    text-transform: capitalize;
                            //
                            //    @media (max-width: 600px) {
                            //        margin-left: 10px;
                            //        font-size: 12px;
                            //    }
                            //
                            //    @media (min-width: 601px) {
                            //        margin-left: 20px;
                            //    }
                            //}
                        }

                        h6 {
                            margin: 0;
                            text-align: justify;
                            hyphens: auto;

                            @media (max-width: 600px) {
                                font-size: 15px;
                                line-height: 18px;
                                font-weight: 500;
                            }

                            @media (min-width: 601px) {
                                font-size: 18px;
                                line-height: 24px;
                            }
                        }

                        //.category {
                        //    font-weight: 700;
                        //    text-align: right;
                        //
                        //    @media (max-width: 600px) {
                        //        font-size: 12px;
                        //    }
                        //}

                        .description {
                            display: -webkit-box;
                            -webkit-box-orient: vertical;
                            overflow: hidden;
                            //text-align: justify;

                            @media (max-width: 600px) {
                                font-size: 13px;
                                -webkit-line-clamp: 3;
                            }

                            @media (min-width: 1201px) {
                                font-size: 13px;
                                -webkit-line-clamp: 5;
                            }

                            p {
                                display: inline;
                                hyphens: auto;
                            }
                        }

                        .address {
                            font-weight: 700;
                            position: absolute;
                            bottom: 20px;
                            margin: 0;

                            @media (max-width: 600px) {
                                font-size: 13px;
                            }
                        }
                    }
                }
            }
        }
    }
}

footer {
    background-color: @mask-black-transparent;
    color: white;

    @media (max-width: 992px) {
        padding: 30px 20px;
    }

    @media (min-width: 993px) {
        padding: 40px 9px;
        display: flex;
        justify-content: space-around;
    }

    .column {
        @media (max-width: 992px) {
            margin-bottom: 30px;
        }

        h6 {
            font-family: 'Yeseva One';
        }

        ul {
            li {
                margin: 10px 0;
            }
        }

        &.contacts {
            border: 1px white solid;
            border-radius: 3px;

            @media (max-width: 992px) {
                margin: 0 -10px;
                padding: 10px;
            }

            @media (min-width: 993px) {
                padding: 10px 20px;
                margin-top: -10px;
            }
        }
    }
}
