/*Imports*/

@font-face {
    font-family: 'Charis';
    font-weight: 400;
    src: url(assets/fonts/CharisSIL-Regular.ttf);
}

@font-face {
    font-family: 'TikTokSans';
    font-weight: 400;
    src: url(assets/fonts/TikTokSans-Regular.ttf);
}

/*Clean*/

* {
    box-sizing: border-box;
    font-family: 'TikTokSans';
    line-height: 1.6;
    font-weight: 400;
    text-decoration: none;
    color: #1a1a1a;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    transition: all 0.5s;
}

head {
    display: none;
}

body, html {
    border: 0;
    padding: 0;
    margin: 0;
    justify-content: center;
    width: 100%;
    scroll-behavior: smooth;
    overflow-x: hidden;
}

/*Fonts*/

html, a, p {
    font-size: 15px;
}

h1, h2, h3, h4, h5, h6, .hl, .menu-item span {
    font-family: 'Charis';
    font-size: 25px;
    line-height: 1.2;
    width: 100%;
}

.sl, #menu .current {
    font-family: 'TikTokSans';
    font-size: 17px;
    width: 100%;
    margin-top: 10px;
}

.branding {
    font-size: 19px;
}

@media only screen and (min-width: 1200px){

    html, a, p {
        font-size: 18px;
    }

    #intro-sec .hl {
        font-size: 70px;
        width: 100%;
    }

    h1, .content-bg .solo-txt .hl {
        font-size: 45px;
    }

    h2, h3, h2.hl, h3.hl {
        font-size: 30px;
    }

    .sl {
        font-size: 24px;
    }

    .branding {
        font-size: 24px;
    }

    .content-bg .solo-txt p, #menu-icon p {
        font-size: 19px;
    }

}

/*Farbswitch - aktuell Green als Fallback*/

.green .sl, .green #menu .current, .green #intro-sec p, .green #intro-sec .hl, .green .content-bg p, .green .content-bg .hl, .green #menu-icon, .green .list-wrapper a.item p,
.sl, #menu .current, #intro-sec p, #intro-sec .hl, .content-bg p, .content-bg .hl, #menu-icon {
    color: #B1B57D;
}

.green #menu-icon .icon-wrap .menu-icon-path, .green #menu-icon:hover p, .green .more-cta:hover p, .green .textlink:hover,
#menu-icon .icon-wrap .menu-icon-path, #menu-icon:hover p, .more-cta:hover p, .textlink:hover {
    border-color: #B1B57D;
}

.green .logopath, .green .menu-icon-path, .green .more-cta svg polygon, .green .btn svg path,
.logopath, .menu-icon-path, .more-cta svg polygon, .btn svg path {
    fill: #B1B57D;
}

.green #intro-sec, .green .content-bg, .green .menu-bg-col,
#intro-sec, .content-bg {
    background-color: #EAE7D6;
}

.red #intro-sec p, .red .content-bg p, .red #menu-icon {
    color: #C7ACAC;
}

.red .content-bg .hl, .red #intro-sec .hl {
    color: #E7CECE;
}

.red .sl, .red #menu .current, .red .list-wrapper a.item p {
    color: #643B4C;
}

.red #menu-icon .icon-wrap .menu-icon-path, .red #menu-icon:hover p, .red .more-cta:hover p {
    border-color: #C7ACAC;
}

.red .textlink:hover {
    border-color: #643B4C;
}

.red .logopath, .red .menu-icon-path, .red .more-cta svg polygon {
    fill: #C7ACAC;
}

.red .btn svg path {
    fill: #643B4C;
}

.red #intro-sec, .red .content-bg, .red .menu-bg-col {
    background-color: #643B4C;
}

.blue #intro-sec p, .blue .content-bg p, .blue #menu-icon {
    color: #ACBDC7;
}

.blue .content-bg .hl, .blue #intro-sec .hl {
    color: #CADADE;
}

.blue .sl, .blue #menu .current, .blue .list-wrapper a.item p {
    color: #3B4A65;
}

.blue #menu-icon .icon-wrap .menu-icon-path, .blue #menu-icon:hover p, .blue .more-cta:hover p {
    border-color: #ACBDC7;
}

.blue .textlink:hover {
    border-color: #3B4A65;
}

.blue .logopath, .blue .menu-icon-path, .blue .more-cta svg polygon {
    fill: #ACBDC7;
}

.blue .btn svg path {
    fill: #3B4A65;
}

.blue #intro-sec, .blue .content-bg, .blue .menu-bg-col {
    background-color: #3B4A65;
}

.green #logo {
    background-image: url('assets/green-kunstanell-logo.svg');
}
.blue #logo {
    background-image: url('assets/blue-kunstanell-logo.svg');
}
.red #logo {
    background-image: url('assets/red-kunstanell-logo.svg');
}


