/* General Setup*/
#wrapper {
    width: 100%;
}
#top.kleinkunst{
    background: #121212;
    color: #efefef;
    font-family: "mainFont";
}
#top.beratung{
    background: #efefef;
    font-family: "mainFont";
    color: #121212;
}
#top.kleinkunst .beratung{
    display: none;
}
#top.kleinkunst .kleinkunst{
    display: block;
}
#top.beratung .beratung{
    display: block;
}
#top.beratung .kleinkunst{
    display: none;
}




body .inside, 
div .inside,
footer .inside,
header .inside{
    /*width: var(--outer-width);*/
    margin: auto;
    position: relative;
    overflow: visible;
}
.contentWidth{
    width: var(--outer-width);
    margin: auto;
    position: relative;
}

header{
    width: 100%;
    position: fixed;
    top: 0px;
    z-index: 20000;
    padding: 5px;
    
}
#top.beratung header{
    background: #efefef;
    box-shadow: 0px 10px 50px rgba(18,18,18,0.2);
}
#top.kleinkunst header{
    background: #121212;
    box-shadow: 0px 10px 50px rgba(0,0,0,0.5);
}

#panorama {
    position: absolute;
    width: 100%;
    height: 600px;
    margin-top: calc(var(--pano-transition-height)*-1);
}
#top.beratung .panoTransition{
    position: relative;
    height: var(--pano-transition-height);
    min-height: var(--pano-transition-height);
    width: 100%;
    /* Standard syntax */
    background: linear-gradient(180deg, rgb(239, 239, 239) 0%, rgba(239, 239, 239, 0) 100%);
    z-index: 1000;
}
#top.kleinkunst .panoTransition{
    position: relative;
    height: var(--pano-transition-height);
    min-height: var(--pano-transition-height);
    width: 100%;
    background: rgb(18,18,18);
    background: linear-gradient(180deg, rgba(18,18,18,1) 0%, rgba(18,18,18,0) 100%);
    z-index: 1000;
}
.pnlm-about-msg {
    visibility: hidden;
    a {
        visibility: hidden;
    }
}

#mainSwitch {
    position: relative;
    margin: auto;
    margin-top: 10px;
    margin-bottom: 5px;
    margin-left: 5px;
    margin-right: 5px;
    width: 90px;
    height: 34px;
    border-radius: 17px;
    border: 1px solid rgba(0, 0, 0, 0.4);
    box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.4);
}

.logoContainer{
    height: 125px;
    width: 125px;
    margin: auto;
    margin-top: 150px;
    display: block;
    position: relative;
    margin-bottom: 50px;
}

figure,
figure img{
    height: 100%;
    width: auto;
    position: relative;
}

#personHighlight{
    margin: auto;
    margin-top: 150px;
    margin-bottom: -120px;
    height: 220px;
    border-radius: 110px;
    z-index: 10000;
    box-shadow: 0px 0px 50px rgba(18,18,18,0.7);
    backdrop-filter: blur(10px);
}
#personHighlight.kleinkunst{
    background-color: rgba(18,18,18,0.7);
    border: 1px solid rgba(36, 36, 36, 0.9);
}
#personHighlight.beratung{
    background-color: rgba(239,239,239,0.2);
    border: 1px solid rgba(239,239,239,0.9);
}
#personHighlight .portrait {
    height: 220px;
    width: auto;
    position: relative;
    float: left;
    border-radius: 100%;
    overflow: hidden;
    /*border: 3px solid #efefef;*/
    box-shadow: #222222 0px 5px 15px;
}
#kleinkunst.portrait {
    display: none;
    margin: 0px;
}
#personHighlight .content-text{
    position: relative;
    float: left;
    width: 28%;
    padding: 40px 20px;
    height: 180px;
}
#personHighlight div:nth-child(3),
#personHighlight div:nth-child(5){
    margin-left: 50px;
}
#personHighlight:after { 
    content: " "; 
    display: block;
    clear: both;
} 
.card{
    border-radius: 5px;
    backdrop-filter: blur(10px);
    padding: 10%;
    box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.4);
    height: 150px;
}
.card h2{
    margin-bottom: 30px;
}
.card img {
    position: absolute;
    width: auto;
    height: 100%;
    
    /* Center img in figure*/
    left: 50%;
    top: 50%;
    -webkit-transform:translate(-50%, -50%);
    -moz-transform:translate(-50%, -50%);
    -ms-transform:translate(-50%, -50%);
    -o-transform:translate(-50%, -50%);
    transform:translate(-50%, -50%);
}

