@font-face {
    font-family: 'Neutraface2Text'; /* Gewünschter Name */
    src: url('font/Neutraface2Text.eot');
    /* für IE9 */
    src: /* für IE6-IE8 */ url('font/Neutraface2Text.woff') format('woff'),
        /* für moderne Browser */ url('font/Neutraface2Text.ttf') format('truetype');
}

/* work-sans-regular - latin */
@font-face {
    font-family: 'Work Sans';
    font-style: normal;
    font-weight: 400;
    src: local(''),
    url('font/work-sans-v18-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
    url('font/work-sans-v18-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

html {
    height: -webkit-fill-available;
}

body {
    background-color: #FFFFFF;
    overflow: hidden;
    margin: 0;

    min-height: 100vh;
    min-height: -webkit-fill-available;
}

.button {
    width: 60px;
    height: 60px;
    position: absolute;
    border-radius: 100%;
    border: 3px solid rgba(196, 114, 85, 1);
    left: 2em;
    margin: 30px;
    bottom: 0px;
}

#thumb {
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 998;
    background: url(../gfx/thumb.jpg);
    background-size: cover;
    background-position: center;

}

/* ToolTip*/

#toolTip {
    transition: all .1s ease-in-out;
    position: fixed;
    background-color: #9bbacf !important;
    border-radius: 5px;
    padding: 5px;
    user-select: none;
    line-height: 1.5rem;
    font-family: 'Neutraface2Text', sans-serif;
    font-size: 20px;
    color: black;
    display: none;
}


/* Renderingbilder Style*/

#renderingDiv {
    color: white;
    position: fixed;
    top: 0;
    left: -100vw;
    width: 100vw;
    height: 100vh;
    height: -webkit-fill-available;
    transition: all 1s ease-in-out;
    background-color: rgb(0, 0, 0, 0.8);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 999;
}

#renderingImage {
    position: absolute;
    bottom: 45px;
    width: 100vw;
    text-align: center;
}

#renderingImage div {
    display: inline-block;
    margin: 0 15px;

}


/* Grundrissbilder anzeigen */
.floorplan {
    color: white;
    position: fixed;
    top: 0;
    left: -100vw;
    width: 100vw;
    height: 100vh;
    height: -webkit-fill-available;
    transition: all 1s ease-in-out;
    background-color: rgb(0, 0, 0, 0.8);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 999;
}

#toggle-plod-button {
    display: flex;
    align-items: center;
    color: #fff;
    background-color: #c47255;
    padding: 5px 10px;
    font-size: 0.9em;
    border-radius: 8px;
    font-family: 'Neutraface2Text', sans-serif;
    box-shadow: 10px 10px 15px silver;
    position: absolute;
    cursor: pointer;
    bottom: 2.5em;
    left: 1em;
}

#toggle-plod-button:hover {
    background-color: #ae664d;
}

#toggle-plod-button img {
    width: 37px;
    height: auto;
}

@media only screen and (max-width: 800px) {
    .floorplan {
        background-size: calc(100vw - 100px);
    }
}

/*.house_9OG {
    background-image: url('../gfx/grundrisse/og_10.png')
}

.house_8OG {
    background-image: url('../gfx/grundrisse/og_9.png')
}
.house_7OG {
    background-image: url('../gfx/grundrisse/og_8.png')
}
.house_6OG {
    background-image: url('../gfx/grundrisse/og_7.png')
}
.house_5OG {
    background-image: url('../gfx/grundrisse/og_6.png')
}
.house_4OG {
    background-image: url('../gfx/grundrisse/og_5.png')
}

.house_3OG {
    background-image: url('../gfx/grundrisse/og_4.png')
}
.house_2OG {
    background-image: url('../gfx/grundrisse/og_3.png')
}
.house_1OG {
    background-image: url('../gfx/grundrisse/og_2.png')
}
.house_0OG {
    background-image: url('../gfx/grundrisse/og_1.png')
}
.house_EG {
    background-image: url('../gfx/grundrisse/eg.png')
}*/

