
/**************************TEXT SELECTION***********************/
*:not(div)::selection {
    background: var(--systopic);
    color: #fff;
}

*:not(div)::-moz-selection {
    background: var(--systopic);
    color: #fff;
}

*:not(div)::-webkit-selection {
    background: var(--systopic);
    color: #fff;
}


/**************************HTML & BODY***********************/
html{
    font-size: 22px;
    height: calc(100% + 1px);
}

body, html {
    margin: 0 auto;
    width: 100%;
}

body {
    margin-top: -1px; /*margin collapse*/
    border-top: 1px solid; /*margin collapse*/
    margin-bottom: 2px;
    box-sizing: border-box;
    color: #000;
    background:#fff url('../img/animation.svg') no-repeat -5rem 110% / 25% auto;
    background-attachment: fixed;
    overflow-x: hidden;
    height: 100%;
}

/**************************HEADER***********************/
header {
    height: 3rem;
    padding:0;
    width:100%;
    position: fixed;
    top: 0;
    z-index: 11;
    margin: 0 auto;
    display:flex;
    flex-direction: row;
}

a.logo{
    padding: 1rem 2rem 0;

    & svg{
        height: 100%;
        width:auto;
        overflow: visible;
        transition: ease-in-out all .2s;

        & path{
            fill:var(--systopic);
        }
    }

    &:hover	path{
        fill:var(--highlight);
    }

}


body.openNav svg path,
body.openNav a.logo:hover svg path{
    fill:#fff;
}

body.openNav a.logo{
    height: 150%;
}



