/* BACKGROUNDS */

#hero-section-left {
    min-width: 45rem;
    min-height: 50vh;
}

.logo {
    width: 32rem;
    max-width: 80vw;
}

#navlinks {
    display: none;
}

.light-bg {
    background: #0048B722;
}

.wide-card {
    display: flex;
    position: relative;
    margin-bottom: var(--space);
    background: var(--maincolor);
    align-items: center;
    transition: var(--quick);
    cursor: pointer;
    padding-right: 5rem;
    margin-bottom: 2rem;
    /* box-shadow: 0 1.5rem 5rem #0001; */
    /* background: var(--extracolor); */
}

.wide-card * {
    cursor: pointer;
}

.wide-card::after {
    content: '';
    font-family: 'iconset';
    color: var(--accentcolor);
    font-size: 4rem;
    right: 2rem;
    transition: var(--quick);
}

.wide-card::before {
    content: '';
    height: 100%;
    width: clamp(7.5rem, 17.5vw, 17.5rem);
    background: linear-gradient(90deg, var(--extracolor) 0%, #003991 100%);
    /* z-index: 0; */
    /* background: var(--extracolor); */
}

.wide-card:hover::before {
    width: 100%;
    /* z-index: 0; */
}

.wide-card:hover::after {
    color: var(--maincolor);
    right: 1.5rem;
}

.wide-card:hover>h4 {
    color: var(--maincolor);
    /* font-weight: 600; */
}

.wide-card>img {
    width: 17.5rem;
    width: clamp(7.5rem, 17.5vw, 17.5rem);
    /* background: linear-gradient(90deg,var(--extracolor) 0%, #003991 100%); */
}

.wide-card>h4 {
    margin: 0;
    margin-left: var(--space);
    /* font-size: 2.5rem; */
    transition: var(--quick);
    z-index: 1;
    line-height: 1.2;
    /* font-family: var(--paragraph); */
    text-transform: none;
    font-weight: 600;
    /* color: black; */
}

#quickcontact {
    position: fixed;
    display: flex;
    flex-flow: column;
    width: 6.5rem;
    height: 20rem;
    background: var(--extracolor);
    top: calc(50% - 10rem);
    /* transform: translateY(-50%); */
    right: 0rem;
    z-index: 99;
}



#quickcontact>button,
#quickcontact>a,
.adminPanel>button {
    width: 6.5rem;
    height: 6.5rem;
    font-size: 3.5rem;
    color: var(--lightcolor);
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: var(--maincolor);
}

#quickcontact>button>i,
#quickcontact>a>i {
    opacity: 1;
    transition: none;
}

i.close {
    padding: 1rem;
    color: var(--extracolor);
    z-index: 1;
    opacity: 1;
    display: block;
}

#quickcontact>button:hover,
#quickcontact>a:hover,
.adminPanel>button:hover {
    background: var(--accentcolor);
    /* color: var(--accentcolor); */
}

.quickPopup {
    position: fixed;
    padding: var(--space);
    background: var(--maincolor);
    z-index: 1000;
    right: 0;
    top: 50%;
    transform: translate(calc(100% + 10rem), -50%);
    border-bottom: var(--extracolor) 1rem solid;
    transition: var(--normal);
    box-shadow: var(--shadow);
}

.quickPopup.show {
    transform: translate(0, -50%);
}

.quickPopup a.big {
    font-family: var(--heading);
    text-transform: uppercase;
    font-size: 6rem;
    font-weight: 800;
    color: var(--extracolor);
    margin-bottom: 0;
    padding: 0;
    transition: var(--quick);
}

.quickPopup a:hover {
    color: var(--accentcolor);
}

.quickPopup form {
    width: 50rem;
    max-width: 90vw;
}













.herotextbox {
    position: absolute !important;
    top: 0;
    width: calc(100vw - (var(--space) * 2));
    max-width: 120rem;
    color: var(--maincolor);
    /* z-index: 1; */
    /* display: block; */
    /* height: 30rem!important; */
    z-index: 100;
}