.floorPlanText {
    width: 260px;
    margin: 0;
    position: absolute;
    right: 50px;
    top: 56px;
}

@media only screen and (min-width: 1400px) {
    .floorPlanText {
        right: calc(calc(25vw - 350px) + 50px);
    }
}


.floorplancomment {
    font-family: 'Neutraface2Text';
    width: 740px;
    position: relative;
    top: 10px;
}

/* floorplanChanger */

.floorplanChanger {
    position: absolute;
    bottom: 45px;
    width: 100vw;
    text-align: center;
}

.floorplanChanger div {
    display: inline-block;
    margin: 0 15px;
    /*color:  var(--col1);*/
}


@media only screen and (max-width: 800px) {
    .floorplanChanger div p {
        bottom: -40px;
        margin: 0;
        width: 50px;
    }
}

.closer {
    display: inline-block;
    width: 40px;
    height: 40px;
    background: url('../gfx/closer.png');
    position: absolute;
    right: 0px;
    top: 0px;
    font-size: 0;
    line-height: 0;
    text-indent: -9999px;
    background-size: cover;
    border: #333333 3px solid;
    border-radius: 100%;
    background-color: #333333;
}

.closer:hover {
    cursor: pointer;
}

/*für die Loading-Page*/
#loader-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
}

#loader-wrapper h1 {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 1001;
    font-size: 70px;
    /*color: #965c44;*/
    color: #9bbacf;
    align-content: center;
    align-items: center;
    margin: auto;
    justify-content: center;
    text-align: center;
    margin-top: 30px;
    font-family: 'Neutraface2Text';
    font-weight: 70;
    margin-top: 80px;
}

#loader {
    display: block;
    position: relative;
    left: 50%;
    top: 50%;
    width: 150px;
    height: 150px;
    margin: -75px 0 0 -75px;
    border-radius: 50%;
    border: 3px solid transparent;
    /*border-top-color: #fdc271;*/
    border-top-color: #0d6e5f;
    -webkit-animation: spin 2s linear infinite; /* Chrome, Opera 15+, Safari 5+ */
    animation: spin 2s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */

    z-index: 1001;
}

#loader:before {
    content: "";
    position: absolute;
    top: 5px;
    left: 5px;
    right: 5px;
    bottom: 5px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: #e2c81c;
    /*border-top-color: #ef58a1;*/
    -webkit-animation: spin 3s linear infinite; /* Chrome, Opera 15+, Safari 5+ */
    animation: spin 3s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */
}

#loader:after {
    content: "";
    position: absolute;
    top: 15px;
    left: 15px;
    right: 15px;
    bottom: 15px;
    border-radius: 50%;
    border: 3px solid transparent;
    border-top-color: #8a3947;
    /*border-top-color: #32c3e4;*/
    -webkit-animation: spin 1.5s linear infinite; /* Chrome, Opera 15+, Safari 5+ */
    animation: spin 1.5s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */
}

@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg); /* Chrome, Opera 15+, Safari 3.1+ */
        -ms-transform: rotate(0deg); /* IE 9 */
        transform: rotate(0deg); /* Firefox 16+, IE 10+, Opera */
    }

    100% {
        -webkit-transform: rotate(360deg); /* Chrome, Opera 15+, Safari 3.1+ */
        -ms-transform: rotate(360deg); /* IE 9 */
        transform: rotate(360deg); /* Firefox 16+, IE 10+, Opera */
    }
}

@keyframes spin {
    0% {
        -webkit-transform: rotate(0deg); /* Chrome, Opera 15+, Safari 3.1+ */
        -ms-transform: rotate(0deg); /* IE 9 */
        transform: rotate(0deg); /* Firefox 16+, IE 10+, Opera */
    }

    100% {
        -webkit-transform: rotate(360deg); /* Chrome, Opera 15+, Safari 3.1+ */
        -ms-transform: rotate(360deg); /* IE 9 */
        transform: rotate(360deg); /* Firefox 16+, IE 10+, Opera */
    }
}