.beratung .beratung,
.kleinkunst .kleinkunst{
    visibility: visible;
}
.kleinkunst .beratung,
.beratung .kleinkunst{
    visibility: hidden;
}

.card.kleinkunst{
    background-color: rgba(50, 50, 50, 0.7);
    border: 1px solid rgba(60,60,60,0.9);
}
.card.beratung{
    background-color: rgba(239,239,239,0.7);
    border: 1px solid rgba(239,239,239,0.9);
}

#offers{
    width: var(--outer-width);
    margin: auto;
    margin-top: 450px;
    position: relative;
    display: grid;

    grid-template-columns: auto auto auto;
    column-gap: 10px;
}
#offers .card{
    height: 260px;
    padding: 30px;
    margin-bottom: 15px;
}
#offers .beratung.logo{
    min-height: 260px;
}
#offers .card h2{
    margin-bottom: 15px;
}
#offers .card.logo{
    height: 100px;
    width: auto;
}

#offers .card.logo figure{
    height: auto;
    width: calc(100%-40px);
    padding: 20px;
    position: relative;
    float: left;
}
#offers .card.logo figure img{
    height: auto;
    width: 100%;
    position: relative;
    float: left;
    translate: 0 50%;
}

#offers:after { 
    content: " "; 
    display: block;
    clear: both;
} 

#work{
    width: var(--outer-width);
    margin: auto;
    margin-top: 60px;

    display: grid;
    grid-template-columns: 33% 33% 33%;
    /*grid-template-rows: 50px 1fr 1fr;*/
    column-gap: 10px;
    row-gap: 12px;
}
#work .card{
    height: 100%;
    padding: 0%;
}

#work .card{
    p, h1, h2, h3, ul{
        width: 80%;
        margin-left: 10%;
        margin-right: 10%;
    }

    h1, h2, h3{
        margin-top: 10%;
    }

}

.card:has(img) {
    padding: 5%;
    height: 85%;
    overflow: hidden;
}
.card img {
    z-index: 900;
}
#work figcaption {
    background-color: rgba(18,18,18,0.7);
    float: left;
    width: 60%;
    padding: 10px 10%;
    margin-left: 10%;
    z-index: 1000;
    border-radius: 25px;
    height: 20px;
    position: relative;
    margin-top: 135px;
    text-align: center;
    font-weight: 400;
}

#work div:nth-child(1),
#work div:nth-child(7){
    grid-column: 1 / span 3;
}
#aboutMe.card{
    grid-column: 3;
    grid-row: 2 / span 2;
    height: 100%;
    padding: 0%;
}
#aboutMe.card.beratung{
    background-color: rgba(18,18,18,0.7);
    border: 1px solid rgba(42, 42, 42, 0.6);
    color: rgba(239,239,239,1);
}
#aboutMe.card.kleinkunst{
    background-color: rgba(239,239,239,0.7);
    border: 1px solid rgba(239,239,239,0.6);
    color: rgba(18,18,18,1);
}