.herotextbox>span {
    position: absolute;
    opacity: 0;
    z-index: 0;
    transition: var(--slow);
    transform: translateX(0);
    width: 100%;
}

#claimImages {
    background: black;
    z-index: 0;
    /* z-index: 1; */
    min-height: 50vh;
    min-width: 1rem;
    padding: 0;
    margin: 0;
}

.claimImg {
    opacity: 0;
    transition: opacity var(--slow);
}

.herotextbox>span.show {
    opacity: 1;
    z-index: 5;
    transform: translateX(-1rem);
}

.claimImg.show {
    opacity: 1;
}

#heroRow {
    background: var(--extracolor);
    background: linear-gradient(var(--extracolor) 30%, #003991 100%);
    height: 100vh;
}

/* #heroRow::after{
    content: url(../media/photos/blueprint.webp);
    left: -490px;
    mix-blend-mode: overlay;
    opacity: 0;
    opacity: 0.5;
} */

.herowrapper {
    background: linear-gradient(180deg, var(--darkopaque), transparent);
}

.dark-gradient-top::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 45%;
    width: 100%;
    background: linear-gradient(180deg, var(--darkopaque), transparent);
}

.dark-gradient-left::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 45%;
    background: linear-gradient(90deg, var(--darkopaque), transparent);
    z-index: 1;
}

.profile-picture {
    border-radius: 50%;
    width: 25rem;
    height: 25rem;
    margin-top: 15rem;
    margin-bottom: 3.5rem;
}

/* main {
    background-image: url(../media/misc/big-p.svg);
    background-repeat: no-repeat;
    background-attachment: fixed;
} */

.scrollhint {
    cursor: pointer;
    position: absolute;
    display: block;
    bottom: 0rem;
    z-index: 1;
    height: 12.5rem;
    width: 12.5rem;
}

.scrollhint::after,
.scrollhint::before {
    content: url(../media/misc/scrollhint-arrow.svg);
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    z-index: 1;
    height: 100%;
    width: 100%;
    opacity: 1;
    transition: var(--normal);
}

.scrollhint::before {
    content: url(../media/misc/scrollhint-caption.svg);
    opacity: .4;
    animation: spin 10s infinite linear;
}

.scrollhint:hover::before {
    opacity: 0.25;
}

@keyframes spin {
    from {
        transform: rotate(0deg)
    }

    to {
        transform: rotate(360deg)
    }
}

.accent {
    height: 2rem;
    width: 20rem;
    max-width: 50%;
    padding: 0;
    background-color: var(--accentcolor);
}

/* LOGO */

#hidden-letters,
#dot>circle {
    transition: var(--normal);
}

#logo:hover #hidden-letters {
    transform: translateY(2rem);
}

/* #logo:hover circle{
    transform:scale(1);
    fill:red
} */


/* .slide.active{
    transform: scale(1.5);
} */

.test {
    cursor: pointer;
    position: absolute;
    bottom: 2.5rem;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    background: var(--lightcolor);
    border-radius: 1rem;
    box-shadow: 0 0 5rem #0005;
    transition: var(--quick);
}

.test:hover {
    background: var(--accentcolor);
}

.fadeout {
    border-radius: 1rem;
    mask-image: linear-gradient(black 60%, transparent);
}

a.buttonB,
input[type="submit"].buttonB,
button.buttonB {
    bottom: 0rem;
    left: 50%;
    transform: translate(-50%, 0%);
    padding: 1rem 3rem;
    color: var(--accentcolor);
    /* position: absolute; */
    white-space: nowrap;
    background: var(--accentcolor);
    background: transparent;
    border: solid 0.5rem var(--accentcolor);
    border-radius: var(--radius-big);
}

.buttonB.typeC {
    position: relative;
    display: inline-block;
}

input[type="submit"].buttonB {
    position: relative;
    bottom: auto;
    left: auto;
    transform: none;
}

a.buttonB>i,
input[type="submit"].buttonB>i,
button.buttonB>i {
    padding-left: 1.5rem;
    transition: padding var(--quick);
}