#loader-wrapper .loader-section {
    position: fixed;
    top: 0;
    width: 51%;
    height: 100%;
    background-image: url("Background-Image.jpg");
    background-color: #18181e;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    /*background-size: cover;*/
    z-index: 1000;
    -webkit-transform: translateX(0); /* Chrome, Opera 15+, Safari 3.1+ */
    -ms-transform: translateX(0); /* IE 9 */
    transform: translateX(0); /* Firefox 16+, IE 10+, Opera */
}

#loader-wrapper .loader-section.section-left {
    left: 0;
}

#loader-wrapper .loader-section.section-right {
    right: 0;
}

/* Loaded */
.loaded #loader-wrapper .loader-section.section-left {
    -webkit-transform: translateX(-100%); /* Chrome, Opera 15+, Safari 3.1+ */
    -ms-transform: translateX(-100%); /* IE 9 */
    transform: translateX(-100%); /* Firefox 16+, IE 10+, Opera */

    -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
    transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
}

.loaded #loader-wrapper .loader-section.section-right {
    -webkit-transform: translateX(100%); /* Chrome, Opera 15+, Safari 3.1+ */
    -ms-transform: translateX(100%); /* IE 9 */
    transform: translateX(100%); /* Firefox 16+, IE 10+, Opera */

    -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
    transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
}

.loaded #loader {
    opacity: 0;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

.loaded #loader-wrapper {
    visibility: hidden;
    -webkit-transform: translateY(-100%); /* Chrome, Opera 15+, Safari 3.1+ */
    -ms-transform: translateY(-100%); /* IE 9 */
    transform: translateY(-100%); /* Firefox 16+, IE 10+, Opera */

    -webkit-transition: all 0.3s 1s ease-out;
    transition: all 0.3s 1s ease-out;
}

/* JavaScript Turned Off */
.no-js #loader-wrapper {
    display: none;
}

.no-js h1 {
    color: #222222;
}

/* Messecity Button */

.messecityButton {
    background-color: #c47255;
    padding: 15px 15px;
    text-align: center;
    text-decoration: none;
    font-size: 0.9em;
    border-radius: 8px;
    font-family: 'Neutraface2Text', sans-serif;
    box-shadow: 10px 10px 15px silver;
    position: absolute;
    bottom: 2.5em;
    left: 13em;
    margin: 0 auto;
    border: none;
    color: #fff;
}

.messecityButton:hover {
    background-color: #ae664d;
}

/* Buttons Reset */

.divReset {
    position: absolute;
    z-index: 900;
    width: 20em;
    float: right;
    right: 2em;
    bottom: 5.5em;
}

.resetButton {
    color: #fff;
    background-color: #c47255;
    padding: 15px 30px;
    text-align: center;
    text-decoration: none;
    font-size: 0.9em;
    border-radius: 8px;
    font-family: 'Neutraface2Text', sans-serif;
    box-shadow: 10px 10px 15px silver;
    position: absolute;
    margin: 0 auto;
    border: none;
}

.resetButton:hover {
    background-color: #ae664d;
}

/* Buttons fuer Hitboxen und Grundrisse*/
.switchBottom {
    color: #fff;
    border: none;
    padding: 15px 45px;
    text-align: center;
    text-decoration: none;
    font-size: 0.9em;
    border-radius: 8px;
    margin: 15 auto;
    font-family: 'Neutraface2Text', sans-serif;
    box-shadow: 10px 10px 15px silver;
    background-color: #c47255;
}

.switchBottom:hover {
    background-color: #ae664d;
}

.checkboxdiv {
    display: inline-block;
    margin: 0 auto;
    overflow: hidden;
    padding-right: 20px;
    transition: max-height 0.2s ease-out;
}