#contactForm{
    margin-top: 50px;
}
#contactForm .formbody{
    margin-top: 25px;
    display: grid;
    grid-template-columns: auto auto auto;
    grid-template-rows: 50px 50px 50px 50px 50px;
    column-gap: 10px;
    row-gap: 20px;
}
.widget {
    display: grid;
    grid-template-rows: 30% 70%;
    grid-template-columns: auto;
    row-gap: 7px;
}
.widget label {
    grid-row: 1;
}
.widget{
    input, select, submit, textarea, button {
        grid-row: 2;
        border-radius: 5px;
        padding: 10px 15px 7px 15px;
        border: 0px;
    }
    textarea {
        width: 100%; /* Takes 100% of the parent grid's width */
        height: 100%; /* Takes 100% of the parent grid's height */
        box-sizing: border-box; /* Ensure padding and border are included in the width and height */
        resize: none; /* Prevent users from resizing the textarea */
    }
}
.beratung .widget {
    input, select, submit, textarea {
        background-color: #E6E6E6;
        color: rgba(18,18,18,1);
        box-shadow: inset 0 0 5px rgba(42, 42, 42, 0.6);
    }
    button {
        background-color: rgba(18,18,18,0.7);
        border: 1px solid rgba(42, 42, 42, 0.6);
        color: rgba(239,239,239,1);
    }
}
.kleinkunst .widget {
    input, select, submit, textarea {
        background-color: #222222;
        color: rgba(239,239,239,1);
        box-shadow: inset 0 0 5px rgba(20, 20, 20, 0.8);
    }
    button {
        background-color: rgba(239,239,239,0.7);
        border: 1px solid rgba(239,239,239,0.6);
        color: rgba(18,18,18,1);
    }
}
.widget_anrede{
    grid-column: 1;
    grid-row: 1;
}
.widget_vorname{
    grid-column: 1;
    grid-row: 2;
}
.widget_nachname{
    grid-column: 1;
    grid-row: 3;
}
.widget_mail{
    grid-column: 1;
    grid-row: 4;
}
.widget_phone{
    grid-column: 1;
    grid-row: 5;
}
.widget_text{
    grid-column: 2 / span 2;
    grid-row: 1 / span 4;
}
.widget_submit{
    grid-column: 3;
    grid-row: 5;
}
#footer .contentWidth{
    border-top: 1px solid rgba(126, 126, 126, 0.4);
    text-align: center;
    padding: 20px;
    margin-top: 50px;
}

#legal{
    padding-top: 100px;
}


/* Responsive Layout */
@media screen  and (max-width: 1090px) {
    #top{
        width: 100%;
    }
    .contentWidth{
        /*background-color: blue;*/
        width: 90%;
    } 
    #offers{
        padding: 5%;
        width: 90%;
        margin: auto;
        display: grid;
        margin-top: 400px;
    
        grid-template-columns: 33% 33% 33%;
        column-gap: 10px;
    }
    #offers .card{
        height: 280px;
    } 
    #offers .beratung.logo{
        min-height: 280px;
    }

    #work{
        padding: 5%;
        width: 90%;
        margin: auto;
        display: grid;
        margin-top: 400px;
    
        grid-template-columns: 33% 33% 33%;
        column-gap: 10px;
    }
    #work{
        margin-top: 0px;
    }
    #work .card img {
        position: absolute;
        height: 100%;
        width: auto;
    }
}