/*Animations*/

@keyframes softfade {
    0% {
        opacity: 0;
    }
    20% {
        opacity: 1;
    }
    80% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

@keyframes appear {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}


.arrow-icon-path {
    opacity: 0;
    animation: softfade 5s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}
.arrow-icon-path.a2 {
    animation-delay: 0.3s;
}
.arrow-icon-path.a3 {
    animation-delay: 0.6s;
}

/* Animation Intro-sec Fade

#intro-sec .cnt .hl, #intro-sec .cnt p {
    opacity: 0;
    animation: appear 1s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}

#intro-sec .cnt .hl {
    animation-delay: 0.1s;
}

#intro-sec .cnt p {
    animation-delay: 0.3s;
}

.more-cta {
    opacity: 0;
    animation: appear 0.7s;
    animation-delay: 0.7s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}

*/

#menu-icon .icon-wrap {
    flex-direction: column;
    gap: 8px;
    align-items: flex-end;
    justify-content: center;
}

#menu-icon .icon-wrap .menu-icon-path {
    border-bottom: 2px solid;
    transition: all 0.5s;
}

#menu-icon .icon-wrap .menu-icon-path.a1 {
    width: 23px;
}

#menu-icon .icon-wrap .menu-icon-path.a2 {
    width: 30px;
}

#menu-icon .icon-wrap .menu-icon-path.a3 {
    width: 14px;
}

#menu-icon:hover .menu-icon-path.a1, #menu-icon:hover .menu-icon-path.a3 {
    width: 30px;
} 

#menu-icon p {
    margin-top: 2px;
    border-bottom: 2px solid transparent;
    line-height: 19px;
}

#menu-icon:hover p {
    margin-right: 5px;
}

.more-cta p, .textlink {
    margin-top: 2px;
    border-bottom: 2px solid transparent;
    line-height: 1.1;
}

/*Menü-Styling*/

#menu {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    z-index: 99;
    padding: 20px;
    flex-direction: column;
    justify-content: space-around;
    align-content: flex-start;
    box-shadow: 10px 10px 10px 10px rgba(0, 0, 0, 0.15);
    opacity: 1;
}

#menu.closed {
    right: -100vw;
    opacity: 0.5;
    z-index: 0;
}

#menu-close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 30px;
    cursor: pointer;
}


#menu .branding {
    margin-bottom: 5vh;
}

#menu .legals {
    margin-top: 5vh;
}

.menu-item {
    padding: 5px 0 5px 10px;
    border-left: 1px solid #1a1a1a;
    max-width: 700px;
    gap: 5px;
    background-color: #fff;
}

.menu-item:hover {
    background-color: #f5f5f5;
}

 @media only screen and (min-width: 1200px){ 

#menu {
    width: 90%;
    padding: 40px;
}
    
#menu .branding, #menu .current, #menu .list-wrapper, #menu .legals {
    width: 60%;
}

#menu .branding {
    margin-bottom: 10vh;
}

#menu .legals {
    margin-top: 10vh;
}

.menu-item {
    padding: 15px 20px;}

#menu-close {
    top: 40px;
    right: 40px;
}

 }

/*Layout M*/

#intro-sec, .content-clean, .content-bg  {
    justify-content: center;
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
}

.content-clean, .content-bg  {
    margin-bottom: 50px;
}

#intro-sec  {
    margin-bottom: 40px;
}

.content-clean.no-space {
    margin-bottom: 0;
}
 
#intro-sec .content, footer, .txt-div, .solo-txt {
    width: 100%;
    max-width: 1440px;
}

#intro-sec {
    height: 85vh;
    position: relative;
    z-index: 4;
    padding-top: 170px;
    padding-bottom: 50px;
}

#start {
    padding-top: 20px;
}


#intro-sec .content {
    justify-content: center;
    align-content: space-between;
    align-items: flex-start;
}

#menu-icon {
    position: absolute;
    top: 40px;
    right: 20px;
    gap: 10px;
    cursor: pointer;
}

#menu-icon svg {
    width: 30px;
}

#logo {
    width: 180px;
    height: 85px;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}

#intro-sec .content .cnt {
    gap: 20px;
    width: 100%;
    flex-direction: column;
    text-align: center;
    align-items: center;
}

#intro-sec .content .cnt .hl {
    width: auto;
}

.more-cta {
    gap: 10px;
    justify-content: center;
}

.more-cta svg {
    width: 20px;
}

.content-bg .more-cta svg {
    width: 30px;
}


.txt-div, .txt-div .txt, .solo-txt {
    gap: 20px;
}

.txt-div .img {
    width: 100vw;
    height: 500px;
    object-fit: cover;
    background-color: #ccc;
    margin-left: -20px;
    margin-right: -20px;
}