a.buttonB:hover>i,
input[type="submit"].buttonB:hover>i,
button.buttonB:hover>i {
    padding-left: 3rem;
}

a.buttonB:hover,
input[type="submit"].buttonB:hover,
button.buttonB:hover {
    color: var(--maincolor);
    background: var(--accentcolor);
}

.triggerButton .buttonB {
    transform: translate(-50%, 20%);
    opacity: 0;
}

.triggerButton:hover .buttonB {
    transform: translate(-50%, 0%);
    opacity: 1;
}

.green {
    color: var(--accentcolor);
}








/* MISC */
/* MISC */
#mapOfGermany {
    position: relative;
}

#mapOfGermany circle {
    animation: pulse 700ms ease infinite alternate;
}

#mapOfGermany .circle {
    animation: pulse 700ms ease 200ms infinite alternate;
}

#pin {
    position: relative;
    transition: var(--quick);
    animation: pin 700ms ease 100ms infinite alternate;
}

#pin:hover {
    fill: var(--lightcolor);
}

@keyframes pin {
    from {
        transform: translateY(0);
    }

    to {
        transform: translateY(-0.5rem);
    }
}

@keyframes pulse {
    from {
        opacity: 1;
    }

    to {
        opacity: 0.5;
    }
}

#route {
    position: absolute;
    top: 31.5%;
    left: 9.5%;
    background: transparent;
    width: 20%;
    height: 16%;
    border-radius: 50%;
}


#wide-cta {
    background: var(--extracolor);
    padding: 0;
    margin: 0;
}

#wide-cta button {
    background: transparent;
    color: var(--maincolor);
    font-size: 3rem;
    font-family: var(--heading);
    font-weight: 600;
    padding: 4rem;
    hyphens: none;
    /* margin: 1rem; */
}

#linkedmap {
    width: 100%;
    height: 100%;
    position: absolute;
    box-sizing: border-box;
    top: 0;
    left: 0;
    cursor: pointer;
    z-index: 1;
}

.serviceWindow {
    display: flex;
    position: fixed;
    transform: translate(100vw, -50%);
    width: 100vw;
    height: 100vh;
    background: var(--maincolor);
    z-index: 110;
    top: 50%;
    /* transform: translate(10px, 10px); */
    /* flex-flow: column; */
    box-shadow: var(--shadow);
    transition: var(--slow);
    /* padding-bottom: 15rem; */
}

.serviceWindow>.row {
    overflow-y: scroll;
    margin: 0;
    padding-bottom: 8rem;
}

.serviceWindow.show {
    transform: translate(0vw, -50%);
}

.serviceWindow>i.close {
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-flow: column;
    left: 0;
    transform: translate(0, -50%);
    top: 50%;
    width: 5rem;
    height: 100vh;
    background: var(--extracolor);
    color: var(--maincolor);
    font-size: 3rem;
    transition: var(--quick);
    z-index: 100;
}

.serviceWindow>i.close:hover {
    background: var(--accentcolor);
    /* color: var(--extracolor); */
    /* width: 6rem; */
}

.serviceWindow>i.close>span {
    font-family: var(--heading);
    writing-mode: tb;
    font-weight: 800;
    font-size: 2rem;
    text-transform: uppercase;
    padding: 1rem;
    cursor: inherit;
}

@media(max-width: 1200px) {
    #quickcontact {
        top: auto;
        right: 1rem;
        bottom: 1rem;
        /* flex-flow: row; */
        /* width: 20rem; */
        /* height: 8rem; */
    }

    .serviceWindow>i.close {
        height: 8rem;
        /* width: var(--space); */
        top: auto;
        bottom: 0;
        transform: translate(0px, 0px);
        flex-flow: row;
        width: 100%;
        box-sizing: border-box;
        border-top: solid 0.5rem var(--maincolor);
    }

    .serviceWindow>i.close>span {
        writing-mode: lr;
    }

    .wide-card>h4{
        margin-left: 1.25rem;
    }

    .wide-card::after{
        font-size: 2rem;
        right: 0.5rem;
    }
}