.checkboxdiv.small-screen {
    max-height: 0;
    float: right;
    overflow-y: auto;
    margin-top: 10px;
}

.checkboxdiv.active {
    padding-bottom: 10px;
}

#mietflaechenText p {
    font-family: 'Neutraface2Text', sans-serif;
    font-size: 20px;
    text-align: center;
}

label.container, label.AllHitboxcontainer {

    display: block;
    width: 140px;
    max-width: 140px;
    /*#c4c8b0*/
    background-color: #9bbacf;
    border: none;
    padding: 8px 35px;
    text-align: left;
    text-decoration: none;
    font-size: 0.9em;
    border-radius: 8px;
    font-family: 'Neutraface2Text', sans-serif;
}

#containerColor {
    /*#b0b39f;*/
    background-color: #a8cae0;
}

label.container:hover, label.AllHitboxcontainer:hover {
    /*#8e917e*/
    background-color: #7793a6 !important;
}

label.container p, label.AllHitboxcontainer p {
    display: inline-block;
    margin-left: 20px;
    margin-top: 2px;
    margin-bottom: 2px;
}

#checkboxSytle1 {
    padding: 25px;
    text-align: center;
    align-content: center;
}


.container, .AllHitboxcontainer {
    position: relative;
    padding-left: 35px;
    margin-bottom: 12px;
    cursor: pointer;
    font-size: 22px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.3);
}

.AllHitboxcontainer {
    margin-top: 50px;
}


/* Hide the browser's default checkbox */
.container input, .AllHitboxcontainer input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

/* Create a custom checkbox */
.checkmark {
    position: absolute;
    border-radius: 4px;
    background-color: #eee;
    margin-left: 25px;
    top: 8px;
    left: 0;
    height: 20px;
    width: 20px;
}

/* On mouse-over, add a grey background color */
.container:hover input ~ .checkmark, .AllHitboxcontainer:hover input ~ .checkmark {
    background-color: #ccc;
}

/* When the checkbox is checked, add a blue background */
.container input:checked ~ .checkmark, .AllHitboxcontainer input:checked ~ .checkmark {
    background-color: #2196F3;
}

/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

/* Show the checkmark when checked */
.container input:checked ~ .checkmark:after, .AllHitboxcontainer input:checked ~ .checkmark:after {
    display: block;
}


/* Style the checkmark/indicator */
.container .checkmark:after, .AllHitboxcontainer .checkmark:after {
    left: 6px;
    top: 2px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}


.divBottom {
    display: block;
    position: absolute;
    z-index: 900;
    /*text-align: center;*/
    width: 20em;
    float: right;
    right: 2em;
    top: 5%;
}

/* closer Renderings*/

.closerRendering {
    display: inline-block;
    width: 40px;
    height: 40px;
    background: url('../gfx/closer.png');
    position: absolute;
    right: 2%;
    top: 3%;
    font-size: 0;
    line-height: 0;
    text-indent: -9999px;
    background-size: cover;
    border: #333333 3px solid;
    border-radius: 100%;
    background-color: #333333;
}

.closerRendering:hover {
    cursor: pointer;
}


/*ÜBERNOMMEN AUS TESTVERSION*/
#layoutLinkHolder {
    top: 113px;
}

.layoutLink {
    font-size: 50px;
    font-family: 'Neutraface2Text', sans-serif;
    padding: 2px 40px 2px 5px;
    /*height: 30px;*/
    margin: 0;
    margin-top: 5px;
    color: #965c44;
    font-weight: bold;
    background: url('../gfx/Arrow_floorplan.png') no-repeat 100% 11px;
    margin-left: 70px;
}

.layoutLink.highlighted {
    color: #bbbbbb;
    font-weight: normal;
    background: rgba(0, 0, 0, 0);
}

/* Collapsable stuff */