.content-bg {
    padding-top: 50px;
    padding-bottom: 50px;
}

.content-bg .solo-txt {
    justify-content: center;
    text-align: center;
}

.content-bg .solo-txt .hl {
    width: auto;
}

.content-bg .column {
    padding: 20px 0;
    gap: 20px;
}

.btn {
    margin-bottom: 30px;
    flex-direction: column;
    gap: 5px;
}

.btn svg {
    opacity: 1;
    width: 150px;
    transition: all 0.5s;
}

.list-wrapper {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 20px;
    min-width: 35%;
}

.list-wrapper .item {
    gap: 10px;
}

.list-wrapper .item span {
    padding: 0 10px 0 5px;
    border-bottom: 1px dotted #aaa;
}

footer {
    padding: 20px 20px;
    border-top: 1px solid #1a1a1a;
    flex-direction: column;
    gap: 20px;
}

.legals {
    gap: 10px;
}

.to-top-btn {
    background-color: #f5f5f5;
    background-image: url(assets/to-top.svg);
    background-size: 30px 30px;
    background-position: center;
    background-repeat: no-repeat;
    width: 40px;
    height: 40px;
    position: fixed;
    z-index: 3;
    right: 5px;
    bottom: 60px;
    transform: rotate(0);
}

    .menu-bg-col {
    position: absolute; }

/*Layout D*/

@media only screen and (min-width: 1200px){

    #intro-sec, .content-clean, .content-bg  {
        padding-left: 40px;
        padding-right: 40px;
        flex-wrap: nowrap;
    }

    .content-clean, .content-bg  {
    margin-bottom: 140px;
}

#intro-sec  {
    margin-bottom: 120px;
}

    
    #intro-sec {
        padding-top: 10vh;
        padding-bottom: 90px;
        height: calc(100vh - 50px);
    }


    #intro-sec .content {
        justify-content: space-between;
    }

    #intro-sec .content .cnt {
    align-items: flex-start;
}

    #menu-icon {
        position: relative;
        top: 0;
        right: 0;
    }



    .menu-bg-col {
    right: 40px;
    bottom: 140px;
    width: calc(40% - 40px);
    height: calc(100% - 300px);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

    #logo {
        width: 250px;
        height: 118px;
    }

    #intro-sec .content .cnt {
        justify-content: flex-start;
        text-align: left;
        gap: 50px;
        padding-right: calc(100% - 680px);
    }

    #intro-sec .more-cta {
    justify-content: flex-start;
}

    #about #intro-sec .content .cnt, #neues #intro-sec .content .cnt, #design #intro-sec .content .cnt, #impressum #intro-sec .content .cnt, #datenschutz #intro-sec .content .cnt {
        padding-right: calc(100% - 900px);
    }

    #intro-sec .content .more-cta {
        width: 100%;
    }

    .txt-div, .txt-div .txt {
        gap: 50px;
        justify-content: space-between;
        align-content: flex-start;
    }

    .txt-div .txt {
        width: 680px;
    }

    .txt-div .img {
        width: calc(100% - 700px);
        max-width: 550px;
        height: 580px;
        object-fit: cover;
        margin-left: 0;
        margin-right: -40px;
    }

    .solo-txt {
        max-width: 750px;
        gap: 50px;
    }

    .content-bg {
        padding-bottom: 90px;
        padding-top: 90px;
    }

    .content-bg .column {
        margin-top: -90px;
        margin-bottom: -90px;
        padding: 90px 50px;
        max-width: 800px;
        gap: 50px;
    }

    .content-bg .column.col-l {
        border-right: 5px solid #fff;
    }
    .content-bg .column.col-r {
        border-left: 5px solid #fff;
    }

    footer {
        justify-content: space-between;
        align-items: center;
        padding-left: 0;
        padding-right: 0;
        flex-direction: row;
    }

    .btn svg {
        opacity: 0;
        width: 200px;
    }

    .btn:hover svg, .btn.on svg {
        opacity: 1;
        transform: rotate(0deg);
    }

    .btn.on:hover svg {
        transform: rotate(3deg);
    }

    .btn.on:hover svg path {
        fill: #333;
    }

    .to-top-btn:hover {
    transform: rotate(10deg);
    }

    .mobile {
        display: none;
    }

    a {
        cursor: pointer;
    }

    #home #kontakt .txt-div.div-r {
    padding-left: calc(12% + 40px);
}

#home #kontakt img {
    width: 12%;
    position: absolute;
    margin-left: calc(-12% - 40px);
}


}

/*Mobile Hideaways*/

@media only screen and (max-width: 1199px) {
    .desktop {
        display: none;
    }
    #menu .current {
        font-size: 15px;
    }
}