@media (min-width: 2560px) {

    .logo {
        width: 55rem;
        top: 5rem;
    }
}

.description {
    /* padding-top: calc(var(--navheight) + var(--space)); */
}

.collapse>.caption>i{
    padding-right: 1rem;
}

.margin-bluetop{
    background-color: var(--extracolor);
    height: var(--navheight);
    width: 100vw;
}

.logPopUp{
    position: fixed;
    left: 50%;
    bottom: 0;
    transform: translate(-50%,100%);
    background: var(--maincolor);
    box-shadow: var(--shadow);
    padding: var(--space);
    width: 100rem;
    max-width: 100vw;
    z-index: 400;
    border-top: var(--border);
    transition: var(--normal);
}

.logPopUp.show{
    transform: translate(-50%,0);}

.logPopUp #yearsList{
    display: flex;
    flex-flow: column;
    /* width: 8rem; */
    /* text-align: center; */
    padding-left: 0;
}

#yearsList > button{
    text-align: center;
    margin: 0.5rem 0;
    background: var(--translucent);
}

#yearsList > button:hover, #yearsList > button.active{
    color: var(--maincolor);
    background: var(--accentcolor);
}

#yearsList > button.active,
.month.active{
    background: var(--extracolor)!important;
}

.month.active p{
    /* color: white; */
    mix-blend-mode: normal!important;
    opacity: 1!important;
}

.logDiagramm{
    /* position: relative; */
    display: flex!important;
    flex-flow: row!important;
    height: 55rem;
    background: var(--translucent);
    align-items: flex-end;
    /* overflow-y: scroll; */
    padding: 0!important;
    overflow-x: auto;
    /* height: 50%; */
    width: 100%;
}

.logDiagramm::-webkit-scrollbar-track{
    height: 5rem;
}

.logDiagramm div.month,
.logDiagramm div.day{
    width: auto;
    width: calc(100% / 12);
    height: 100%;
    min-width: 5rem;
    /* cursor: pointer; */
}

div.month,
div.month > p,
div.month > p > span,
div.month > div{
    cursor: pointer;
}

.logDiagramm div.bar{
    width: auto;
    background: var(--extracolor);
    width: calc(100% - .5rem);
    border-radius: .1rem .1rem 0 0;
    transition: var(--quick);
    position: absolute;
    bottom: 0;
    margin-left: .25rem;
    max-height: 100%;
}

.logDiagramm > div.month:hover,
.logDiagramm > div.day:hover{
    background: var(--translucent);
}

.logDiagramm > div.month:hover > .bar,
.logDiagramm > div.day:hover > .bar{
    background: var(--accentcolor);
}

.logDiagramm > div.month > p,
.logDiagramm > div.day > p{
    font-size: 1.5rem;
    /* writing-mode: tb; */
    opacity: .25;
    width: 100%;
    text-align: center;
    font-weight: 500;
    padding-top: .5rem;
    z-index: 100;
    position: relative;
    mix-blend-mode: difference;
    color: #fff;
}

.logDiagramm > div.month > p > span,
.logDiagramm > div.day > p > span{opacity: .5;font-weight: var(--p-fontweight);}

.logDiagramm > div.month:hover > p,
.logDiagramm > div.day:hover > p{
    opacity: 1;
}

.diagramms{
    position: relative;
    width: 80%;
    overflow: hidden;
}

#dayDiagramm.logDiagramm{
    /* top: 100%; */
    border-top: .5rem solid var(--extracolor);
    position: absolute;
    width: 100%;
    background: #f8f8f8;
    z-index: 100;
    transform: translate(0,100%);
    height: calc(100% - 3.25rem);
    bottom: 0;
    transition: var(--quick);
}
#dayDiagramm.logDiagramm.show{
    transform: translate(0,0);
}

.adminPanel {
    position: fixed;
    left: 50%;
    bottom: 0;
    width: auto;
    display: flex;
    transform: translate(-50%,0);
    background: var(--extracolor);
}

.adminPanel>button{
    width: auto;
    font-size: calc(var(--p-size) * 1rem);
    padding: 3rem;
}