/* Plus Minus animation */
.collapsible {
    float: right;
    cursor: pointer;
    color: #ecf0f1;
    background: #c47255;
    box-shadow: 10px 10px 15px silver;
    border-radius: 8px;
    width: 50px;
    height: 50px;
    border: 0;
    font-size: 1.5em;
    position: relative;
    transition: .3s;
}

.collapsible:hover {
    background-color: #ae664d;
    transition: .3s;
}

.collapsible span {
    position: absolute;
    transition: 300ms;
    background: white;
    border-radius: 2px;
}

/* Create the "+" shape by positioning the spans absolutely */
.collapsible span:first-child {
    top: 25%;
    bottom: 25%;
    width: 10%;
    left: 45%;
}

.collapsible span:last-child {
    left: 25%;
    right: 25%;
    height: 10%;
    top: 45%;
}

/* Morph the shape when the button is hovered over */
.collapsible.active span {
    transform: rotate(90deg);
}

.collapsible.active span:last-child {
    left: 50%;
    right: 50%;
}

/* Responsive */
/* Tablets and small laptops */
@media (max-width: 1400px) {
    .button {
        left: 30px;
        bottom: 50px;
        margin: 0;
    }

    .messecityButton {
        left: 190px;
        bottom: 60px;
    }

    #toggle-plod-button {
        left: 15px;
        bottom: 60px;
    }

    .divReset {
        right: 0;
        bottom: 0;
    }

    .resetButton {
        right: 30px;
        bottom: 60px;
    }

    #loader-wrapper h1 {
        font-size: 50px;
    }

    .layoutLink {
        font-size: 35px;
        margin-left: 0;
    }

    .divBottom {
        top: 60px;
        right: 30px;
    }

    .switchBottom {
        margin: 2px auto;
    }

    #layoutLinkHolder {
        top: 60px;
        left: 30px;
    }

    #toolTip {
        /*display: none !important;*/
    }
}

/* Phones */
@media (max-width: 600px) {
    #layoutLinkHolder {
        top: 0px;
        left: 50%;
        transform: translate(-50%, 0);
    }

    .divBottom {
        top: 70px;
        right: 15px;
    }

    .resetButton {
        right: 15px;
        bottom: 30px;
    }

    .messecityButton {
        left: 155px;
        bottom: 30px;
        max-width: 100px;
    }

    #toggle-plod-button {
        left: 24px;
        bottom: 30px;
        max-width: 100px;
        height: 55px;
    }

    .button {
        width: 55px;
        height: 55px;
        left: 15px;
        bottom: 30px;
    }

    .divBottom {
        width: 93%;
    }

    .divReset {
        max-width: 100px;
    }

    #toolTip {
        font-size: 16px;
    }

    #loader-wrapper h1 {
        font-size: 32px;
    }
}

@media (min-width: 480px) and (max-width: 560px) {
    .divBottom {
        width: 20em;
    }
}

/* Please rotate your device functionality */
.phone {
    height: 50px;
    width: 100px;
    border: 4px solid #000;
    border-radius: 10px;
    animation: rotate 1.5s ease-in-out infinite alternate;
    display: none;
    margin: auto;
    margin-bottom: 0;
}

.message {
    color: rgb(0, 0, 0);
    font-size: 24px;
    margin: auto;
    font-weight: 700;
    display: none;
}

.please-rotate {
    background: #fff;
    width: 100%;
    height: 100%;
    z-index: 999999;
    pointer-events: none;
    position: absolute;
    display: none;
    flex-flow: column;
}

@keyframes rotate {
    0% {
        transform: rotate(0deg)
    }
    50% {
        transform: rotate(-90deg)
    }
    100% {
        transform: rotate(-90deg)
    }
}

@media only screen and (max-device-height: 450px) and (orientation: landscape) {
    .phone, .message, .please-rotate {
        display: flex;
    }
}

@media all and (device-width: 1024px) and (device-height: 768px) and (orientation: landscape) {
    .phone, .message, .please-rotate {
        display: none;
    }
}