/**************************SECTION***********************/
section {
    padding:0 2rem;
    margin: 0 auto 0;
    width: 100%;
    max-width: var(--maxWidth);
    margin: 0 auto;
    position: relative;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

main{
    overflow-x: hidden;
}


/**************************BURGER***********************/
div.menu{
    width:2rem;
    cursor:pointer;
    margin-left: auto;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: content-box;
    padding: 1rem 2rem 0;
}

div.menu:before,
div.menu:after{
    content:'';
    background:var(--systopic);
    height:0.15rem;
    width:70%;
    display:block;
    transition: ease-in-out transform .2s;
}

div.menu:after{
    margin-top:.39rem;
    margin-left: auto;
    width:100%;
}

div.menu:hover:after,
div.menu:hover:before{
    background-color:var(--highlight);
}

body.openNav .menu:before{
    width:100%;
    transform: translateY(.15rem) rotate(45deg);
}

body.openNav .menu:after{
    width:100%;
    transform: translateY(-.39rem) rotate(-45deg);
}

body.openNav div.menu:before,
body.openNav div.menu:after{
    background:#fff;
}


/**************************NAVI***********************/
nav {
    position: fixed;
    left: 0;
    top:-100%;
    background:var(--highlight);
    padding:2rem;
    transition: ease-in-out all .4s;
    display:flex;
    flex-direction: column;
    z-index: 10;
    color:#fff;
    width:100%;
    right:0;
    display: flex;
    flex-direction: row;
    flex-wrap:wrap;

    & > div:first-child{
        align-self: end;
        display: flex;
        flex-direction: column;
        margin-bottom: .4rem;

        & a.mail{
            color:#fff;
            &:hover{
                color: #fff;
            }
        }

        & a.tel{
            color: #fff;
            &:hover{
                color: #fff;
            }
        }

    }

    & > ul.mainNavi{
        text-align: right;
        margin:2rem 0 0 auto;

        & li {
            & a{
                margin:.3rem 0;
                color:#fff;
                display:block;
                overflow:hidden;
                height:2.1rem;

                & span{
                    font-size: 1.5rem;
                    color:#fff;
                    display:block;
                    font-weight: 500;
                    height:2.1rem;
                    transition: ease-in-out .2s all;

                    &:first-child{
                        margin-top:-2rem;
                    }
                }

                &:hover span:first-child,
                    &:active span:first-child{
                    margin-top:0;
                }
            }

            &.selected a{
                text-decoration-thickness: 2px;
                text-decoration-line: underline;
            }
        }
    }

    & ul.secondNavi{
        margin:0;
        padding-top:1.5rem;
        display:flex;
        width:100%;
        flex: 0 0 100%;
        justify-content: end;

        & a{
            margin:0 0 0 .8rem;
            font-size: .8rem;
            font-weight: 500;
            color:#fff;
            height:auto;
        }
    }

}


a.logo:hover path{
    fill:var(--highlight);
}


a.logo:hover path{
    fill:var(--highlight);
}


body.openNav nav{
    top:0;
}

a.mail{
    font-size: 1.5rem;
    font-weight: 600;

    &:hover{
        color:var(--highlight);
    }
}

a.tel{
    font-size: .85rem;
    font-weight: 500;
    &:hover{
        color:var(--highlight);
    }
}


/**************************TAGS***********************/
.tagFilter {
    & div.tags{
        display: flex;
        border-bottom: 2px solid #d6d6d6;
        margin-top: 1.5rem;
        padding-bottom: .85rem;
        flex-wrap: wrap;

        & a.tag{
            margin:0;
            font-size: 1.4rem;
            color:var(--gray);
            margin-right: 2.2rem;
            margin-top:.5rem;
            font-weight: 600;
            cursor: pointer;
            white-space: nowrap;

            &.active{
                color:#000;
            }
        }
    }
}

/**************************SCROLL ANI DIRTY HACK***********************/
.scrollAni{
    will-change: transform;

    &[data-direction="right"]{
        transform:translateX(var(--aniPosition));
        &[data-max="10"]{
            transform:translateX(var(--aniPosition)) translate3d(10%,0,0);
        }
    }

    &[data-direction="left"]{
        transform:translateX(var(--aniPosition));
        &[data-max="10"]{
            transform:translateX(var(--aniPosition)) translate3d(-10%,0,0);
        }
    }

    &[data-direction="top"]{
        transform:translateY(var(--aniPosition));
    }

    &[data-direction="bottom"]{
        transform:translateY(var(--aniPosition));
    }
}


/**************************CUSTOM VIDEO PLAYERK***********************/
.player {
    width: 100%;
    position: relative;
    overflow: hidden;
    line-height: 0;
    display:flex;
    font-family: 'Font Awesome 6 Pro';
    font-weight: 400;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;

    &::before{
        opacity: 1;
        visibility: visible;
        content: "\f04b";
        font-size: 8rem;
        position: absolute;
        pointer-events: none;
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        cursor:pointer;
    }

    &:hover::before{
        color:var(--highlight);
    }

    & video {
        justify-self: center;
        -webkit-touch-callout: none; /* Disable iOS long press menu */
        -webkit-user-select: none; /* Disable text selection */
        user-select: none;
        outline: none;
        -webkit-tap-highlight-color: transparent; /* Remove tap highlight */
    }

    &.noControls::before{
        display:none;
    }

}


.player:fullscreen {
    max-width: none;
    width: 100%;
}

.player:-webkit-full-screen {
    max-width: none;
    width: 100%;
}


.player button {
    padding:0;
    color:#000;
    width:1.5rem;
    height:1.5rem;
    margin-right: .8rem;
    background:none;
    font-weight: 900;
    font-size:1rem;
    cursor: pointer;

    &.mute{
        margin-left: .8rem;
    }

    &.fullscreen{
        margin-right: 0;
    }

    &:hover{
        color:var(--highlight);
    }

}

.player .slider {
    width: 1rem;
    height: 3rem;
}

.player .controls {
    display: flex;
    position: absolute;
    background:var(--systopic);
    bottom: 0;
    width: 100%;
    transition: transform ease-in-out 0.5s;
    flex-wrap: nowrap;
    padding:.25rem .5rem;
}

.player.playing{
    & .controls{
        transform:translateY(3rem);
    }

    &:hover .controls{
        transform:translateY(0);
    }

    &::before{
        opacity: 0;
        visibility: hidden;
    }
}

.progress {
    position: relative;
    display: flex;
    flex-basis: 100%;
    height: .5rem;
    margin-top:.5rem;
    background: rgba(0, 0, 0, 0.3);
    cursor: ew-resize;

    &:hover .progress__filled{
        background: var(--highlight);
    }
}

.progress__filled {
    width: 50%;
    background: #000;
    flex: 0;
    flex-basis: 0%;
}


/**************************AIRPORT DEPATURE ANI***********************/
.boardAni {
	display: flex;
	flex-direction: column;
	gap: 20px; /* Abstand zwischen mehreren h1 */
	align-items: flex-start; /* oder center, wenn du es zentriert willst */
    position: relative;

}


.boardAni h1:nth-child(2) {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	pointer-events: none;
}