@media screen  and (max-width: 960px) {
    #top{
        width: 100%;
    }
    .contentWidth{
        /*background-color: green;*/
        width: 92%;
    }  
    #personHighlight{
        margin: auto;
        margin-top: 150px;
        margin-bottom: -120px;
        /*height: 265px;*/
        height: auto;
        padding-bottom: 50px;
        border-radius: 60px;
        z-index: 10000;
        box-shadow: 0px 0px 50px rgba(18,18,18,0.7);
        backdrop-filter: blur(10px);
        display: flex;
        flex-wrap: wrap;
        padding-bottom: 20px;
    }
    #personHighlight .portrait {
        height: 120px;
        width: auto;
        position: relative;
        float: left;
    }
    #personHighlight .content-text{
        position: relative;
        float: left;
        width: 32%;
        padding: 20px 10px;
        /*height: 200px;*/

    }
    #personHighlight div:nth-child(3),
    #personHighlight div:nth-child(5){
        margin-left: 20px;
    }

    #contactForm{
        margin-top: 30px;
        margin-right: 5%;
        margin-left: 5%;
        width: 90%;
    }
    #contactForm .formbody{
        margin-top: 25px;
        
        display: grid;
        grid-template-columns: auto auto;
        grid-template-rows: 50px 50px 50px 50px 50px;
        column-gap: 10px;
        row-gap: 20px;
    }
    .widget {
        display: grid;
        grid-template-rows: calc(20px) calc(100% - 20px);
        grid-template-columns: auto;
        row-gap: 7px;
    }
    .widget label {
        grid-row: 1;
    }
    .widget{
        input, select, submit, textarea, button {
            grid-row: 2;
            border-radius: 5px;
            padding: 10px 15px 7px 15px;
            border: 0px;
        }
        textarea {
            width: 100%; /* Takes 100% of the parent grid's width */
            height: 100%; /* Takes 100% of the parent grid's height */
            box-sizing: border-box; /* Ensure padding and border are included in the width and height */
            resize: none; /* Prevent users from resizing the textarea */
        }
    }
    .beratung .widget {
        input, select, submit, textarea {
            background-color: #E6E6E6;
            color: rgba(18,18,18,1);
            box-shadow: inset 0 0 5px rgba(42, 42, 42, 0.6);
        }
        button {
            background-color: rgba(18,18,18,0.7);
            border: 1px solid rgba(42, 42, 42, 0.6);
            color: rgba(239,239,239,1);
        }
    }
    .kleinkunst .widget {
        input, select, submit, textarea {
            background-color: #222222;
            color: rgba(239,239,239,1);
            box-shadow: inset 0 0 5px rgba(20, 20, 20, 0.8);
        }
        button {
            background-color: rgba(239,239,239,0.7);
            border: 1px solid rgba(239,239,239,0.6);
            color: rgba(18,18,18,1);
        }
    }
    .widget_anrede{
        grid-column: 1 / span 2;
        grid-row: 1;
    }
    .widget_vorname{
        grid-column: 1 / span 2;
        grid-row: 2;
    }
    .widget_nachname{
        grid-column: 1 / span 2;
        grid-row: 3;
    }
    .widget_mail{
        grid-column: 1 / span 2;
        grid-row: 4;
    }
    .widget_phone{
        grid-column: 1 / span 2;
        grid-row: 5;
    }
    .widget_text{
        grid-column: 1 / span 2;
        grid-row: 6;
        height: 150px;
    }
    .widget_submit{
        grid-column: 2;
        grid-row: 7;
    }


    #offers, #work{
        grid-template-columns: auto;
        grid-template-rows: auto;
        column-gap: 10px;
        row-gap: 12px;
    }
    #work{
        margin-top: 0px;
    }
    #aboutMe.card{
        grid-row: 6;
        grid-column: 1 / 1;
    }
    #work div:nth-child(1),
    #work div:nth-child(7){
        grid-column: 1 / span 1;
    }
    #offers .card img {
        position: absolute;
        width: 100%;
        height: auto;
    }
    #work .card img {
        position: absolute;
        height: 100%;
        width: auto;
    }
    #offers .card{
        height: auto;
    } 
    #offers .card.kleinkunst{
        height: 280px;
        width: 280px;
        margin: auto;
    } 
    #work .card {
        height: auto;
        padding-bottom: 20px;
    }
    #work{
        margin-top: 0px;
    }
    
    #work .card {
        display: flex;
        flex-wrap: wrap;
        height: auto;
    }

}

@media screen  and (max-width: 570px) {
    #top{
        width: 100%;
    } 
    #personHighlight{
        margin: auto;
        margin-top: 150px;
        margin-bottom: -120px;
        border-radius: 60px;
        z-index: 10000;
        box-shadow: 0px 0px 50px rgba(18,18,18,0.7);
        backdrop-filter: blur(10px);
    }
    #personHighlight .portrait {
        height: 100px;
        width: auto;
        position: relative;
        float: left;
        margin: auto;
        margin-top: -50px;
    }
    #personHighlight .content-text{
        position: relative;
        float: left;
        width: 85%;
        padding: 10px 10px;
        height: auto;
    }
    #personHighlight div{
        margin-left: 20px;
    }
    #offers, #work{
        grid-template-columns: auto;
        grid-template-rows: auto;
        column-gap: 10px;
        row-gap: 12px;
    }

    #offers .card.logo {
        display: none;
    }
}
