@font-face {
  font-family: 'FontAwesome';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("../fonts/fontawesome-webfont.eot");
  src: url("../fonts/fontawesome-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/fontawesome-webfont.woff2") format("woff2"), url("../fonts/fontawesome-webfont.woff") format("woff"), url("../fonts/fontawesome-webfont.ttf") format("truetype"), url("../fonts/fontawesome-webfont.svg#fontawesome") format("svg");
}
/* DISABLE ELEMENTOR STUFF */
table.ipe-liste tbody>tr:nth-child(odd)>td,
table.ipe-liste tbody>tr:nth-child(odd)>th {
    background-color:unset;
}

/* FROTNEND ERROR LOGS */
.ipe-error {
    background-color: #ffdddd;
    border: 2px solid #ff4949;
    padding: 5px 10px;
}

/* GENERAL CSS */
.noscroll {
    overflow: hidden;
    min-height: 100vh;
    /*position: fixed;*/
}

.no-line-height {
    line-height: 0;
}

.display-none,
body .display-none {
    display: none;
}

.fakescrollbar {
    border-right: #f1f1f1 17px solid;
    border-right-width: var(--sbw);
}

.fakescrollbar .popup-wrapper {
    padding-right: 17px; /*TODO:VAR*/
}

/* MÆGLERPORTAL */
.mp_display_none {
    display: none;
}

.floatright {
    float:right;
}

.boligoversigt.textoverlay.hidden {
	visibility: hidden;
}

#BOP-wrapper {
    overflow-x: hidden;
    overflow-y: hidden;
}

.oversigtswrapper {
	position: relative;
}

.oversigtswrapper .overlay {
	background: none;
}

.oversigtswrapper img {
	width: inherit;
}

.oversigtswrapper label {
	color: inherit;
}
/*
.sidebox-wrapper img {
	max-height:36vw;
	max-width:23vw;
}*/


#mapster_wrap_0 {
	overflow: hidden;
}

#mapster_wrap_0 img {
	max-width:none;
}

.table-data-container {
	position: relative;
}

.sidebox-data-container {
	position: absolute;
    top: 0px;
    bottom: 0px;
    left: 50%;
    right: 0px;
    pointer-events: none;
    z-index: 105;
    overflow: hidden;
}

.ipe-list-wrapper .sidebox-data-container {
    left: 0px;
}

.sidebox-data-container.active {
    margin-left: 0%;
    pointer-events: auto;
}

.sidebox-data-container .sidebox-wrapper {
    position: -webkit-sticky; /* Safari */
	position: sticky;
    top: 0px;
    height: 100%;
    width: 100%;
    background-color: white;
    margin-left: 100%;
    transition: margin 0.5s ease-in-out;
    overflow:auto;
    overflow:hidden auto;
    overflow-y:hidden;
    overflow-y:auto;
}

.sidebox-wrapper .flex-wrapper .bolig-table {
    min-width: 88%;
}

.sidebox-data-container.active .sidebox-wrapper {
    margin-left: 0%;
    /*padding-bottom:20px;*/
}

.sidebox-data-container .sidebox-wrapper .contentwrapper {
	position: relative;
    transition: opacity 0.35s linear;
    opacity: 0.05;
    padding: 20px 0 20px 20px;
    /*min-height: 85%;*/
    /* CENTER VERTICALLY */
    max-height: 100%;
    top: 50%;
    transform: translateY(-50%);
}

.sidebox-data-container.loaded .sidebox-wrapper .contentwrapper {
    opacity: 1;
}

/*.sidebox-data-container .sidebox-wrapper .contentwrapper td.value {
    text-align: right;
}*/

@media screen AND (max-width:767px) {
    .sidebox-data-container .sidebox-wrapper .contentwrapper {
        padding: 10px;
    }
    .sidebox-data-container .sidebox-wrapper .contentwrapper h2 {
        margin-right: 40px;
        font-size: 1.7em;
    }    
}


/* FILTERS */

.filter-button.togglefilters {
	display: none;
}

.filters .filter-button {
	position: relative;
    border: 1px solid black;
    padding: 1em;
    max-width:25%;
	cursor: pointer;
    display: inline-block;
    width: 19.9%;
    margin: 0.5vw 0.4vw;
}

.filters .filter-button .text {
    margin:0px;
}

.filters .filter-button .button-content {
	padding: 0em 1em 0.5em;
	display: none;
    position: absolute;
    left: -1px;
    right: -1px;
    top: 100%;
    z-index: 3;
   /* background: white;
    border: 1px solid black;
    border-top: white;*/
}

.filters .filter-button.active .button-content {
	display: block;
}

.filters .filter-button .checkbox {
	display: block;
	margin: 0em 0.5em 0.5em;
}


.tableheader .filter-arrow {
	display: inline-block;
	border: solid black;
	border-width: 0 3px 3px 0;
	padding: 3px;
	position: absolute;
	opacity: 0.3;
}

.tableheader .filter-arrow::after {
    content:"";
    display: inline-block;
    border: solid black;    /*VAR*/
    border-width: 0 3px 3px 0;
    padding: 3px;
    position: absolute;
    margin: -3px 0px 0px -3px;
    transition: transform 0.3s ease-in-out;
}

.tableheader .filter-button .filter-arrow {
	position: absolute;
	top:1.5em;
	right:1.5em;
	transition: transform 0.3s ease-in-out;
}

.tableheader .filter-button .filter-arrow.down {
	-webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.tableheader .filter-button.active .filter-arrow.down {
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

.tableheader .filter-button .filter-arrow.up {
	-webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
}

@media (hover: hover) {
    .tableheader .filter-button:hover .filter-arrow.down {
    	opacity: 1;
    }
}

.tableheader .filter-button.active .filter-arrow.down {
    -webkit-transform: rotate(45deg) translate(-3px, -3px);
    transform: rotate(45deg) translate(-3px, -3px);
}

.tableheader .filter-button.active .filter-arrow.down::after {
    -webkit-transform: translate(6px, 6px) rotate(-180deg);
    transform: translate(6px, 6px) rotate(-180deg);
}

.button-content .right {
	position: absolute;
    right: 1.2em;
    display: inline-block;
}

.button-content .right.areal{
    right: 2.8em;
}

.filters .filter-button.clickable {
	background-size: contain;
    text-align: right;
}

/*.filters .filter-button.clickable span {
	visibility: hidden;
}*/

/*.filters .filter-button.clickable {
	background-color: grey;
}*/

.filters .filter-button.clickable::after {
	content: "";
	display: block;
	position: absolute;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
	/*background:url("../images/reset-icon.png");*/
	background-size: contain;
	background-repeat: no-repeat;
	opacity: 0.4;
	transition: opacity 0.3s linear;
}

@media (hover: hover) {
    .filters .filter-button.clickable:hover::after {
    	opacity: 0.8;
    }
}

/* Checkboxes in filters */
.filters input[type="checkbox"] {
    display: inline-block;
    background-color: #fff; /*VAR*/
    border: 1px solid #bbb; /*VAR*/
    line-height: 0;
    width: 16px; /*VAR*/
    min-width: 16px; /*VAR*/
    height: 16px; /*VAR*/
    margin: -3px 10px 0 0;
    outline: 0;
    text-align: center;
    vertical-align: middle;
    clear: none;
    cursor: pointer;
    -webkit-appearance: none;
    -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
    -webkit-transition: 0.05s border-color ease-in-out;
    -moz-transition: 0.05s border-color ease-in-out;
    -ms-transition: 0.05s border-color ease-in-out;
    -o-transition: 0.05s border-color ease-in-out;
    transition: 0.05s border-color ease-in-out;
}

.filters input[type=checkbox]:checked:before {
    float: left;
    display: inline-block;
    vertical-align: middle;
    color: #bbb; /*VAR*/
    font-size: 16px; /*VAR*/
    width: 16px; /*VAR*/
    line-height: 16px; /*VAR*/
    font-family: 'FontAwesome';
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.filters input[type=checkbox]:checked:before {
    content: '\f00c';
    margin-bottom: -1px;
    transform: translate(-1px, -1px); /*VAR*/
}

/* END: FILTERS */



/* IMAGEMAP - TOGGLEBOXES */
.ipe-toggleboxes {
    display: flex;
    justify-content: center;
    align-items: center;
}

.ipe-togglebox {
    margin:10px 30px;
}

.ipe-togglebox input[type="checkbox"] {
    display: inline-block;
    position: relative;
    background-color: #DDD; /*VAR BG Color*/
    border: 1px solid #bbb; /*VAR TODO: SIZE  Border Color*/
    border-radius: 0px;  /*VAR TODO BORDER RadIUS */
    line-height: 0;
    width: 25px; /*VAR TODO SIZE */
    min-width: 25px; /*VAR TODO*/
    height: 25px; /*VAR TODO*/
    margin: -3px 10px 0 0;
    outline: 0;
    text-align: center;
    vertical-align: middle;
    clear: none;
    cursor: pointer;
    -webkit-appearance: none;
    -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
    -webkit-transition: 0.05s border-color ease-in-out;
    -moz-transition: 0.05s border-color ease-in-out;
    -ms-transition: 0.05s border-color ease-in-out;
    -o-transition: 0.05s border-color ease-in-out;
    transition: 0.05s border-color ease-in-out;
}

.ipe-togglebox input[type=checkbox]::before {
    content: "";
    background-color: #888; /*VAR - Main Color*/
    display: block;
    position: absolute;
    top:0;
    bottom:0;
    left:0;
    right:0;
    margin:3px; /*VAR*/
    border-radius: 0px;  /*CALC TODO BORDER RADIUS minus MARGIN (MIN 0) */
}

.ipe-togglebox input[type=checkbox]:checked::after {
    content: '';
    background-image: url(../graphics/symbols/check-regular.svg); /*VAR*/
    transform: translate(0, -1px);
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 50%; /*VAR*/
}

@media screen AND (max-width: 767px) {
    .ipe-toggleboxes {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
    .ipe-togglebox {
        margin: 10px;
    }
}

/* EXPANDABLE TOGGLEBOXES  */
.ipe-expandable-toggleboxes {
    display: flex;
    flex-direction: row;
    justify-content: center;
}
.ipe-expandable-toggleboxes .ipe-toggleboxes {
    justify-content: flex-start;
    flex-direction: column;
    width: 100%;
    max-width: 9999px;
}
.ipe-expandable-toggleboxes .ipe-togglebox {
    position: relative;
    width: 100%;
    margin: 0;
    padding:  0;
    border-bottom: 1px solid grey;      /*VAR*/
}
.ipe-expandable-toggleboxes .ipe-tickbox,
.ipe-expandable-toggleboxes .ipe-plus {
    margin: 15px !important;
}
.ipe-expandable-toggleboxes .ipe-tb-card {
    padding: 15px 15px 15px 60px;
}
.ipe-togglebox.active {
    background: antiquewhite;           /*VAR*/
}
.ipe-tb-expandable-content-wrapper {
    height: auto;
    max-height: 0;
    transition: max-height 0.5s ease-in-out;
    overflow: hidden;
}
.ipe-toggleboxes-left {
    padding-right: 10px;
}
.ipe-toggleboxes-right {
    padding-left: 10px;
}
.ipe-expandable-toggleboxes .ipe-tb-card-field-navn {
    font-weight: bold;
}
.ipe-expandable-toggleboxes .ipe-label {
    text-decoration: underline;
    font-weight: bold;
}

.ipe-expandable-toggleboxes .ipe-tb-card.highlight {
    background-color: lightblue;  /*VAR*/
}
@media screen AND (hover:hover) {
    .ipe-expandable-toggleboxes .ipe-tb-card:hover {
        background-color: lightblue;  /*VAR*/
    }
}

@media screen AND (max-width: 767px){
    .ipe-expandable-toggleboxes {
        flex-wrap: wrap;
    }
    .ipe-toggleboxes-left,
    .ipe-toggleboxes-right {
        padding: 0;
    }
}


.ipe-plus {
    position: relative;
    cursor: pointer;
    width: 24px;
    height: 24px;
}
.ipe-plus.ipe-plus-float-right {
    position: absolute;
    right: 24px;
}
.ipe-plus::before,
.ipe-plus::after {
    content: "";
    width: 20px;
    height: 4px;
    background: black;
    display: inline-block;  
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    bottom: 0;
    transition: transform .25s ease-in-out;
}
.ipe-plus::after {
    content: "";
    transform: rotate(90deg);
}
.ipe-plus.active::after {
    content: "";
    transform: rotate(180deg);
}
@media screen AND (hover:hover) {
    .ipe-plus:hover::before {
        transform: rotate(90deg);
    }
    .ipe-plus:hover::after {
        transform: rotate(180deg);
    }
    .ipe-plus.active:hover::before {
        transform: rotate(180deg);
    }
    .ipe-plus.active:hover::after {
        transform: rotate(360deg);
    }
}



/* END: TOGGLEBOXES */


.boliginfo-content .downloads {
    margin-top: 20px;
    padding-bottom: 20px;
}

.downloads .button.elementor-button.elementor-size-sm {
    margin: 1% 1% 0 0;
    width: 48%;
    padding: 12px;
}

.sidebox-wrapper h5 {
    padding-right: 46px;
}

#lightbox-boligoversigt-container h5 {
    margin-right: 40px;
}


/* SLIDER */

/*

TODO:
 * Re-enable pointer events.
 * Listen for mouse over
 * Move slider closest to curser to the top
 * How does this work on mobile?
 * Link handles to track marker

*/


.slidecontainer {
	position: relative;
	width: 100%;
	height: 2em;
}

.slidecontainer .slider {
	position: absolute;
	margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 100%;
    height: 0;
    /*  pointer-events: none; /* Prevent mouse interaction on the range slider. It didn't work in edge, so I fixed it in JS */
	-webkit-appearance: none;
	width: 100%;
	height: 2em;
	border-radius: 5px;
	outline: none;
	opacity: 1;
	-webkit-transition: .2s;
	transition: opacity .2s;
    display: block;
	background: #FFFFFF;
	background: #00000000;
	background-color:transparent;
}
.filter-wrapper input[type=range]::-webkit-slider-thumb {
    border: none;
}
.filter-wrapper input[type=range]::-moz-range-thumb {
    border: none;
}
.filter-wrapper input[type=range]::-ms-thumb {
    border: none;
}
.filter-wrapper input[type=checkbox]:after,
.filter-wrapper input[type=checkbox]:checked:after {
    display: none;
}
.filter-wrapper input[type=checkbox]:focus {
    outline: none;
}

@media (hover: hover) {
    .slidecontainer .slider:hover {
    	opacity: 1;
    }
}

.slidecontainer .slider.max{
	background: #FFFFFF;
	background: #00000000;
	background-color:transparent;
}


.slidecontainer .track {
    display: block;
    position: absolute;
    height: 0.5em;
    background-color: #7d7d7d40;
    width: 100%;
    z-index: 0;
    margin: 0.75em 0em;
    border: 0px solid #7d7d7d;
    opacity: 0.5;
    border-radius: 1em;
    pointer-events: none;
}

.slidecontainer .marker {
    background-color: #13aeef;
    width: auto;
    height: 100%;
    margin: 0px;
    margin-left: 0%;
    margin-right: 0%;
}

.slidecontainer .slider::-webkit-slider-runnable-track {
    cursor: default;
    height: 1px; /* Required for Samsung internet based browsers */
    outline: 0;
    -webkit-appearance: none;
}

.slidecontainer .slider::-moz-range-track {
    cursor: default;
    -moz-appearance: none;
    outline: 0;
    height: 1px;
}

.slidecontainer .slider::-ms-track {
    color:transparent;
}

.slidecontainer .slider::-webkit-slider-thumb {
	position: relative;
	-webkit-appearance: none;
	appearance: none;
	width: 15px;
	height: 15px;
    transform:translateY(-50%);
	border-radius: 50%;
	background: #13aeef;
	cursor: pointer;
	cursor: grab;
	z-index: 100;
	pointer-events: auto; /* Re-enable pointer events so the handles can be used. */
	bottom:0px;

}

.slidecontainer .slider.min::-webkit-slider-thumb {
	right:0.25em;

}

.slidecontainer .slider.max::-webkit-slider-thumb {
	left:0.25em;

}

.slidecontainer .slider::-moz-range-thumb {
	position: relative;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	background: #13aeef;
	cursor: pointer;
	cursor: grab;
	z-index: 100;
	pointer-events: auto; /* Re-enable pointer events so the handles can be used. */
}
/*
.slider.max::-webkit-slider-thumb {
	bottom:1.5em;
}

.slider.max::-moz-range-thumb {
	bottom:1.5em;
}
   */ 

.slidecontainer .price-slider {
	position: relative;
    text-align: left;
    height: .8em;
    background: #ffffff;
    border-radius: 3px;
    border: 1px solid #c5c5c5;
    margin: 0.5em 0em 1.5em;
}
.slidecontainer .selected-range {
	background: #e9e9e9;
    border-radius: 3px;
    position: absolute;
    z-index: 1;
    font-size: .7em;
    display: block;
    border: 0;
    top: 0;
    height: 100%;


    left: 18.8%;
    width: 52%;
}

.slidecontainer .slider-handle {
    border-radius: 3px;
    touch-action: none;
    position: absolute;
    z-index: 2;
    width: 1.2em;
    height: 1.2em;
    cursor: grab;
    top: -.3em;
    margin-left: -.6em;
    border: 1px solid #c5c5c5;
    background: #f6f6f6;
    font-weight: normal;
    color: #454545;

}


/* LARGER SLIDER THUMBS ON MOBILE */
@media screen and (orientation: portrait) {
	.slidecontainer .slider::-webkit-slider-thumb {
		width: 25px;
		height: 25px;
	}

	.slidecontainer .slider::-moz-range-thumb {
		width: 25px;
		height: 25px;
	}
}



/* FILTER MODULE (2.6) */

.ipe-filter-sliders{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.ipe-filter-slider{
    flex:0 1 45%;
    margin-bottom:20px;

    display: flex;
    align-items: start;
    flex-direction: column;
}
.ipe-filter-slider-content {
    width: 100%;
}

.ipe-filter-slider.label-on-side{
    align-items: center;
    flex-direction: row;
}
.ipe-filter-slider.label-on-side .ipe-filter-label {
    flex: 0 0 8em;
}
.ipe-filter-slider.label-on-side .ipe-filter-slider-content {
    flex: 1 1 auto;
}

.ipe-values-container {
    display: flex;
    align-content: space-between;
}

.ipe-value-container {
    flex: 1 1 auto;
}

.ipe-value-container.ipe-value-max {
    text-align: right;
}

.ipe-filter-buttons {
    display: flex;
}
.ipe-filter-buttons .ipe-flex-child-empty {
    flex: 1 1 auto;
}
.ipe-filter-buttons .ipe-flex-child {
    flex: 0 0 10em;
}
.ipe-filter-button {
    text-align: center;
    background-color: black;
    color:white;
    padding: 8px;
    margin: 8px;
    cursor: pointer;
}
.ipe-filter-button.ipe-reset {
    background-color: unset;
    color:grey;
    text-align: right;
    margin: 0;
    padding: 0;
}
.ipe-reset-filters {
    display: none;
}
.ipe-reset-filters.active {
    display: block;
}
@media screen AND (hover:hover){
    .ipe-filter-button:hover {
        text-decoration: underline;
    }
}

@media screen AND (max-width:767px){
    .ipe-filter-slider {
        flex: 0 0 100%;
    }
}
/* HIDE-ANIMATION */
.ipe-filter-hide-container {
    transition: max-height 200ms ease-in-out, margin 200ms ease-in-out;
    overflow: hidden;
}
.ipe-filter-hide-container.ipe-filter-hidden {
    max-height: 0 !important;
    margin: 0 !important;
}

.ipe-filter-dim-container {
    transition: opacity 200ms ease-in-out, background-color 200ms ease-in-out;
}
.ipe-filter-dim-container.ipe-filter-dim {
    opacity: 0.3;
    background-color: white;
    order: 2;
}





/* REGULATE PRICE FONT SIZE */

@media screen and (min-width: 1476px) and (max-width: 2160px) and (orientation: landscape) {
    .filter-design-1 .filter-button.price .button-content,
    .filter-design-2 .filter-button.price .button-content {
        font-size: 0.62vw;
     }
 }

@media screen and (orientation: portrait) {
    .filter-design-1 .filter-button.price .button-content,
    .filter-design-2 .filter-button.price .button-content {
        font-size: 1em;
    }
}


.table-data-container .tableheader {
    position: -webkit-sticky; /* Safari */
    position: sticky;
    top: 0px;
    background-color: white;
    z-index: 4;
}


.table-data-container.hidden{
	visibility: hidden;
	display: none;
}


.table-data-container .noresults {
	text-align: center;
    margin: 40vh 10vw;
}


.table-data-container .noresults a {
	cursor: pointer;
}


.table-data-container .noresults.hidden {
	display: none;
}


.table-data-container td.pris {
    white-space: nowrap;
}

.table-data-container th.bbr-areal {
    white-space: nowrap;
}

.table-data-container #sortabletable th {
    vertical-align: bottom;
}

.table-data-container #sortabletable td,  .table-data-container #sortabletable th {
    padding-right: 10px;
    padding-left: 10px;
}

.table-data-container .hoverTable .ipe-header th {
    border-top: none;
}

.table-data-container #sortabletable td:last-of-type,  .table-data-container #sortabletable th:last-of-type {
    padding-right: 20px;
}

.hoverTable .hidden{
	display: none;
}

.hoverTable{
	width:100%; 
	border-collapse:collapse; 
}

.hoverTable td, .hoverTable th { 
	cursor: pointer;
	padding:7px; /*VAR*/
	border:none;
}

.hoverTable th {
    font-weight: 700;
    position: -webkit-sticky; /* Safari */
    position: sticky;
    top:80px;
    background-color: #FFFFFF;
    background-color: #FFFFFFCC;
    background: linear-gradient(0deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.75) 20%, rgba(255,255,255,1) 100%);
	z-index: 3;
}

.ipe-liste.hoverTable th { /* OVERRIDE FOR IPE */
    top:0px;
    background-color: #FFFFFF;
}

.hoverTable td:first-child, .hoverTable th:first-child { 
	padding-left:7px; 
}

/* Define the default color for all the table rows */
.hoverTable tr {
	background: #FCFCFC; /*VAR*/
    border-bottom: 0px solid #000000; /*VAR*/
}

.hoverTable tr.alt {
	background: #F4F4F4; /*VAR*/
}


/* SORTING ARROWS */
th.ipe-sortable-tableheading::after {
    content: "\2193";
    opacity: 0.25;
    text-align: center;
    width: 1em;
    height: 1.3em;
    font-size: 1.3em;
    vertical-align: text-top;
    display: inline-block;
    margin-left: 3px;
    /*transform: rotate(0deg) translate(0px, -0.25em); STYRES I BACKEND */   
    transition: transform 200ms ease-in-out;
}
th.ipe-sortable-tableheading.sorted::after {
    opacity: 1;
}
th.ipe-sortable-tableheading.sorted.desc::after {
    /*transform: rotate(-180deg) translate(0,0em); STYRES I BACKEND **/
}



.flex-wrapper {
  display: flex;
}

.flex-left {
  flex: 0 0 50%;
  padding-right: 2%;
}

.flex-right {
  flex: 1;
}

a.button {
	padding:5px;
	border:1px solid black;
	background-color: grey;
}

.image-button{
    transition: all .5s;
	padding: 12px 24px;
}



.contentwrapper .button {
    position: relative;
    text-align: center;
}

.contentwrapper .plantegning {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#lightbox-boligoversigt-contentwrapper .flex-wrapper {
    flex-direction: column;
}

#lightbox-boligoversigt-contentwrapper .plantegning img {
    padding-bottom:20px;
}


#boligoversigt-lightbox {
	position: fixed;
    top: 0px;
    bottom: 0px;
    left: 0px;
    right: 0px;
    background-color: #000000DD;
    z-index: 9999;
    max-width: 100%;
    margin: 0px;
    padding: 5vw;
    display: flex;
  	justify-content: center;
  	align-items: center;
  	display:none;
}

#boligoversigt-lightbox .lightbox-content{
    background-color: #FFFFFF;
    padding: 5vw;

}

.modal-wrapper.styled .modal {
	width: fit-content !important;
	max-width: 90%;
}

.modal-wrapper.styled .modal.show {
	display: flex !important;
}




.image-position-helper {
    display: inline-block;
	height: 100%;
    vertical-align: middle;
}

img.offset-image-tag {
    vertical-align: middle;
}

.offset-image-tag .svg-cover-wrapper {
    vertical-align: middle;
    height: 100%;
}

.flexcontainer .table-data-container {
    max-height: 46vw;
}

.flexcontainer {
	position: relative;
	display: flex;
	overflow: hidden;
}

.flexcontainer .oversigtskort-data-container {
	flex-grow: 0.5;
	width: 50vw;
}

.flexcontainer .table-data-container {
	flex-grow: 0.5;
	width: 50vw;
    max-height: 75vh;
    overflow-y: scroll;
    overflow-x: hidden;
}




.oversigtswrapper {
    max-width: 100vw;
    margin: auto;
}


.oversigtskort-data-container {
	clear: both;
	position: relative;
	text-align: center;
}

.oversigtskort-data-container .overlay {
	position: absolute;
    top: 0px;
    left: 0px;
    bottom: 0px;
    right: 0px;
}










.navigationsknapper {
	clear: both;
}

.navigationsknapper.overlay {
	position: absolute;
    top: 0px;
    left: 0px;
    bottom: 0px;
    right: 0px;
	pointer-events: none;
}

.navouterwrapper {
    position: relative;
    width: 100%;
    height: 100%;
}

.navigationsknapper .navigationsknap {
	pointer-events: initial;
 	border: none;
 	color: white;
 	text-align: center;
 	text-decoration: none;
 	display: inline-block;
  	position: relative;
  	text-align: center;
  	cursor: pointer;
  	margin: 1em;
  	z-index: 3;
}

.navigationsknapper .navigationsknap {
    position: absolute;
    top: 10%;
    left: 10%;
    width: 0px;
    height: 0px;
    overflow: visible;
    margin: 0px;
    padding: 0px;
}

.navbuttonwrapper {
    width: fit-content;
    height: fit-content;
    transform: translate(-50%, -50%);
}


.navigationsknapper .navigationsknap.left {
    left: 10%;
    right: auto;
}

.navigationsknapper .navigationsknap.right {
    left: auto;
    right: 10%;
}

.navigationsknapper .navigationsknap.top {
    top: 10%;
    bottom: auto;
}

.navigationsknapper .navigationsknap.bottom {
    top: auto;
    bottom: 10%;
}

.navigationsknapper .navigationsknap.center {
    left: 50%;
    right: 50%;
}

.navigationsknapper .navigationsknap.middle {
    top: 50%;
    bottom: 50%;
}


.navigationsknapper .navigationsknap .text {
	white-space: nowrap;
  	position: absolute;
  	top: 50%;
  	left: 50%;
  	transform: translate(-50%, -50%);
}

.navigationsknapper .navigationsknap img {
    max-width: unset;
	max-width: fit-content;
    /*transform: translate(-50%,0);*/
}



.navigationsknapper .navigationsknap .text {
    width: unset;
    height: unset;
    width: fit-content;
    height: fit-content;
}

.navigationsknapper .navigationsknap .subtext {
  	visibility: hidden;
}



/* SIGNATURFORKLARING */
.signaturforklaring.overlay {
	pointer-events: none;
}

.signaturforklaring.hidden {
	visibility: hidden;
}

.signaturforklaring .container {
 	border: none;
 	max-width: 100%;
    width: 100%;
    height: 100%;
 	text-align: center;
 	text-decoration: none;
 	display: inline-block;
  	position: relative;
  	text-align: center;
  	cursor: pointer;
  	margin: 0px;
  	z-index: 2;
    background-color: transparent;
}

.signaturforklaring .wrapper {
    display: inline-block;
    border: none;
    background-color: inherit;
    margin: auto;
    padding: 0.2em 0.0em;
    text-align: left;
}

.signaturforklaring .container .item {
	display: inline-block;
    position: relative;
    margin: 0.2em 2em;
}

.signaturforklaring .container .item .element {
	display: inline-block;
	margin: 0px;
}

.signaturforklaring .container .item .element.titel {
	color:black;
	margin-left: 24px;
}

.signaturforklaring .container .item .farve {
 	border: 2px solid black;
    position: absolute;
    top: 50%;
    width: 10px;
    height: 10px;
    border: 0px solid rgba(0,0,0,0.2);
    border-radius: 10px;
    transform: translate(0px, -50%);
}




/* LIGHTBOX */
body .fancybox__container {
    z-index: 99999;
}

#lightbox-boligoversigt-container {
	display: none;
	background-color: #000000ab;
    position: fixed;
    top: 0px;
    bottom: 0px;
    left: 0px;
    right: 0px;
    z-index: 999;
	opacity: 0;
	transition: opacity 0.25s linear;
}

.lightbox-wrapper{
    position: relative;
    height: 100%;
}


#lightbox-boligoversigt-contentwrapper {
	position: absolute;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);
    background-color: #FFF;
    padding: 2em 3em;
    border-radius: 0.5em;
    min-width: 820px;
    min-height: 610px;
    transition: flex 0.3s ease-out;
    max-width: 90vw;
    max-height: 90vh;
    overflow: hidden auto;
}

@media screen and (max-height: 678px) {
    #lightbox-boligoversigt-contentwrapper {
        min-height: unset;
        height: 90vh;
    }
}

@media screen and (max-width: 911px) {
    #lightbox-boligoversigt-contentwrapper {
        min-width: unset;
        width: 90vw;
    }
}

.lightbox-boligoversigt-loading-graphics {
    position: absolute;
    top: 0px;
    bottom: 0px;
    left: 0px;
    right: 0px;
    background-color: white;
    opacity: .75;
    transition: opacity 300ms linear;
    pointer-events: auto;
}

#sidebox-boligoversigt-content .lds-grid {
    position: absolute;
    display: block;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 1;
    margin:0px;
}

#lightbox-boligoversigt-container.loading .lightbox-boligoversigt-loading-graphics {
    opacity: 0.75;
}
#lightbox-boligoversigt-container.ready .lightbox-boligoversigt-loading-graphics {
    opacity: 0.0;
    pointer-events: none;
}
#lightbox-boligoversigt-container.error .lightbox-boligoversigt-loading-graphics {
    opacity: 0.0;
    pointer-events: none;
}


.hideoverflow {
	overflow: hidden;
}

.boligoversigt-closebutton {
	position: absolute;
	right: 16px;
	top: 16px;
	width: 32px;
	height: 32px;
	opacity: 0.3;
	cursor: pointer;
}

@media (hover: hover) {
    .boligoversigt-closebutton:hover {
    	opacity: 1;
    }
}

.boligoversigt-closebutton:before, .boligoversigt-closebutton:after {
	position: absolute;
	left: 15px;
	content: ' ';
	height: 33px;
	width: 2px;
	background-color: #333;
}
.boligoversigt-closebutton:before {
	transform: rotate(45deg);
    transition: transform 0.3s ease-in-out;
    transition: transform 0.2s ease-in-out;
}

.boligoversigt-closebutton:after {
	transform: rotate(-45deg);
    transition: transform 0.3s ease-in-out;
    transition: transform 0.2s ease-in-out;
}

@media (hover: hover) {
    .boligoversigt-closebutton:hover:before {
        transform: rotate(225deg);
        transform: rotate(0deg);
    }

    .boligoversigt-closebutton:hover:after {
        transform: rotate(135deg);
        transform: rotate(0deg);
    }
}

#lightbox-boligoversigt-content .downloads .button {
    display: block;
    width: 100%;
	margin:10px 0px;
	border: none;
}


#lightbox-boligoversigt-content table th,
#lightbox-boligoversigt-content table td {
    padding: 0.3vh;
    border: unset;
    background-color: unset;
}

/*#sidebox-boligoversigt-content table th,
#sidebox-boligoversigt-content table td {
    padding: 10px 20px 10px 0px;
    border: unset;
    background-color: unset;
}
#lightbox-boligoversigt-content table td.value,
#sidebox-boligoversigt-content table td.value {
    text-align: right;
}*/
#lightbox-boligoversigt-content table td.value {
    text-align: right;
}



/* NEW BOLIGINFO DESIGN */
.ipe-boliginfo-heading {
    margin: 20px 10px; 
}
.ipe-boliginfo-content {
    display: flex;
    padding-bottom: 10px;
}
.ipe-boliginfo-main,
.ipe-boliginfo-secondary {
    flex: 1 0 50%;
    padding: 0 10px;
}
.ipe-boliginfo-secondary {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.ipe-boliginfo-media-gallery a {
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}
.ipe-ratio-spacer {
    min-height: 150px;
    background-color: white;
    opacity: 0;
}
.ipe-boliginfo-media-gallery a:focus .ipe-ratio-spacer {
    opacity: 0.2;
}
@media screen AND (hover:hover) {
    .ipe-boliginfo-media-gallery a:hover .ipe-ratio-spacer {
        opacity: 0.2;
    }
}

/* SLIDER SPLIDE */
.ipe-boliginfo-media-gallery .splide {
    width: 100%;
}
.ipe-boliginfo-media-gallery .splide .ipe-ratio {
    width:100%;
    padding-top: 56.25%; /* 16:9 */
    background-color: white;
    opacity: 0;
}
.ipe-boliginfo-media-gallery .splide .splide__arrow {
    -ms-flex-align: center;
    align-items: center;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    display: -ms-flexbox;
    display: flex;
    height: 2em;
    -ms-flex-pack: center;
    justify-content: center;
    opacity: .7;
    padding: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 2em;
    z-index: 1;
}
.ipe-boliginfo-media-gallery button:hover,
.ipe-boliginfo-media-gallery button:focus,
.ipe-boliginfo-media-gallery button:active,
.ipe-boliginfo-media-gallery button:visited {
    outline:none;
    background: transparent;
}
.ipe-boliginfo-media-gallery .splide .splide__pagination__page {
    border: 0;
    border-radius: 50%;
    display: inline-block;
    height: 12px;
    width: 12px;
    margin: 5px;
    opacity: .7;
    padding: 0;
    position: relative;
    transition: transform .2s linear;
}
.ipe-boliginfo-media-gallery .splide .splide__arrow[disabled]{
    display: none;
}
.ipe-boliginfo-media-gallery .splide .splide__arrow:hover,
.ipe-boliginfo-media-gallery .splide .splide__pagination__page.is-active{
    opacity: 1;
}
.ipe-boliginfo-media-gallery .splide .splide__arrow,
.ipe-boliginfo-media-gallery .splide .splide__pagination__page{
	background: grey;
}
.ipe-boliginfo-media-gallery .splide .splide__arrow svg {
	fill:white;
}
/* END: SLIDER SPLIDE */

.ipe-boliginfo-table {
    margin: 10px 0;
    width: 100%;
    border-spacing: 0;
    border-collapse: collapse;
}
.ipe-boliginfo-information .ipe-boliginfo-table tr:nth-child(2n+1) {
    background-color: #f7f7f7; /*VAR*/
}
.ipe-boliginfo-content .ipe-boliginfo-table th,
.ipe-boliginfo-content .ipe-boliginfo-table td {
    padding: 10px; /*VAR*/
    border: unset;
    background-color: unset;
}
.ipe-boliginfo-information .ipe-boliginfo-table tr:first-of-type {
    border-top: 1px solid black; /*VAR*/
}
.ipe-boliginfo-information .ipe-boliginfo-table tr {
    border-bottom: 1px solid black; /*VAR*/
}
.ipe-boliginfo-information .ipe-boliginfo-table td.value {
    text-align: right;
}
.ipe-boliginfo-description .ipe-boliginfo-table td.label {
    font-weight: bold;
}
.ipe-boliginfo-description .ipe-boliginfo-table td.value {
    text-align: left;
}
.ipe-boliginfo-cta-buttons {

}
.ipe-boliginfo-plandrawing {
    padding:10px;
}
.ipe-boliginfo-plandrawing img {
    max-width: 100%;
}
.ipe-boliginfo-cta-buttons,
.ipe-boliginfo-downloads {
    width: 100%;
    padding: 0;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: space-between;
}
.ipe-boliginfo-button {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 100%;
    color: white; /*VAR*/
    fill: white; /*VAR*/
    background-color: grey; /*VAR*/
    border: 1px solid darkgrey; /*VAR*/
    border-radius: 3px; /*VAR*/
    margin: 7px 0;
}
.ipe-boliginfo-button:last-child:nth-child(2n+1) {
    width: 100%;
}
.ipe-boliginfo-button.ipe-button-justify-left {
    justify-content: flex-start;
}
.ipe-boliginfo-button.ipe-button-justify-right {
    justify-content: flex-end;
}
.ipe-boliginfo-button.ipe-button-icon-placement-before {
    flex-direction: row-reverse;
}
.ipe-boliginfo-button.ipe-button-icon-placement-before.ipe-button-justify-left {
    justify-content: flex-end;
}
.ipe-boliginfo-button.ipe-button-icon-placement-before.ipe-button-justify-right {
    justify-content: flex-start;
}
.ipe-boliginfo-button-label,
.ipe-boliginfo-button-icon {
    margin: 9px;
}
.ipe-boliginfo-button-icon {
    height: 20px;
    width: 20px;
    line-height: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.ipe-boliginfo-button-icon img {
    width: 100%;
}



/* SCROLLBAR */
/* TODO: Lav Firefox equivalent; */
/* width */
.custom-scrollbar::-webkit-scrollbar {
  width: 10px;
}

/* Track */
.custom-scrollbar::-webkit-scrollbar-track {
  background: #f1f1f1; 
}
 
/* Handle */
.custom-scrollbar::-webkit-scrollbar-thumb {
  background: #888; 
}

/* Handle on hover */
@media (hover: hover) {
    .custom-scrollbar::-webkit-scrollbar-thumb:hover {
      background: #888; 
    }
}

/* Firefox */
.custom-scrollbar {
    scrollbar-color: #888 #f1f1f1;
}


.alignable-column {
    text-align: center;
}


/***
 * TABLE HEADER TITLES - Change this to change lables
 */
/*th.toggleable-column.id {
    font-size: 0px;
}
th.toggleable-column.id::before {
	content:"ID";
    font-size: 10pt;
}
th.toggleable-column.lejlighedsnummer::before {
	content:"Lejl.nr.";
}
th.toggleable-column.adresse::before {
	content:"Adresse";
}
th.toggleable-column.type::before {
	content:"Type";
}
th.toggleable-column.antal_vaerelser::before {
	content:"Vær.";
}
th.toggleable-column.boligareal::before {
	content:"Boligareal";
}
th.toggleable-column.bbr-areal::before {
	content:"BBR Areal";
}
th.toggleable-column.altan::before {
	content:"Altan";
}
th.toggleable-column.terrasse::before {
	content:"Terrasse";
}
th.toggleable-column.pris::before {
	content:"Pris";
}
th.toggleable-column.status::before {
	content:"Status";
}

.altan .squaremeters {
	display: none;
}
.terrasse .squaremeters {
	display: none;
}

.filter-button.areal .squaremeters.max {
    position: absolute;
    right: 1em;
}
*/




/**
 * Tooltip Styles
 */

/* Add this attribute to the element that needs a tooltip */
[data-tooltip] {
  position: relative;
  z-index: 2;
  cursor: pointer;
}

/* Hide the tooltip content by default */
[data-tooltip]:before,
[data-tooltip]:after {
  visibility: hidden;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  pointer-events: none;
}

/* Position tooltip above the element */
[data-tooltip]:before {
    position: absolute;
    bottom: 120%;
    margin-top: 4px;
    padding: 7px 14px;
    width: 100%;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    background-color: #000;
    background-color: hsla(0, 0%, 20%, 0.9);
    color: #fff;
    content: attr(data-tooltip);
    text-align: center;
    font-size: 14px;
    line-height: 1.4em;
    white-space: nowrap;
    width: auto;
    left: 50%;
    min-width: 80px;
    transform: translate(-50%,0);
    transition: opacity 300ms linear;
}
/* Triangle hack to make tooltip look like a speech bubble */
[data-tooltip]:after {
    position: absolute;
    bottom: 120%;
    left: 50%;
    margin-left: -5px;
    width: 0;
    border-bottom: 5px solid #000;
    border-bottom: 5px solid hsla(0, 0%, 20%, 0.9);
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    content: " ";
    font-size: 0;
    line-height: 0;
    transition: opacity 300ms linear;
    transform-origin: bottom;
    transform: rotate(180deg);
}

/* Show tooltip content on hover */
@media (hover: hover) {
    .not-touch-device [data-tooltip]:hover:before,
    .not-touch-device [data-tooltip]:hover:after,
    .not-touch-device [data-tooltip].highlight:before,
    .not-touch-device [data-tooltip].highlight:after {
      visibility: visible;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
      filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=100);
      opacity: 1;
    }
}

/*[data-tooltip].highlight:before,
[data-tooltip].highlight:after {
  visibility: visible;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1;
}*/
/* SVG TOOLTIP */
.ipe-svg-tooltip {
    position: absolute;
    top:0;
    left:0;
    opacity: 1;
    transition: opacity 80ms linear;
    pointer-events: none;
}
.ipe-touch-tooltips-disabled .ipe-svg-tooltip {
    display: none;
}
@media screen AND (hover: hover){
    .ipe-touch-tooltips-disabled .ipe-svg-tooltip {
        display: block;
    }
}
.ipe-svg-tooltip.hidden {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=0);
    opacity:0;
}
.ipe-svg-tooltip-content {
    transform: translate(-50%,-100%);
    color: white;
    background-color: #000;
    background-color: hsla(0, 0%, 20%, 0.9);
    padding: 7px 14px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    text-align: center;
    font-size: 14px;
    line-height: 1.4em;
    width: auto;
    min-width: 80px;
}
.ipe-svg-tooltip-content::after {
    position: absolute;
    bottom: 0%;
    left: 50%;
    margin-left: -5px;
    width: 0;
    border-bottom: 5px solid #000;
    border-bottom: 5px solid hsla(0, 0%, 20%, 0.9);
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    content: " ";
    font-size: 0;
    line-height: 0;
    transform-origin: bottom;
    transform: rotate(180deg);
}





/* RANGE-SLIDERS  TODO: DETELE THIS SECTION. ONLY FOR INSPIRATION; */
.range-slider {
    margin: 0;
    padding: 0;
    border: 0;
    outline: none;
    background: transparent;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 100%;
    height: 0;
    pointer-events: none; /* Prevent mouse interaction on the range slider. */
    background-color: grey;
}

.range-slider::-webkit-slider-runnable-track {
    cursor: default;
    height: 1px; /* Required for Samsung internet based browsers */
    outline: 0;
    -webkit-appearance: none;
}

.range-slider::-moz-range-track {
    cursor: default;
    -moz-appearance: none;
    outline: 0;
    height: 1px;
}

.range-slider::-webkit-slider-thumb {
    -webkit-appearance: none; /* Reset appearance so we can apply backgrounds/borders etc. */
    pointer-events: auto; /* Re-enable pointer events so the handles can be used. */
}
 
.range-slider:-moz-range-thumb {
    /*-moz-appearance: none; /* Reset appearance so we can apply backgrounds/borders etc. */
    pointer-events: auto; /* Re-enable pointer events so the handles can be used. */
}

.price-slider-progress { /* absolutely positioned div */
    height: 9px;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    --track-background: linear-gradient(to right, transparent var(--low), var(--range-color) 0, var(--range-color) var(--high), transparent 0) no-repeat 0 100% / 100% 100%;
    --range-color: #a8739d;
    background: var(--track-background);
}



/*************************************************
 *  FARVER på Oversigstkort
 */
.imagemap-masks-canvas-wrapper g path {
    fill: rgb(81, 212, 249);
    opacity: 0.35;
    stroke-width: 0;
    cursor: pointer;
    mix-blend-mode: multiply;
}
.imagemap-masks-canvas-wrapper .opacity-0 {
    opacity: 0;
}
.imagemap-masks-canvas-wrapper g,
.imagemap-masks-canvas-wrapper g path,
.imagemap-masks-canvas-wrapper g circle {
    transition: all 0.2s linear;
}

@media (hover: hover) {
    .imagemap-masks-canvas-wrapper g:hover path {
    	opacity: 0.7;
    }
}

.imagemap-masks-canvas-wrapper g.highlight path {
	opacity: 0.7;
}

.imagemap-masks-canvas-wrapper g.selected path {
	opacity: 0.7;
}

.imagemap-masks-canvas-wrapper g.ledig path {
	fill: rgb(128,218,128);
}

.imagemap-masks-canvas-wrapper g.reserveret path {
	fill: rgb(218,168,128);
}

.imagemap-masks-canvas-wrapper g.solgt path {
	fill: rgb(198,128,128);
}

.imagemap-masks-canvas-wrapper g.udlejet path {
	fill: rgb(198,128,128);
}

.imagemap-masks-canvas-wrapper g.udbydes_snart path {
	fill: rgb(128,128,128);
}

.imagemap-masks-canvas-wrapper g.koebsaftale path {
	fill: rgb(128,128,128);
}

.imagemap-masks-canvas-wrapper g.infospot path {
	fill: #FFFFFF;
}




/*************************************************
 *  FARVER på Signaturforklaring
 */
.signaturforklaring .container .item .farve.ledig {
 	background-color: rgb(128,218,128);
}

.signaturforklaring .container .item .farve.reserveret {
 	background-color: rgb(218,168,128);
}

.signaturforklaring .container .item .farve.solgt {
 	background-color: rgb(198,128,128);
}

.signaturforklaring .container .item .farve.udlejet {
 	background-color: rgb(198,128,128);
}

.signaturforklaring .container .item .farve.udbydes_snart {
 	background-color: rgb(128,128,128);
}

.signaturforklaring .container .item .farve.koebsaftale {
 	background-color: rgb(128,128,128);
}


/* STATUS INDIKATOR */
.ipe-liste tr.status-ledig .status-indicator {
    background-color: rgba(128,218,128,0.4);
}
.ipe-liste tr.status-reserveret .status-indicator {
    background-color: rgba(218,168,128,0.4);
}
.ipe-liste tr.status-solgt .status-indicator {
    background-color: rgba(198,128,128,0.4);
}


@media (hover: hover) {
    /* STATUS ON HOVER*/
    .ipe-liste tr.status-ledig:hover .status-indicator,
    .ipe-liste tr.status-ledig:hover .hover-indicator {
        background-color: rgba(128,218,128,0.8);
    }
    .ipe-liste tr.status-reserveret:hover .status-indicator, 
    .ipe-liste tr.status-reserveret:hover .hover-indicator {
        background-color: rgba(218,168,128,0.8); 
    }
    .ipe-liste tr.status-solgt:hover .status-indicator,
    .ipe-liste tr.status-solgt:hover .hover-indicator {
        background-color: rgba(198,128,128,0.8);
    }
}


.status-indicator-wrapper  {
    position: relative;
    padding: 0;
    height: 100%;
    width: 24px; /*VAR*/
}
.status-indicator-wrapper .circle.status-indicator {
    display: block; 
    width: 12px; /*VAR*/
    height: 12px; /*VAR*/
    border-radius: 12px; /*VAR*/
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}


/*
tr:hover .status-indicator-wrapper .circle.status-indicator {
    animation-name: example;
    animation-duration: 300ms;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
}

@keyframes example {
  0%   {height: 12px;width: 12px;border-radius: inherit;}
  15%  {width: 12px;}
  25%  {border-radius: 0px;}
  50%  {height: 100%;border-radius: 0px;}
  100% {height: 100%;width: 100vw;border-radius: 0px;}
}
*/


/*************************************************
 *  FARVER på Signatur 2.0
 */
.signatur .farve.ledig {
    background-color: rgb(128,218,128);
}

.signatur .farve.reserveret {
    background-color: rgb(218,168,128);
}

.signatur .farve.solgt,
.signatur .farve.udlejet {
    background-color: rgb(198,128,128);
}

.signatur .farve.udbydes_snart,
.signatur .farve.koebsaftale {
    background-color: rgb(128,128,128);
}



/*************************************************
 *  FARVER på Liste
 */

/* Define the hover highlight color for the table row */
@media (hover: hover) {
    .hoverTable tbody tr:hover {
        background-color: rgba(81, 212, 249, 0.32);
    }
}


/* REMOVE THIS
.hoverTable .status-ledig td {
	background-color: rgba(128,218,128,0.4);
}

.hoverTable .status-reserveret td {
	background-color: rgba(218,168,128,0.4);
}

.hoverTable .status-solgt td {
	background-color: rgba(198,128,128,0.4);
}

.hoverTable .status-udlejet td {
	background-color: rgba(198,128,128,0.4);
}

.hoverTable .status-udbydes_snart td {
	background-color: rgba(128,128,128,0.4);
}

.hoverTable .status-koebsaftale td {
	background-color: rgba(128,128,128,0.4);
}
*/


.adjustable.label.bolignummer::before{
    content:"Bolignr.";
}





/* POPUP OVERLAY */
#popup-overlay input {
    font-family: inherit;
}

#popup-overlay.popup-overlay {
    display: none;
    position: fixed;
    top: 0px;
    bottom: 0px;
    left: 0px;
    right: 0px;
    z-index: 199;  /*VAR*/
    pointer-events: none;
}

#popup-overlay .popup-underlay {
    position: fixed;
    top: 0px;
    bottom: 0px;
    left: 0px;
    right: 0px;
}

#popup-overlay .popup-underlay.active {
    pointer-events: auto;
}

#popup-overlay .popup-wrapper {
    width: 0px;
    height: 0px;
    margin: auto;
    /*position: fixed;*/
    position: absolute;
    bottom: 50px; /*VAR*/
    left: 0px;
    right: 0px;
    top: unset;
    transition: all 0.25s ease-in-out, padding 0s linear;
}

#popup-overlay .popup-container {
    position: relative;
    width: 500px;  /*VAR*/
}

#popup-overlay .popup-header {
    position: relative;
    bottom: -1px;
    width: 100%;
    height: 50px; /*VAR*/
}

#popup-overlay .popup-content {
    width: 100%;
    background-color: #555555; /*VAR*/
    border-radius: 10px 0px 0px 0px; /*VAR*/
    pointer-events: auto;
    max-height: 100vh; /* Fallback for browsers that do not support Custom Properties */  
    max-height: calc(var(--vh, 1vh) * 100);
    overflow: hidden;
}

#popup-overlay.popup-is-full-height .popup-content {
    overflow: auto;
}



#popup-overlay .popup-content::after {
    content: "";
    height: 999px;
    background-color: inherit;
    display: block;
    position: absolute;
    width: 100%;
}

#popup-overlay .popup-content::-webkit-scrollbar-track
{
    background-color: #666666; /*VAR*/
}

#popup-overlay .popup-content::-webkit-scrollbar
{
    width: 12px;
    background-color: #666666; /*VAR*/
}

#popup-overlay .popup-content::-webkit-scrollbar-thumb
{
    background-color: #555555; /*VAR*/
    border: 3px solid #666666; /*VAR*/
    border-radius: 20px;
}


#popup-overlay .popup-header-wrapper {
    position: relative;
    margin: 0;
    height: 100%;
    pointer-events: auto;
}

#popup-overlay .popup-header-wrapper {
    width: 40%; /*VAR*/
    margin-left: 60%;  /*CALC*/
    background-color: #555555; /*VAR*/
    border-radius: 10px 10px 0px 0px; /*VAR*/
    cursor: pointer;
}

#popup-overlay .popup-content-wrapper {
    overflow: hidden;
}

#popup-overlay .popup-content-container, .popup-content-container {
    width: 100%;
    height: 100%;
    width: auto; /* TEST */
    height: auto; /* TEST */
}

#popup-overlay .popup-content-container {
    padding: 5%;   /*VAR*/
}

#popup-overlay .popup-header-container {
    position: absolute;
    text-align: center;    /*VAR*/
    width: 100%;
    margin: 0;
    padding: 0%;          /*VAR*/
    top: 50%;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

#popup-overlay .popup-header-container h6 {
    margin: 0;
    padding: 10%;
}

#popup-overlay .fremvisning_persondata_tekst {
    font-size: 0.8em;
}


#popup-overlay .popup-togglebutton {
    position: absolute;
    right: 16px; /*VAR*/
    top: 8px; /*VAR*/
   /* width: 30px;
    height: 30px;*/
    width: 80px;
    height: 60px;
    opacity: 0.5;
    cursor: pointer;
    transition: all 0.1s ease-in-out;
}

#popup-overlay.popup-is-full-height.active .popup-togglebutton {
    -webkit-transform: translateY(50px); /*VAR*/
    -ms-transform: translateY(50px); /*VAR*/
    transform: translateY(50px); /*VAR*/
}

@media (hover: hover) {
    #popup-overlay .popup-header-wrapper:hover .popup-togglebutton {
        opacity: 1;
    }
}

#popup-overlay .popup-togglebutton:before,
#popup-overlay .popup-togglebutton:after {
    position: absolute;
    left: 15px;
    bottom: 0px;
    content: ' ';
    height: 10px;
    min-height: 25px;
    width: 4px;
    background-color: #FFF;/*VAR*/
}
#popup-overlay .popup-togglebutton:before {
    transform: translate(30px,-20px) rotate(45deg);
    transition: all 0.3s ease-in-out;
}
#popup-overlay .popup-togglebutton:after {
    transform: translate(30px,-20px) rotate(-45deg);
    transition: all 0.3s ease-in-out;
}
#popup-overlay .popup-togglebutton.arrow:before {
    transform: translate(30px,-20px) translate(-5px,0px) rotate(45deg);
}
#popup-overlay .popup-togglebutton.arrow:after {
    transform: translate(30px,-20px) translate(4px,0px) rotate(-45deg);
}

@media (hover: hover) {
    #popup-overlay .popup-header-wrapper:hover .popup-togglebutton.x:before {
        transform: translate(30px,-20px) translate(4px,0px) rotate(45deg);
        left: 15px;
        bottom: 5px;
        min-height: 16px;
    }
    #popup-overlay .popup-header-wrapper:hover .popup-togglebutton.x:after {
        transform: translate(30px,-20px) translate(-5px,0px) rotate(-45deg);
        left: 15px;
        bottom: 5px;
        min-height: 16px;
    }
}

#popup-overlay .popup-togglebutton.arrow:before,
#popup-overlay .popup-togglebutton.arrow:after {
    left: 15px;
    bottom: 5px;
    min-height: 16px;
}


/* POPUP BOTTOM */
#popup-overlay.bottom.popup-on-top {
    z-index: 9999;
}

/* POPUP BOTTOM_RIGHT */
#popup-overlay.bottom_right.popup-on-top {
    z-index: 9999;
}

#popup-overlay.bottom_right .popup-wrapper {
    right: 500px; /*VAR*/
    left: auto;
}


/* POPUP BOTTOM_LEFT */
#popup-overlay.bottom_left.popup-on-top {
    z-index: 9999;
}

#popup-overlay.bottom_left .popup-wrapper {
    left: 0px;
    right: auto;
}

/* POPUP SIDEWAYS */
#popup-overlay.right .popup-wrapper {
    bottom: 0px;
    left: unset;
    right: 50px;
    top: 0px;
}

#popup-overlay.right .popup-container {
    position: fixed;
    top: 0px;
    bottom: 0px;
    height: 100%;
}

#popup-overlay.right .popup-content-wrapper {
    position: relative;
    height: 100%;
}

#popup-overlay.right .popup-content-container {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    height: auto;
}

#popup-overlay.right .popup-header {
    position: absolute;
    top: 50%;
    right: 50%;
    transform: rotate(-90deg) translate(0px, 50%);
}

#popup-overlay.right .popup-content {
    height: 100%;
    border-radius: 0px;
    margin-left: 50px; /*VAR*/
}


/* DISABLE POPUPS IN IE, SINCE IT WON'T WORK */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
   #popup-overlay.popup-overlay {
        display: none;
   }
}


/* CHANGE LIGHTBOX COLORS */
#elementor-lightbox.dialog-type-lightbox {
    background-color: rgba(255, 255, 255, 1);
}
#elementor-lightbox.elementor-lightbox .dialog-lightbox-close-button, #elementor-lightbox.elementor-lightbox .elementor-swiper-button {
    color: rgba(0, 0, 0, 0.9);
}



/** VALUTA **/
.boligoversigt.valuta::before{
    content:"kr."; /*VAR*/
    padding: 5px;
}



.disable-scrolling {
    overflow: hidden;
}


/* FADING : DEPRECATED;
.bop-fade-on-load,
.bop-fader {
    transition: opacity 300ms linear;
    transition-delay: 20ms;
}
.bop-fade-on-load.in,
.bop-fader.in {
    opacity: 0;
}
.bop-fade-on-load.out,
.bop-fader.out {
    opacity: 1;
}
.bop-fade-on-load.in.fade,
.bop-fader.in.fade {
    opacity: 1;
}
.bop-fade-on-load.out.fade, 
.bop-fader.out.fade {
    opacity: 0;
}
*/

/* INTERACTIVE PROJECT EXPLORER */
.interactive-project-explorer {
    /* FALLBACKS: 100p, guestimated height, calc with guestimated header-height, calc with var height */
    height: 100%;
    height: 80vh;
    height: calc(100vh - 120px);
    height: calc(100vh - var(--shh));
}
.ipe-sidebar {
    height: 100%;
    /* height: 80vh;
    height: calc(100vh - 120px);
    height: calc(100vh - var(--shh)); */
}

.ipe-content{
    height: 100%;
    /* height: 80vh;
    height: calc(100vh - 120px);
    height: calc(100vh - var(--shh));    */
}

.ipe-imagemap {
    height: 100%;
}

.ipe-wrapper{
    display: flex;
    height: 100%;
}
.ipe-wrapper.top{
    flex-direction: column;
}
.ipe-wrapper.left{
    flex-direction: row;
}
.ipe-wrapper.right{
    flex-direction: row-reverse;
}
.ipe-wrapper.bottom{
    flex-direction: column-reverse;
}

/* MENU BAR */
.ipe-menubar-wrapper {
    flex: 0 0 auto;
    display: none;
    font-size:0.8em;
    z-index: 2;
}
.ipe-menubar-wrapper.visible {
    display: flex;
}
.left .ipe-menubar-wrapper, .right .ipe-menubar-wrapper {
    flex-direction: column;
}
.top .ipe-menubar-wrapper, .bottom .ipe-menubar-wrapper {
    flex-direction: row;
}

.ipe-menubar-wrapper > .menuitem {
    padding: 20px;
    cursor: pointer;
    /*Align menu items to bottom, and hide overflow on small screens */
    min-height: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    overflow: hidden;
}

.ipe-menubar-wrapper > .menuitem:last-of-type {
    border:none;
}

.ipe-menubar-wrapper > .menuitem > .text {
    text-align: center;
    margin-left: -18px;
    margin-right: -18px;
}

.ipe-menubar-wrapper > .menuitem > img {
    margin: auto;
    font-size:0.6em;
}

.ipe-menubar-wrapper .ipe-menu-title {
    margin: auto;
    margin-top: 0;
}

.ipe-menubar-wrapper .ipe-menu-title-text {
    position: absolute;
    transform-origin: left;
    transform: rotate(-90deg) translate(-100%, 0px);
    text-align: right;
}

/* TOGGLE SIDEBAR */
.toggle-sidebar-wrapper {
    display: flex;
    flex-direction: row;
    max-width: 100%;
    width: 100%;
    margin-bottom:0px;

    position: relative;
    height: 100%;
}

.toggle-sidebar-controller {
    display: none;
    position: absolute;
    bottom: 0px;
    right: 0px;
    height: 0px;
    padding:10px 20px;
}






/* TOGGLE BUTTON */
.toggle-button {
    position: relative;
    border-radius: 50px;
    overflow: hidden;
    display: flex;
    flex-direction: row;
    min-width: 120px;
    background-color: #FFFFFFAA;
    border: 2px solid black; /*VAR*/
    color: black; /*VAR*/
}

.toggle-button > * {
    display: block;
}

.toggle-button .state {
    cursor: pointer;
    text-align: center;
    font-weight: 700;
    width: 50%;
}

.toggle-button .state.active {
    background-color: grey; /*VAR*/
}

.toggle-button .state.building {
    padding-left: 3px;
    border-right:1px solid black; /*VAR*/
}

.toggle-button .state.list {
    border-left:1px solid black; /*VAR*/
}

.toggle-button .state.list .burger {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-around;
    padding: 5px 8px 5px 4px;
}

.toggle-button .state.list .burger > div {
    background-color: black; /*VAR*/
    height: 2px;
    width: 18px;
    margin: auto;
    line-height: 1.7em;
    margin-bottom: 2px;
    margin-top: 1px;
}


/*.ipe-content,
.ipe-sidebar {
    transition: width 200ms ease-in-out;
}*/

/* TOGGLE BUTTON BETWEEN 3D BUILDING AND LIST IN PORTRAIT AND ON SHORT MOBILES */
@media screen AND (orientation:portrait),
screen AND (max-width:640px) {

    .ipe-content {
        display:block;
    }

    .toggle-sidebar-controller {
        display: block;
        height: 50px;
        z-index: 9;
    }

    .toggle-sidebar-wrapper .ipe-sidebar {
        padding-bottom: 50px;
        z-index: 3;
    }

    .toggle-sidebar-wrapper .ipe-content,
    .toggle-sidebar-wrapper .ipe-sidebar {
        width: 0%;
        height: 100%;
    }

    .toggle-sidebar-wrapper .ipe-content.active,
    .toggle-sidebar-wrapper .ipe-sidebar.active {
        width: 100%;
    }

    .toggle-sidebar-wrapper .ipe-sidebar {
        background-color: white;
        z-index: 9;
    }

    .sidebox-data-container {
        left: 0%;
    }
    
    .ipe-content {
        display:block;
    }
    

    /* Delayed reveal of masks - to not show shrinking masks on toggle */
    .toggle-sidebar-wrapper .ipe-content.imagemap .svg-wrapper.fade {
        transition: opacity 100ms linear;
            opacity:1;
        transition-delay:200ms;
    }
    
    .toggle-sidebar-wrapper .ipe-content.imagemap:not(.active) .svg-wrapper  {
        transition: opacity 0ms linear;
        opacity:0;
        transition-delay:00ms;
    }
}


/* MOVE MENU TO BOTTOM ON PORTRAIT / MOBILE */
@media screen AND (orientation:portrait) {
    .ipe-wrapper.mobile-top {
        flex-direction: column;
    }
    .ipe-wrapper.mobile-bottom {
        flex-direction: column-reverse;
    }
    .ipe-wrapper.mobile-left {
        flex-direction: row;
    }
    .ipe-wrapper.mobile-right {
        flex-direction: row-reverse;
    }
    .ipe-wrapper.mobile-top .ipe-menubar-wrapper,
    .ipe-wrapper.mobile-bottom .ipe-menubar-wrapper {
        flex-direction: row;
    }
    .ipe-wrapper.mobile-left .ipe-menubar-wrapper,
    .ipe-wrapper.mobile-right .ipe-menubar-wrapper {
        flex-direction: column;
    }
    .ipe-wrapper.mobile-top .ipe-menubar-wrapper > .menuitem,
    .ipe-wrapper.mobile-bottom .ipe-menubar-wrapper > .menuitem {
        border: none;
        border-right: 1px solid #FFFFFF; /*VAR*/
        flex:1 1 auto;
    }
    .ipe-wrapper.mobile-left .ipe-menubar-wrapper > .menuitem,
    .ipe-wrapper.mobile-right .ipe-menubar-wrapper > .menuitem {
        border: none;
        border-bottom: 1px solid #FFFFFF; /*VAR*/
    }
}

.ipe-wrapper .ipe-menubar-wrapper > .menuitem:last-of-type {
    border:none;
}


/* CONTENT */

.ipe-container-wrapper {
    display: flex;
    position: relative;
    width: 100%;
    height: 100%;
}


.ipe-container-wrapper .ipe-loading-screen {  
    background-color: white;
    pointer-events: none;
    opacity: 0;
    transition: opacity 300ms linear;
    z-index: 99;
}
.ipe-container-wrapper .ipe-loading-screen.active {
    pointer-events: auto;
    opacity: 0.5;
}


.ipe-container {
    display: flex;
}
.ipe-container.column {
    flex-direction: column;
}

.top .ipe-container,
.bottom .ipe-container {
    flex: 1 0 auto;
    /*height: 0px;*/
}

.ipe-content {
    flex: 50 0 auto;
    width: 50%;
    display: flex;
    flex-direction: column;
}

.ipe-content.iframe,
.column .ipe-content,
.ipe-content.iframe iframe {
    width: 100%;
    height: 100%;
}

.ipe-sidebar {
    flex: 50 0 auto;
    width: 50%;
    padding-right: 10px;
    padding-left: 10px;
    padding-bottom: 10px;
    z-index: 1;
}

.ipe-ui-bar {
    flex: 0 1 50px;
}

.ipe-content-area {
    flex: 1 1 auto;
}

/* IPE FADING TAB SWITCH */
.ipe-container {
    opacity:0;
    pointer-events: none;
    transition: opacity 200ms ease-in-out;
}
.ipe-container.active {
    opacity:1;
    pointer-events: auto;
    z-index: 1;
}
.ipe-container > * {
    opacity:0;
    transition: opacity 200ms ease-in-out;
    transition-delay: 300ms;
}
.ipe-container.active > *{
    opacity:1;
    transition-delay: 300ms;
}
.ipe-container.inactive {
    display: none;
}
.ipe-container.inactive.active {
    display: flex;
}


/* CONTROLBAR */
.ipe-controlbar {
    display: flex;
    line-height: 1em;
    justify-content: flex-end; /*VAR*/
    padding-top:10px;
    z-index: 3;
    width: 100%;
}

.ipe-controlbar.overlay {
    position: absolute;
    top:0;
    width:100%;
    background-color: transparent;
}

/* Turntable has a single button. Let's overlay it on top of animation */
/*.ipe-controlbar.turntable {
    position: absolute; 
    top:0;
}*/

.ipe-controlbar .control-block{
    flex: 0 1 auto;
}

.ipe-controlbar .item-group {
    display: flex;
    justify-content: space-between;
}

/*.ipe-controlbar .item-group > .control-item:first-of-type {
    margin-left:0px;
}

.ipe-controlbar .item-group > .control-item:last-of-type {
    margin-right:0px;
}*/

.ipe-controlbar .control-item {
    pointer-events: auto;
    text-align: center;
    margin: 0 5px;
}

.ipe-controlbar .control-item.ipe-button.play-pause .text::before { /* Force width of pause text, to avoid shifting when changing to play */
    content: "Pause";
    visibility: hidden;
    height: 0px;
    display: block;
    overflow: hidden;
}

.ipe-controlbar .control-item .icon{
    width:48px; /*VAR*/
    min-width:48px; /*VAR*/
}

/*.ipe-controlbar .ipe-slider {
    width:75%;
}*/

.ipe-controlbar .ipe-slider {
    flex: 1 1 100%;
}

.ipe-controlbar .ipe-slider .slider-bg{
    border-radius: 48px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.ipe-controlbar .ipe-slider .icon {
    flex-grow: 0;
}

.ipe-controlbar .ipe-slider .slider-wrapper {
    display: inline-block;
    width:60%;
    margin-left: 20px;
    margin-right: 20px;
    flex-grow: 1;
}

.ipe-controlbar .ipe-button {
    flex: 0 0 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.ipe-controlbar .ipe-button.back.ipe-float-left {
    margin-right:auto;
}

.toggleable {
    transition: opacity 200ms linear;
}

.ipe-controlbar .toggleable.ipe-invisible,
.ipe-controlbar .toggleable.ipe-invisible:hover,
.ipe-controlbar .toggleable.ipe-invisible:active,
.ipe-controlbar .toggleable.ipe-invisible:focus {
    opacity: 0;
    pointer-events: none;
}



/* SUNPATH */
.ipe-controlbar.ipe-sunpath-controlbar {
    height: 100%;
    flex-direction: column;
    justify-content: space-between;
    padding: 0;
    background: none;
}
.ipe-controlbar .ipe-controlbar-wrapper-top,
.ipe-controlbar .ipe-controlbar-wrapper-bottom{
    justify-content: space-between;
}
.ipe-controlbar.ipe-sunpath-controlbar .ipe-slider {
    flex: 0 1 600px;
    margin-left: 0;
    margin-right: auto;
}

.ipe-controlbar.ipe-sunpath-controlbar .ipe-slider input[type="range"]::-webkit-slider-thumb {
    background: url('../graphics/generated-icons/ipe_icons_sun_filled.svg');
}

.ipe-controlbar.ipe-sunpath-controlbar .ipe-slider .text.ipe-large {
    font-size: 2em;
    min-width: 2.7em;
    text-align: right;
    margin-right: 0.4em;
}

.ipe-controlbar.ipe-sunpath-controlbar .ipe-slider .text.ipe-small {
    display: none;
}
.ipe-controlbar.ipe-sunpath-controlbar .ipe-seasons-text {
    display: none;
}
.ipe-controlbar.ipe-sunpath-controlbar.no-text .ipe-seasons-text {
    display: block;
}
.ipe-controlbar.ipe-sunpath-controlbar .ipe-seasons-text {
    position: absolute;
    top: 50px;
    right: 0;
    font-size: 2em;
    padding: 30px 20px;
}
.ipe-controlbar.ipe-sunpath-controlbar .ipe-seasons-text .ipe-animated {
    opacity: 0;
    animation-name: sunpath-text-field;
    animation-duration: 4s;
    animation-iteration-count: 1;
}
@keyframes sunpath-text-field {
    0%   {opacity: 0;}
    25%   {opacity: 1;}
    70%   {opacity: 1;}
    100%   {opacity: 0;}
}

.ipe-controlbar.no-bg,
.ipe-controlbar.no-bg .ipe-controlbar {
    background: none;
}
.ipe-controlbar.no-text div.text {
    display: none;
}
.ipe-controlbar.no-text .ipe-controlbar-wrapper-bottom .control-item,
.ipe-controlbar.no-text .ipe-controlbar-wrapper-bottom .control-block {
    justify-content: flex-end;
}



/* END: SUNPATH */



/* STATE MACHINE SM CONTROL BAR */
.ipe-sm-controlbar-overlay {
    display: flex;
    align-items: flex-end;
    pointer-events: none;
    z-index: 6;
}
.ipe-sm-controlbar-underlay {
    pointer-events: none;
}
.open-menu .ipe-sm-controlbar-underlay {
    pointer-events: auto;
}
.ipe-sm-controlbar-wrapper {
    display: flex;
    align-items: center;
    margin:20px;
    position: relative;
    pointer-events: none;
}
.ipe-sm-controlbar-wrapper > * {
    pointer-events: auto;
}
.ipe-sm-controlbar-wrapper .sm-button {
    height: 54px; /*VAR-P1*/
    width: 54px; /*VAR-P1*/
    border-radius: 27px; /*CALC*/
    /*padding:17px;*/
    margin: 10px;
    transition: all 200ms ease-in-out;
    cursor: pointer;
}
.ipe-sm-controlbar-wrapper .sm-button.hide {
    height: 0px;
    width: 0px;
    transform: translate(0,37px); /*CALC: (P1 / 2) + 10 */
    padding: 0px;
    margin: 0px;
}

.ipe-sm-controlbar-wrapper .sm-button.menu,
.ipe-sm-controlbar-wrapper .sm-button.list {
    width: 180px;
    padding: 12px 24px;
}
.ipe-sm-controlbar-wrapper .sm-list-wrapper {
    position: absolute;
    left:10px;
    bottom:10px;
    width:180px;
    height: 54px;   /*VAR-P1*/
    border-radius: 27px; /*CALC: P1 / 2 */
    transition: all 300ms ease-in-out;
    z-index: 2;
}
.ipe-sm-controlbar-wrapper .sm-button.list {
    position: absolute;
    top:0px;
    left:0px;
    margin:0px;
    padding: 12px 24px;
    transition: all 300ms ease-in-out;
}
.ipe-sm-list-item {
    cursor: pointer;
}
.ipe-sm-controlbar-wrapper .sm-button .menu-button-wrapper {   
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: space-evenly;
}
.ipe-sm-controlbar-wrapper .sm-button.turn {
}
.ipe-sm-controlbar-wrapper .sm-button.info {
}
.ipe-sm-controlbar-wrapper .sm-button .icon-wrapper {
    position: relative;
    height: 100%;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.ipe-sm-controlbar-wrapper .sm-button .inline {
    display: inline-block;
    position: relative;
    height: 100%;
}
.ipe-sm-controlbar-wrapper .sm-button .icon-wrapper.inline {
    width: 27px; /*CALC: P1 / 2 */
    margin: 0px 4px;
}
.ipe-sm-controlbar-wrapper .sm-button .icon {
/*    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);*/
    width: 100%;
    height: 100%;
/*    padding: 0px;*/
}
.ipe-sm-controlbar-wrapper .sm-button.turn .icon {
}
.ipe-sm-controlbar-wrapper .sm-button .icon p {
    position: relative;
    margin: 0;
    top: 50%;
    transform: translate(0px, -50%);
    text-align: center;
    vertical-align: middle;
    font-size: 22px; /*CALC: round(P1 / 2.5) */
}
.ipe-svg.icon .path {
    opacity: 1;
}
/*
.ipe-sm-controlbar-wrapper .icon p.filled {
    color:#FFF; /*VAR-C1*
}
.ipe-svg.icon .path.filled {
    fill:#FFF; /*VAR-C1*
    stroke:none;
}
.ipe-svg.icon .path.stroked {
    fill:none;
    stroke:#fff; /*VAR-C1*
    stroke-width:2;
}
*/
.ipe-sm-controlbar-wrapper .sm-list-wrapper .close-button {
    top: 10px;
    right: 10px;
    position: absolute;
    padding: 12px 24px;
    opacity: 0;
    transition: opacity 200ms linear;
    pointer-events: none;
}

.ipe-sm-controlbar-wrapper .sm-list-wrapper .close-button .icon {
    opacity: 0;
    transition: opacity 200ms linear;
    transition-delay: 300ms;
}


.ipe-sm-controlbar-wrapper .sm-list {
    padding: 12px;
    padding-top: 54px; /*VAR-P1*/
    padding-bottom: 24px;
    padding-right: 20px;
    height: 100%;
    overflow: hidden;
    cursor: pointer;
}

.ipe-sm-controlbar-wrapper .sm-list .sm-list-content {
    height: 100%;
}


.ipe-sm-controlbar-wrapper .scrollable {
    overflow: auto;
    overflow-x: hidden;
}

.ipe-sm-controlbar-wrapper .scrollable::-webkit-scrollbar { /* width */
  width: 6px;
  height: 0px;
}

.ipe-sm-controlbar-wrapper .scrollable::-webkit-scrollbar-track { /* Track */
  background: #f1f1f1; 
  background: #f1f1f133; 
}

.ipe-sm-controlbar-wrapper .scrollable::-webkit-scrollbar-thumb { /* Handle */
  background: #FFFFFF; /*VAR: C1 */
  background: #FFFFFFBB; /*CALC: C1 + "BB" */
}

@media (hover: hover) {
    .ipe-sm-controlbar-wrapper .scrollable::-webkit-scrollbar-thumb:hover { /* Handle on hover */
      background: #FFFFFF; /*VAR: C1 */
    }
}

.ipe-sm-controlbar-wrapper .scrollable { /* Firefox */
    scrollbar-color: #FFFFFF #f1f1f1; /*VAR: C1*/
    scrollbar-color: #FFFFFFBB #f1f1f133; /*CALC: C1 + "BB" */
}

.ipe-sm-controlbar-wrapper .sm-list ul {
    margin:0px;
    padding:0px;
}

.ipe-sm-controlbar-wrapper .sm-list ul li {
    margin:0px;
    padding:4px;
    padding-left:16px;
    white-space: nowrap;
}
@media screen AND (max-width:767px){  /* TODO: Move to PHP to keep dynamic; */
    .ipe-sm-controlbar-wrapper {
        margin:0;
        width: 100%;
    }

    .ipe-sm-controlbar-overlay .ipe-sm-controlbar-wrapper .sm-button {
        margin:6px;
    }
    .ipe-sm-controlbar-overlay .ipe-sm-controlbar-wrapper .sm-button.hide {
        margin:0;
    }

    .ipe-sm-controlbar-wrapper .sm-button.menu,
    .ipe-sm-controlbar-wrapper .sm-button.list{
        width: 110px;
        margin:0;
    }
    .ipe-sm-controlbar-wrapper .sm-button .menu-button-wrapper{
        justify-content: space-between;
    }
    .ipe-sm-controlbar-wrapper .sm-button.list {
        padding: 12px 12px 12px 24px;
    }
    .ipe-sm-controlbar-wrapper .sm-list-wrapper{
        bottom:0;
        left:0;
        width:100%;
        z-index: 0;
    }
    .ipe-sm-controlbar-overlay .ipe-sm-controlbar-wrapper .sm-list-wrapper,
    .ipe-sm-controlbar-overlay.open-menu .ipe-sm-controlbar-wrapper .sm-list-wrapper {
        border-radius: 0;
    }
    .ipe-sm-controlbar-overlay.open-menu .ipe-sm-controlbar-wrapper .sm-list-wrapper {
        width: 100%;
    }
    .ipe-sm-controlbar-overlay .ipe-sm-controlbar-wrapper .sm-button .text-wrapper.inline {
        display: none;
    }
    .ipe-sm-controlbar-overlay .ipe-sm-controlbar-wrapper > .sm-button {
        transition: all 400ms ease-in-out;
    }
    .ipe-sm-controlbar-overlay.open-menu .ipe-sm-controlbar-wrapper > .sm-button {
        transform: translate(100vw,0);
    }

}



/* Datacontainer */
.ipe-sm-datacontainer {
    display:none;
}

.ipe-overlay-viewers{
    z-index: 4;
}

.ipe-iframe-viewer-overlay.active {
    pointer-events: auto;
    z-index: 5;
}

.ipe-iframe-viewer-overlay iframe {
    height:100%;
    width:100%;
    border:none;
}
.ipe-iframe-top{
    z-index: 1;
}
.ipe-iframe-bottom{
    z-index: 0;
}
.ipe-iframe-viewer-overlay .ipe-disclaimer{
    z-index: 2;
}
@media screen AND (min-width: 1025px){
    .ipe-iframe-viewer-overlay .ipe-disclaimer-content{
        max-width: 50%;
    }
}
@media screen AND (max-width: 767px){
    .ipe-disclaimer-content {
        font-size: 10pt;
    }
}
.imagemap-gui-overlays {
    z-index: 105;
}


/* IMAGEMAP PICTURE IN PICTURE */
.imagemap-gui-overlays .ipe-pip-image {
    position: absolute;
    bottom: 10px;
    left: 10px;
    width: 100%;
    height: auto;
    max-width: 300px;
    pointer-events: none;
    opacity: 0;
    transition: all 250ms ease-in-out;
}

.imagemap-gui-overlays .minimized .ipe-pip-image {
    max-width: 100px;
}

.imagemap-gui-overlays .ipe-pip-image.active {
    opacity: 1;
    pointer-events:all;
}

@media screen AND (max-width:767px){
    .imagemap-gui-overlays .ipe-pip-image {
        max-width: 50vw;
    }
    .imagemap-gui-overlays .minimized .ipe-pip-image {
        max-width: 80px;
    }
}

/* END: IMAGEMAP PICTURE IN PICTURE */


/* OPENING MENU */
.open-menu .ipe-sm-controlbar-wrapper .sm-list-wrapper .close-button {
    opacity: 1;
    pointer-events: auto;
    cursor: pointer;
}

.open-menu .ipe-sm-controlbar-wrapper .sm-list-wrapper .close-button .icon {
    opacity: 1;
}
.open-menu .ipe-sm-controlbar-wrapper .sm-list-wrapper {
    width: 350px;
    height: 600px;
    max-height: 80vh;
    border-radius: 12px;
    padding-top: 20px;
}
.open-menu .ipe-sm-controlbar-wrapper .sm-list-wrapper .sm-button.list {
    top:10px;
}

.ipe-hotspot-canvas-wrapper {
    pointer-events: none;
    z-index: 7;
}

.ipe-hotspot-canvas {
    opacity: 0;
    pointer-events: none;
    transition: opacity 120ms linear;
    z-index: 8;
}

.ipe-hotspot-canvas.active {
    opacity: 1;
}

.ipe-hotspot {
    position: absolute;
    transform: translate(-50%,-50%);
    background-color: #888; /*VAR*/
    border-radius: 24px; /* CALC */
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #FFF; /*VAR*/
    opacity: 1;

    height:48px; /*VAR*/
    min-width:48px; /*VAR*/
    padding: 12px; /* CALC */

    transition:all 200ms linear; /* TODO: Global transition time */
}
.ipe-hotspot.display-none{
    display: none;
}

.ipe-hotspot .path {
    transition:all 200ms linear; /* TODO: Global transition time */
}

.ipe-hotspot.ipe-hide {
    opacity: 0;
}

.ipe-hotspot-canvas.active .ipe-hotspot {
    pointer-events: auto;
}
@media screen AND (hover: hover){
    .ipe-hotspot-canvas.active .ipe-hotspot:hover {
        z-index: 3;
    }
}

.ipe-hotspot-canvas.active .ipe-hotspot.ipe-pointer-events-off {
    pointer-events: none;
}

.ipe-hotspot.ipe-square {
    width:48px; /*VAR*/
}

.ipe-hotspot-icon {
    display: inline;
    /*position: relative;*/
    font-size: 19.2px; /* CALC */
    padding: 8px; /* CALC */
}

.ipe-hotspot-icon .icon {
    position: relative;
    display: block;
    z-index: 5;
    max-height: 24px;  /* CALC */
    max-width: 24px; /* CALC */
}

.ipe-hotspot-icon .icon p {
    line-height: 0;
    margin:0;
}

.ipe-is-panning .ipe-hotspot,
.ipe-is-panning .ipe-hotspot g path {
    pointer-events: none !important;
}

/* FIX CUSTOM ICON SIZE */
.ipe-hotspot-canvas .ipe-hotspot.ipe-hotspot-icon-type-custom {
    padding:0;
}
.ipe-hotspot-canvas .ipe-hotspot.ipe-hotspot-icon-type-custom .ipe-hotspot-icon{
    padding:0;
}
.ipe-hotspot.ipe-hotspot-icon-type-custom .icon.custom {
    max-height: 100%;
    max-width: 100%;
    line-height: 0;
}
.ipe-hotspot.ipe-hotspot-icon-type-custom .ipe-hotspot-icon,
.ipe-hotspot.ipe-hotspot-icon-type-custom .icon.custom .custom-icon-img {
    height: 100%;
    width: 100%;
}

/*.ipe-hotspot-icon .icon.virtual_tour p {
    transform: translate(-1px,0px);
}*/

.ipe-hotspot-text {
    display: inline;
    position: relative;
    padding: 8px; /* CALC */
    line-height: 0;
    white-space: nowrap;
}

.ipe-hotspot-icon .ipe-svg.icon .path.stroked {
    stroke: #fff; /*VAR*/
}

.ipe-hotspot-icon .ipe-svg.icon .path.filled {
    fill: #fff; /*VAR*/
}


/* END: STATE MACHINE */


/* GENERAL EFFECTS */
.ipe-box-shadow {
    -webkit-box-shadow: -2px 2px 3px #00000028;
    -moz-box-shadow: -2px 2px 3px #00000028;
    box-shadow: -2px 2px 3px #00000028;
}
.ipe-drop-shadow,
.ipe-drop-shadow svg {
    -webkit-filter: drop-shadow( -1.5px 1.5px 1.5px #00000028 );
    -moz-filter: drop-shadow( -1.5px 1.5px 1.5px #00000028 );
    filter: drop-shadow( -1.5px 1.5px 1.5px #00000028 );
}
.ipe-clickable {
    cursor: pointer;
}

.svgpath.hidden {
    opacity: 0 !important;
    pointer-events: none !important;
}








/* Sunpath controls on mobile */
@media screen AND (orientation:portrait) {
    .ipe-controlbar.sunpath {
        flex-wrap: wrap-reverse;
        justify-content: space-between;
    } 
}


/* The slider itself */
.slider-input {
  -webkit-appearance: none;  /* Override default CSS styles */
  appearance: none;
  width: 100%; /* Full-width */
  height: 6px; /* Specified height */
  border-radius: 3px;  
  background: #FFFFFF88; /* Grey background */
  outline: none; /* Remove outline */
  opacity: 0.85; /* Set transparency (for mouse-over effects on hover) */
  -webkit-transition: .2s; /* 0.2 seconds transition on hover */
  transition: opacity .2s;
  transform: translateY(-50%);
}

/* Mouse-over effects */
@media (hover: hover) {
    .slider-input:hover {
      opacity: 1; /* Fully shown on mouse-over */
    }
}

/* The slider handle (use -webkit- (Chrome, Opera, Safari, Edge) and -moz- (Firefox) to override default look) */
.slider-input::-webkit-slider-thumb {
  -webkit-appearance: none; /* Override default look */
  appearance: none;
  width: 18px; /* Set a specific slider handle width */
  height: 18px;
  border-radius: 50%; 
  background: #FFFFFF;
  cursor: pointer; /* Cursor on hover */
  cursor: grab; /* Cursor on hover */
}

.slider-input::-moz-range-thumb {
  width: 18px; /* Set a specific slider handle width */
  height: 18px;
  border-radius: 50%;
  background: #FFFFFF;
  cursor: pointer; /* Cursor on hover */
  cursor: grab; /* Cursor on hover */
}

.ipe-controlbar .ipe-button {
    cursor: pointer;
    opacity: 1;
    -webkit-transition: opacity 100ms linear;
    -moz-transition: opacity 100ms linear;
    -ms-transition: opacity 100ms linear;
    -o-transition: opacity 100ms linear;
    transition: opacity 100ms linear;
    z-index: 1;
}

@media (hover: hover) {
    .ipe-controlbar .ipe-button:hover {
        opacity:0.8;
    }
}

.ipe-controlbar .ipe-button.active img {
    opacity: 0.6;
}

.ipe-controlbar .ipe-icon.nordpil {
    transition:opacity 200ms linear;
}
.ipe-controlbar .ipe-icon.nordpil.hidden {
    opacity:0;
}

.ipe-controlbar .ipe-icon.nordpil img {
    -webkit-transition: transform 480ms ease-in-out;
    -moz-transition: transform 480ms ease-in-out;
    -ms-transition: transform 480ms ease-in-out;
    -o-transition: transform 480ms ease-in-out;
    transition: transform 480ms ease-in-out;
}

.ipe-controlbar .text {
    text-align: center;
}

/* STILL IMAGE */
.imagemap-still-image{
    position: relative;
    z-index: 7;
}





/*  OLD, MESSY AND DEPRECATED
.ipe-imagemap {
    height: 100%;
    max-height: 100%;
}

.ipe-container .sprite-spinner-wrapper .sprite-spinner-container .spritespin-canvas {
    max-height: 100%;
}

.ipe-container .sprite-spinner-wrapper.scale-to-cover .sprite-spinner-container .spritespin-canvas {
    /*max-height: unset;
    width: 100% !important;
}

.ipe-container.column .sprite-spinner-wrapper .sprite-spinner-container .spritespin-canvas {
    width: auto !important;
    margin:auto;
}

@media screen AND (orientation:landscape) {
    .ipe-container.column .sprite-spinner-wrapper .sprite-spinner-container .spritespin-canvas {
        height: auto !important;
    }
    .ipe-container.column .sprite-spinner-wrapper.scale-to-cover .sprite-spinner-container .spritespin-canvas {
        /*width: 100% !important;
        min-width: 100% !important;
    }
}

@media screen AND (orientation:portrait) {
    .ipe-container .sprite-spinner-wrapper.scale-to-cover .sprite-spinner-container .spritespin-canvas {
        left: 50% !important;
        right: 0px;
        transform: translate(-50%, 0px);
    }
}
*/



.imagemap-global-wrapper {
    position: relative;
    height: 100%;
    width:100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}


/* ZOOM CANVAS */
.ipe-zoom-canvas {
    z-index: 1;
}

.not-touch-device .ipe-zoom-canvas,
.not-touch-device .ipe-zoom-canvas .ipe-hotspot {
    transition: all 200ms ease-out;
}

.ipe-zoom-canvas {
    cursor: move; /* fallback if grab cursor is unsupported */
    cursor: grab;
    cursor: -moz-grab;
    cursor: -webkit-grab;
}

 /* (Optional) Apply a "closed-hand" cursor during drag operation. */
.ipe-zoom-canvas:active {
    cursor: grabbing;
    cursor: -moz-grabbing;
    cursor: -webkit-grabbing;
}
/* END: ZOOM CANVAS 
*/


/*NOPE - NOT HERE*/
/*.imagemap-viewport {
    overflow:hidden;
}*/


.display-block {
    display: block;
}

.imagemap-masks-canvas-wrapper {
    z-index:1;
}

.ipe-imagemap .svg-wrapper,
.imagemap-masks-canvas-wrapper .svg-wrapper {
    position: absolute;
    top:0px;
    bottom:0px;
    left:0px;
    right:0px;
    height: 100%;
    width:100%;
    opacity:0;
    display: none;
    -webkit-transition: opacity 0ms linear; /*VAR*/
    -moz-transition: opacity 0ms linear; /*VAR*/
    -ms-transition: opacity 0ms linear; /*VAR*/
    -o-transition: opacity 0ms linear; /*VAR*/
    transition: opacity 0ms linear; /*VAR*/
}

.ipe-imagemap .svg-wrapper.fade,
.imagemap-masks-canvas-wrapper .svg-wrapper.fade  {
    opacity:1;
}

.ipe-imagemap .svg-wrapper.active,
.imagemap-masks-canvas-wrapper .svg-wrapper.active {
    display: block;
    z-index: 2;
}

.ipe-imagemap-wrapper {
    position: relative;
    margin: auto;
    width:auto;
}

.imagemap-image-wrapper {
    line-height: 0;
}


/* SIGNATUR 2.0 */
.signatur {
    line-height: 1.3em;  /*VAR*/
}
.signatur .signatur-wrapper {
    display: flex;
    flex-direction: column;
    height: 100%;
    align-content: flex-end;
}
.signatur .item {
    position: relative;
    padding: 0 16px;
    white-space: nowrap;
}
.signatur .element {
    display: inline-block;
    margin: 0px;
}
.signatur .element.farve {
    width: 10px; /*VAR*/
    height: 10px; /*VAR*/
    border-radius: 10px; /*VAR*/
    vertical-align: baseline;
}
.signatur .element.titel {
    margin-left: 12px;
}


/* TOOLTIP / INFOBOX */
/* 1.0 */
.ipe-infobox-wrapper.no-infobox-on-touch.touch-behavior {
    display: none;
}


.tooltip-background {
    position: absolute;
    top:500px;
    left:500px;
    transition: opacity 0.15s linear;
    z-index: 110;
    pointer-events: none;
    /*visibility: hidden;*/
    /*display: none;*/
    opacity:0;
}

.tooltip-background .tooltip-header {
    padding: 1.2em;
    padding-bottom: 0.6em;
    background-color: black;
    color: white;
}

.tooltip-background .tooltip-header h6 {
    margin: 0px;
    color:white;
}

.tooltip-background .tooltip-content, .tooltip-background .tooltip-override {
    background-color: #FFF;
    padding: 1.2em;
    padding-top: 0.6em;
}

.tooltip-background.visible {
    /*visibility: visible;*/
    display: block;
}

.tooltip-background .tooltip-content table {
    margin:0px;
    width: 100%;
    border-spacing: 0;
    border-collapse: collapse;
}

.tooltip-background .tooltip-content td:nth-of-type(2) {
    text-align: right;
}

#infospot-tooltip .tooltip-content img {
    display: block;
    margin-right: auto;
    margin-left: auto;
}

#infospot-tooltip .tooltip-content .imagecontainer img {
    padding:1em;
}
/* END 1.0 */

/* 2.0 */
.ipe-infobox-wrapper{
    pointer-events: none;
    /*overflow: hidden;*/
    z-index: 100;
}

.ipe-infobox-wrapper .tooltip-background {
    position: absolute;
    top:0px;
    left:0px;
}

.ipe-infobox-anchor {
    position: fixed;
}

.ipe-infobox-anchor .tooltip-background {
    position: relative;
    transform: translate(100px,-30%);
    max-width: 45vw;
    max-width: calc(50vw - 30px); /* HALF WIDTH MINUS OFFSET */
    transition: transform 200ms ease-in-out, opacity 80ms linear;
}
.ipe-infobox-anchor .y-slide {
    transition: transform 200ms ease-in-out;
    transform: translate(0,0);
}
.ipe-infobox-anchor.ipe-flip-anchor .y-slide {
    transform: translate(-100%,0);
}
.ipe-infobox-anchor.ipe-flip-anchor .tooltip-background {
    transform: translate(-100px,-30%);
}

@media screen AND (min-width:768px){ /* TODO: Move to styling-indstillinger, to make dynamic  */
    .ipe-infobox-anchor .tooltip-background {
        max-width: 280px;
    }
}

.ipe-infobox-anchor .tooltip-background .tooltip-header,
.ipe-infobox-anchor .tooltip-background .tooltip-content {
    max-width: 500px;
}

.tooltip-content .imagecontainer {
    text-align: center;
}

.ipe-infobox-background.empty,
.ipe-infobox-background.no-title {
    opacity: 0!important;
}

.ipe-infobox-background table td {
    padding: 8px 0 4px 0;
}

.ipe-infobox-background table td:first-of-type {
    padding-right: 4px;
}

.ipe-infobox-background table td:last-of-type {
    padding-left: 4px;
}


/* Tooltip on touchdevice:
 * Show under map
 * For 2.0 */
.ipe-infobox-wrapper.absolute-stretch.touch-behavior {
    position: relative;
    z-index: 1;
}

.touch-behavior div.ipe-infobox-anchor {
    transform: unset !important;
}

.touch-behavior div.ipe-infobox-background {
    display: block;
    position: relative;
    width: 100%;
    max-width: 100%;
    margin: 0;
    transform: unset;
}
/* END 2.0*/


/* TOUCH HANDLER */  /* TODO: Clean this up when done  *|
.ipe-touch-handler {
    display: none;
    pointer-events: none;
}
/*.touch-device .ipe-touch-handler { *|
.ipe-touch-handler {
    display: block;
    pointer-events: auto;
    background-color: #00000088;

    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    font-size: 1.2em;
}*/

.touch-device .ipe-zoom-canvas,
.touch-device .ipe-zoom-canvas .ipe-hotspot {
    transition: none;
}
.ipe-touch-test-wrapper {
    pointer-events: none;
}
.ipe-touch-test {
    top: 100%;
    transform: translate(0,-100%);
    text-align: center;
    position: relative;
    z-index: 9999;
    background-color:#FFF8;
}
/*
.ipe-touch-handler .ipe-touch-test {
    transform: translate(0px, -50%);
    text-align: center;
}

.ipe-touch-handler .ipe-touch-test2 {
    font-size: 2em;
    position: absolute;
    bottom: 25%;
    right: 50%;
    transform: translate(50%,50%);
}
/* END: TOUCH HANDLER */

/* INFOBOX 2.5 */
.ipe-infobox-background {
    opacity: 0;
}
.ipe-infobox-background.infobox-visible {
    opacity: 1;
}
/* END: INFOBOX 2.5 */
/* END: TOOLTIP / INFOBOX */


/* DISABLE DEFAULT BORDERS AND ROW COLORING */
#BOP-wrapper table tbody tr:nth-child(even) td,
#BOP-wrapper table tbody tr:nth-child(odd) td, 
.ipe-infobox-wrapper table tbody tr:nth-child(even) td,
.ipe-infobox-wrapper table tbody tr:nth-child(odd) td {
    background-color: inherit;
}
#BOP-wrapper table td, 
.ipe-infobox-wrapper table td {
    border: none;
}


/* GENERAL CSS CLASSES */
.z-index-0 {
    z-index: 0;
}
.opacity-0 {
   opacity: 0;
}
.relative {
    position: relative;
}
.absolute {
    position: absolute;
}
.absolute-stretch {
    position: absolute;
    top: 0px;
    left: 0px;
    bottom: 0px;
    right: 0px;
    width:100%;
    height:100%;
}

.align-center-middle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.align-center {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.align-middle {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.align-middle-relative {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}

.interactive-project-explorer .align-middle-relative-only-in-ipe{
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}

.overflow-hidden {
    overflow: hidden;
}

.ipe-fade-in,
.ipe-fade-in-fast,
.ipe-fade-in-slow {  /* TODO: Replace with newer: ipe-do-fade */
    opacity: 0;
    pointer-events: none;
    transition: opacity 200ms linear;
}

.ipe-fade-out,
.ipe-fade-out-fast,
.ipe-fade-out-slow  {
    opacity: 1;
    transition: opacity 200ms linear;
}

.ipe-fade-in.ipe-do-fade,
.ipe-fade-in-fast.ipe-do-fade,
.ipe-fade-in-slow.ipe-do-fade {
    opacity: 1;
    pointer-events: auto;
}

.ipe-fade-in.ipe-do-fade.ipe-pointer-events-off,
.ipe-fade-in-fast.ipe-do-fade.ipe-pointer-events-off,
.ipe-fade-in-slow.ipe-do-fade.ipe-pointer-events-off {
    pointer-events: none;
}

.ipe-fade-out.ipe-do-fade,
.ipe-fade-out-fast.ipe-do-fade,
.ipe-fade-out-slow.ipe-do-fade {
    opacity: 0;
    pointer-events: none;
}

.ipe-animate-transform {
    transition: transform 200ms ease-in-out, opacity 200ms ease-in-out;
}

.ipe-animate-transform-slow {
    transition: transform 400ms ease-in-out, opacity 200ms ease-in-out;
}

.ipe-animate-all {
    transition: all 100ms ease-in-out;
}

.ipe-animate-down {
    opacity: 0;
    transform: translate(0,100vh);
}
.ipe-animate-down .ipe-pointer-events-auto {
    pointer-events: none;
}

.ipe-animate-off {
    transition: none!important;
}

.ipe-pointer-events-off {
    pointer-events: none;
}

.ipe-pointer-events-all {
    pointer-events: auto;
}

.ipe-pointer-events-auto {
    pointer-events: auto;
}

.ipe-cursor-default {
    cursor: default;
}

.ipe-cursor-pointer {
    cursor: pointer;
}

.ipe-center-text {
    text-align: center;
}

/* GENERAL FLEX */
.ipe-flex-column {
    display: flex;
    flex-direction: column;
}
.ipe-flex-justify-center {
    justify-content: center;
}
.ipe-flex-justify-flex-start {
    justify-content: flex-start;
}
.ipe-flex-justify-flex-end {
    justify-content: flex-end;
}
.ipe-flex-space-evenly {
    justify-content: space-evenly;
}
.ipe-flex-space-between {
    justify-content: space-between;
}

.ipe-flex-align-center {
    align-items: center;
}
.ipe-flex-align-flex-start {
    align-items: flex-start;
}
.ipe-flex-align-flex-end {
    align-items: flex-end;
}




.ipe-imagemap-fade-in .ipe-flipbook-wrapper,
.ipe-imagemap-fade-in .imagemap-masks-canvas-wrapper,
.ipe-imagemap-fade-in .ipe-hotspot-canvas-wrapper,
.ipe-imagemap-fade-in .imagemap-gui-overlays
 {
    transition: opacity 300ms linear;
    opacity: 0;
}
.ipe-imagemap-fade-in.ipe-do-fade .ipe-flipbook-wrapper,
.ipe-imagemap-fade-in.ipe-do-fade .imagemap-masks-canvas-wrapper,
.ipe-imagemap-fade-in.ipe-do-fade .ipe-hotspot-canvas-wrapper,
.ipe-imagemap-fade-in.ipe-do-fade .imagemap-gui-overlays{
    opacity: 1;
}
.ipe-imagemap-fade-in.ipe-do-fade .ipe-flipbook-wrapper,
.ipe-imagemap-fade-in.ipe-do-fade .imagemap-gui-overlays{
    z-index: 5;
}
.ipe-imagemap-fade-in.ipe-do-fade .imagemap-masks-canvas-wrapper{
    z-index: 7;
}
.ipe-imagemap-fade-in.ipe-do-fade .ipe-hotspot-canvas-wrapper{
    transition-delay: 100ms;
}
.ipe-imagemap-fade-in.ipe-do-fade .imagemap-gui-overlays{
    transition-delay: 200ms;
}



/* DEBUG */
/* TOOLTIP ALWAYS ON */
/*.tooltip-background {
    display: block !important;
    opacity: 1 !important;
}
#infospot-tooltip {
    display: none !important;}
}
*/


/* IPE CAPTION CONTROLLER */
.ipe-caption-controller-container {
    max-width: 400px;
    position: absolute;
    background-color: #00000088;
    color: white;
    padding: 20px 30px;
    margin: 10px;
    bottom: 0;
    right: 0;
}


/* IPE LIGHTBOX 2.5 (STATE MACHINE) */
.ipe-lightbox-overlay {
    z-index: 6;
}
.ipe-lightbox-underlay {
    background-color: #00000044; /* TODO: VAR */
}
.ipe-lightbox-container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    height: 100%;
    flex-wrap: wrap;


/*    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    max-height: 100%;*/

/*    padding:30px;
    height: 9999px;*/
/*    background-color:#FFF;
    max-height: 80%;
    max-width: 80%;*/
}
.ipe-lightbox-content {
/*    display: flex;
    max-height: 100%;*/

    height: 100%;
    max-width: 100%;

/*    position: relative;
    height: 100%;
    width: 100%;*/
}


/* IPE INFOSPOT 2.5 */

.ipe-infospot {
    position: relative;
    height: 100%;
    height: calc(100% - 50px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 550px; /*VAR*/
    margin: 50px 20px 0;
}
@media screen AND (max-width: 768px){
    .ipe-infospot {
        margin: 30px 10px 0;
    }
}
.ipe-infospot .ipe-infospot-content{
    position: relative;
    overflow: auto;
    padding:60px 40px; /*VAR*/
    background-color: #FFFFFF; /*VAR - BG color*/
    border-radius: 5px; /* VAR - BG round corners*/
    max-height: 100%;
}

.ipe-infospot .ipe-infospot-content * {
    color: inherit; /*VAR - font color*/
}

.ipe-infospot .ipe-infospot-content > *:first-child  {
    margin-top: 0;
}

.ipe-infospot .ipe-title {
    font-size: 28px; /*VAR - title font size*/
}

.ipe-infospot .ipe-manchette {
    
}

.ipe-infospot .ipe-quote {
    
}

.ipe-infospot .ipe-text {
    
}

@media (hover:hover) {
    .ipe-infospot .ipe-link a:hover {
        text-decoration: underline;
    }
}

.ipe-infospot .ipe-images {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.ipe-infospot .ipe-images img {
    margin: auto;
    align-self: flex-start;
    max-width: 100%;
    height: auto;
}

.ipe-infospot .ipe-images.multiple-images img {
    margin: 3% 0; /* VAR image-space */
    width: 47%; /* CALC */
}

.ipe-infospot .ipe-images.multiple-images.odd-images img:first-of-type {
    width: unset;
}

.ipe-infospot .ipe-lightbox-close-button{
    position: absolute;
    right:0px;
    top:0px;
    padding: 16px 14px;
    cursor: pointer;
    opacity: 0.7;
}

.ipe-infospot .ipe-infospot-content > .ipe-lightbox-close-button {
    margin: 0;
}

.ipe-lightbox-content *::-webkit-scrollbar { /* width */
    width: 10px;
    height: 10px;
}

.ipe-lightbox-content *::-webkit-scrollbar-track { /* Track */
    background: lightgrey;  /*VAR: C1 */
    border-radius: 0 6px 6px 0;
}

.ipe-lightbox-content *::-webkit-scrollbar-thumb { /* Handle */
    background: #FFFFFF; /*VAR: C2 */
    background: #FFFFFFBB; /*CALC: C2 + "BB" */
    border:3px solid lightgrey;  /*VAR: C1 */
    border-radius: 5px;
}

.ipe-lightbox-content * { /* Firefox */
    scrollbar-color: #FFFFFF lightgrey; /*VAR: C2 C1*/
    scrollbar-color: #FFFFFFBB lightgrey; /*CALC: C2 + "BB" C1 */
}

@media (hover: hover) {
    .ipe-lightbox-content *::-webkit-scrollbar-thumb:hover { /* Handle on hover */
      background: #FFFFFF; /*VAR: C1 */
    }

    .ipe-infospot .ipe-lightbox-close-button:hover {
        opacity: 1;
    }
}
/* END: IPE INFOSPOT 2.5 */


/* IPE PAGEMODAL 2.5 */
.ipe-pagemodal {
    position: relative;
    height: 100%;
    height: calc(100% - 50px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 50px 20px 0;
}
@media screen AND (max-width:767px){
    .ipe-pagemodal.ipe-pagemodal-design-1 {
        justify-content: flex-end;
        margin: 50px 0 0;
    }
    .ipe-pagemodal.ipe-pagemodal-design-1 .ipe-pagemodal-content {
        border-radius: 0px;
    }
}
.ipe-pagemodal .ipe-pagemodal-content{
    position: relative;
    overflow: auto;
    max-height: 100%;
}

.ipe-pagemodal .ipe-pagemodal-content h2 {
    margin-top: 0;
}

.ipe-pagemodal .ipe-pagemodal-content p {
}

.ipe-pagemodal .ipe-pagemodal-content .ipe-page-abstract {
}

.ipe-pagemodal .ipe-pagemodal-content .ipe-page-text {
    position: relative;
}

.ipe-pagemodal .ipe-pagemodal-content .ipe-page-text::after {
    content:"";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100px;
    max-height: 100%;
}

@media (hover:hover) {
    .ipe-pagemodal a:hover {
        text-decoration: underline; /*VAR*/
    }
}

.ipe-pagemodal .ipe-lightbox-close-button{
    position: absolute;
    right:0px;
    top:0px;
    padding: 16px 14px;
    cursor: pointer;
    opacity: 0.7;
}

.ipe-pagemodal .ipe-pagemodal-content > .ipe-lightbox-close-button {
    margin: 0;
}
/* END: IPE PAGEMODAL 2.5 */



/* IMAGEMAP GUIDE INFO BOX */
/*.ipe-imagemap-guide {
    position: relative;
    display: flex;
}*/
.ipe-imagemap-guide-content .guide-info,
.ipe-imagemap-guide-content .signature-info {
    display: flex;
    flex-direction: column;
    padding:30px;
}
.ipe-imagemap-guide-content .guide-info {
    flex: 2 1;
    background-color: white; /* TODO: VAR */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.ipe-imagemap-guide-content .guide-info .navigation-info {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.ipe-imagemap-guide-content .signature-info {
    flex: 1 1;
    color:white;  /* TODO: VAR */
    background-color: black; /* TODO: VAR */
}
.ipe-imagemap-guide-content .ipe-lightbox-close-button {
    position: absolute;
    top: 0px;
    right: 0px;
    padding: 16px 14px;
    cursor: pointer;
}

/* NEW */
.ipe-imagemap-guide {
    position: relative;
    height: 100%;
    height: calc(100% - 50px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 700px;
    margin: 50px 20px 0;
}

@media screen AND (max-width: 767px) {
    .ipe-imagemap-guide {
        margin: 50px 5px 0;
    }
}

.ipe-imagemap-guide-scrollarea {
    overflow: auto;
}

.ipe-imagemap-guide-content {
    overflow: hidden;
    position: relative;
    display: flex;
    align-items: stretch;
}

.ipe-imagemap-guide .signature-icons {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
}

.ipe-imagemap-guide .signature-icon {
    display: flex;
    align-items: center;
    margin: 10px 0;
}

.ipe-imagemap-guide .ipe-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width:52px;
    height:52px;
    border-radius: 26px;
    margin: 9px 0 7px 0;
}
.signature-icons .ipe-icon.ipe-north {
    background-color: unset;
    border:2px solid grey; /*VAR*/
}
.signature-icons .ipe-icon.ipe-north svg {
    width:100%;
    height:100%;
    fill: grey; /*VAR*/
}
.signature-icons .ipe-icon svg .path.stroked {
    stroke: #fff; /*VAR*/
}
.signature-icons .ipe-icon p {
    color: #fff; /*VAR*/
}

.ipe-imagemap-guide .ipe-label {
    margin: 8px;
}

.ipe-imagemap-guide .navigation-info-wrapper {
    position: relative;
}

.ipe-imagemap-guide .navigation-icon {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 2em;
}

/* PLACEMENT OF ICONS IN INFO GUIDE */
@media screen AND (max-width: 767px) {
    .ipe-imagemap-guide-content .guide-info .navigation-info {
        justify-content: space-around;
    }
    .ipe-imagemap-guide .ipe-icon {
        margin: 9px;
        margin-bottom: 7px;
    }
    .ipe-imagemap-guide .navigation-icon:first-child {
        margin-right: 17%;
    }
}

.ipe-imagemap-guide .navigation-icon .ipe-label {
    position: absolute;
    top: 100%;
    white-space: nowrap;
    text-align: center;
}

.ipe-imagemap-guide .ipe-icon.ipe-punktmenu {
    width: auto;
    padding: 20px;
}

.ipe-imagemap-guide .ipe-icon.ipe-punktmenu .ipe-burgermenu {
    margin: 0 15px 0 5px;
}


/* END: IMAGEMAP GUIDE INFO BOX */



/* BLUR FILTER */
.ipe-blur-filter {
    z-index: 3;
    -webkit-backdrop-filter: blur(0.2px);
    backdrop-filter: blur(0.2px);
}
/* END: BLUR FILTER */

.sprite-spinner-container {
    cursor: grab;
    margin:auto;
    max-height: 100%;
    max-width: 100%;
}

.sprite-spinner-container:active {
    cursor: grabbing;
}



.ipe-filters  {
    flex-shrink: 0;
}

.ipe-filters .filter-wrapper {
    position: absolute;
    top:0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    pointer-events:none;
}

.ipe-filters .filter-wrapper > * {
    pointer-events:auto;
}

.ipe-filters .filter-wrapper > .underlay {
    position: absolute;
    top:0px;
    bottom:0px;
    left:0px;
    right:0px;
    background-color: #FFFFFF;
    opacity: 0.5;
    transition: opacity 300ms ease-in-out;
    z-index: 4;
}

.ipe-filters .filter-wrapper > .underlay.inactive {
    pointer-events: none;
    opacity: 0;
}

.ipe-filters .filters.filter-design-3 {
    position: absolute;
    width: 100%;
    height: auto;
    max-height: 100%;
    overflow: auto;
    padding-top: 100px;
    background-color: #FFF; /* VAR - SITE BG */
    z-index: 4;
}

.filter-design-3 .filter-button {
   cursor: unset;
}

.filter-design-3 .filter-button.clickable {
    cursor: pointer;
}

.ipe-list-reset-filters {
    cursor: pointer;
}

.click-button-wrapper {
    display: flex;
}

.click-button-wrapper .flex-child {
    flex: 0 0;
    white-space: nowrap;
}

.click-button-wrapper .flex-child.empty {
    flex: 1 auto;
}

.click-button-wrapper .filter-button.clickable.go {
    padding: 8px 30px;
    border-radius: 100px;
    margin-right: 20px;
    background: #666666; /*VAR*/  /*TODO*/
    color: white; /*VAR*/  /*TODO*/
}

.click-button-wrapper .filter-button.clickable.reset .text {
    display: block;
    position: relative;
    top: 50%;
    transform: translate(0px,-50%);
}

@media screen AND (orientation:landscape) AND (max-width:924px) {
    .filter-design-3 .filter-button.price .button-content {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .filter-design-3 .filter-button.price .value {
        font-size: 1.7vw;
    }
}


.ipe-list-wrapper {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.ipe-list-wrapper .table-wrapper {
    height: 100%;
    overflow: auto;
}

.ipe-list-wrapper table thead:first-child tr:first-child th {
    border: unset;
}


.ipe-list-wrapper .noresults {
    pointer-events: none;
    position: absolute;
    top: 0px;
    bottom: 0px;
    left: 0px;
    right: 0px;}

.ipe-list-wrapper .noresults.hidden{
    display: none;
}

.ipe-list-wrapper .noresults .text {
    pointer-events: auto;
    text-align: center;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}

.ipe-list-wrapper .noresults .text a {
    cursor: pointer;
}



.dd-customizer {
    /*overflow: hidden;*/
}

.dd-customizer-wrapper {
    position: relative;
}

.dd-c-image {
    display: block;
    width: 100%;
}

.dd-c-hotspotswrapper .hotspot {
    position: absolute;
    transform: translate(-50%,-50%);
    cursor: pointer;
}

.dd-c-hotspotswrapper .hotspot img.c-hotspot-icon {
    width: 100%;
}
@media screen AND (max-width: 1024px){
    .dd-c-hotspotswrapper .hotspot img.c-hotspot-icon {
        transform: scale(.75);
    }
}
@media screen AND (max-width: 767px){
    .dd-c-hotspotswrapper .hotspot img.c-hotspot-icon {
        transform: scale(.5);
    }
}



.dd-c-hotspotswrapper .hotspot .dd-hotspot-menu {
    position: absolute;
    transform: translate(-50%, -50%) scale(0);
    margin: 0;
    opacity: 0;
    transition: all 350ms ease;
}

.dd-c-hotspotswrapper .hotspot.active {
    z-index: 1;
}

.dd-c-hotspotswrapper .hotspot.active .dd-hotspot-menu {
    transform: translate(25%, -50%);
    opacity: 1;
}

.dd-c-hotspotswrapper .hotspot.right-side.active .dd-hotspot-menu {
    transform: translate(-125%, -50%);
}

.dd-c-hotspotswrapper .svg-wrapper {
    position: absolute;
    top: 0px;
    bottom: 0px;
    left: 0px;
    right: 0px;
}

.dd-c-hotspotswrapper .svg-wrapper g path {
    cursor: pointer;
    opacity: 0;
}

.dd-c-hotspotswrapper .underlay {
    display: none;
    position: absolute;
    top: 0px;
    bottom: 0px;
    left: 0px;
    right: 0px;
}

.dd-c-hotspotswrapper .underlay.active {
    display: block;
}

.dd-hotspot-menu {
    background-color: white;
    padding: 20px;
    border: 3px solid #000000;
}

.hotspot .dd-hotspot-menu {
    top: 50%;
    left: 50%;
    transform: translate(0px, -50%);
    margin: 0px 36px;
}

.fullscreen-choicebox {
    display: none !important; /* DISABLED  */
    z-index: 1;
}

.fullscreen-choicebox .dd-hotspot-menu {
    position: absolute;
    top:0px;
    bottom:0px;
    left:0px;
    right:0px;
    border-radius: 0px !important;
}

.dd-hotspot-menu td img {
    max-height: 24px;
    max-width: unset;
}

.dd-hotspot-menu table {
    margin:0px;
    border-collapse: collapse;
}

.dd-hotspot-menu table tr th, 
.dd-hotspot-menu table tr td,
.dd-hotspot-menu table tr th:first-child, 
.dd-hotspot-menu table tr td:first-child ,
.dd-hotspot-menu table tr th:last-child, 
.dd-hotspot-menu table tr td:last-child {
    padding: 6px;
    white-space: nowrap;
    border: none;
    cursor: pointer;
}

.dd-hotspot-menu table td ,
.dd-hotspot-menu table td > * {
    vertical-align: middle;
}

.dd-hotspot-menu table tbody>tr:nth-child(odd)>td, 
.dd-hotspot-menu table tbody>tr:nth-child(odd)>th {
    background-color: unset;
}

@media (hover: hover) {
    .dd-hotspot-menu table tbody tr:hover>td,
    .dd-hotspot-menu table tbody tr:hover>th,
    .dd-hotspot-menu table tbody tr:nth-child(odd):hover>td,
    .dd-hotspot-menu table tbody tr:nth-child(odd):hover>th {
        background-color: #e9e9e9; /*VAR*/
    }
}

.ipe-simple-debug {
    display: none;
}

.ipe-simple-debug .debug-log {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
    color: white;
}

.show-debug-overlay .ipe-simple-debug {
    display: block;
}



/* FIT TO WINDOW 2.5 
 * ONLY THREE CLASSES THAT SHOULD BE USED TO CONTROL AUTO FILL HEIGHT VIA JS AND CSS
 */
.fit-to-window {
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
}
.imagemap-fill-and-cover{
    position: relative;
    flex-shrink: 0;
}
.imagemap-fill-and-cover .imagemap-still-image img{
    width:100%;
    height:100%;
}
.imagemap-fit-inside{
    position: relative;
    /*margin: auto;*/  /* DON'T DO THIS, IT KEEPS DOESN'T CENTER VERTICALLY */
}
.imagemap-fitting-wrapper {
    position: relative;
    height: 100%;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    z-index: 1;
}
.imagemap-hard-fit-inside {
    position: relative;
}


.flipbook-fill-and-cover.ipe-lottie-controller {
    position: relative;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.ipe-lottie-controller ipe-lottie-player{
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.sunpath-fill-image{
    display: none;
    min-width: 100%;
    min-height: 100%;
    width: 100%;
    height: 100%;
}
.sunpath-fill-image.active{
    display: block;
}
.ipe-button.season {
    opacity: 0.6;
}
.ipe-button.season.active {
    opacity: 1;
}



.pretty-image {  /* Dropping Pretty Image */
    position: absolute;
    pointer-events: none;
    z-index: 1;
}
.pretty-image.hidden {
    opacity: 0.2;
}

/* Dynamic "fake" loading screen */
.ipe-loader {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    opacity: 0;
    transition: opacity 120ms linear;
}
.ipe-loader.active {
    opacity: 1;
}
.ipe-loader::before {
    content: "";
    display: block;
    background-color: white; /* TODO: Maybe loading screen has same BG color as lightbox? */
    width: 100%;
    height: 100%;
    opacity: 0.3;
}
.ipe-loader::after {
    content: "";
    position: absolute;
    background-color: white;
    top: 50%;
    transform: translate(0,-50%);
    height: 2px;
    width:0%;
    opacity: 0.8;
    margin:0 25%;
}
.ipe-loader.active::after {
    width:50%;
    transition: width 800ms ease-in-out;
    transition-delay: 200ms;
}

/* General Purpose Displaimer */
.ipe-disclaimer {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
}
.ipe-disclaimer-content.dd-style-v1 {
    position: relative;
    background-color:#00000044;
    color:white;
    padding:10px 20px;
    margin:20px;
}
.ipe-disclaimer-content.dd-style-v2 {
    position: absolute;
    background-color: #000000AA;
    color:white;
    padding: 50px 80px;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
@media screen AND (max-width: 767px) {
    .ipe-disclaimer-content.dd-style-v2 {
        max-width: 512px;
        width: 90%;
        padding: 20px;
    }
}
.active .ipe-disclaimer-content {
    pointer-events: auto;
}

/* General Purpose Close Button */
.ipe-add-closebutton:before, .ipe-add-closebutton:after {
    position: absolute;
    opacity: 0.5;
    top: 7px;
    right: 15px;
    content: '';
    height: 17px;
    width: 2px;
    background-color: white;
}
.ipe-add-closebutton:before {
    transform: rotate(45deg);
}

.ipe-add-closebutton:after {
    transform: rotate(-45deg);
}
@media (hover: hover) {
    .ipe-add-closebutton:hover:before,
    .ipe-add-closebutton:hover:after {
        opacity: 1;
    }
}

.ipe-haslink,
.ipe-no-action {
    cursor: pointer;
}

.ipe-disabled {
    cursor: not-allowed;
    pointer-events: none;
}

.ipe-grabbable {
    cursor: move; /* fallback */
    cursor: grab;
    cursor: -moz-grab;
    cursor: -webkit-grab;
    
}
.ipe-grabbable.ipe-is-grabbing {
    cursor: grabbing;
    cursor: -moz-grabbing;
    cursor: -webkit-grabbing;
    
}



/* EMBED VIDEO */
.dd-iframe-wrapper {
    position: relative;
    max-width: 100%;
    overflow: hidden;
    padding-bottom: 56.25%; /*aspect ratio - calculated in php */
}
.dd-iframe-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/* ANIMATIONS / EFFECTS */   /* TODO: Turn on/off in backend, change color, speed, size in backend */
.not-safari-device .ipe-glow-grow-border {
    border-radius: 100px;
}
.not-safari-device .ipe-glow-grow-border::before,
.not-safari-device .ipe-glow-grow-border::after {
    position: absolute;
    content: '';
    height: 100%;
    width: 100%;
    top: 0%;
    left: 0%;
    border-radius: 999px;
    box-shadow: 0 0 25px #d0601a;
    animation: ipe-glow-grow 2500ms ease-out infinite;
    opacity: 0;
}
.not-safari-device .ipe-glow-grow-border::after {
    animation-delay: 1250ms;
}
@keyframes ipe-glow-grow {
    0% {
        transform: scale(1);
        opacity: 0;
    }
    25% {
        opacity: 1;
    }
    100% {
        transform: scale(1.35);
        opacity: 0;
    }
}


/*.ipe-expand-solid-border::before,
.ipe-expand-solid-border::after  {  
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: calc(100% + 20px);
    height: calc(100% + 20px);
    transform: translate(-10px,-10px);

    border: solid 10px #FC5185; 
    border-radius: 999px;
    clip-path: polygon( 
        calc(0% + 5px) calc(0% + 5px), 
        calc(100% - 5px) calc(0% + 5px), 
        calc(100% - 5px) calc(100% - 5px), 
        calc(0% + 5px) calc(100% - 5px) 
    );
}

.ipe-expand-solid-border::after {
    animation-delay: 1250ms;
}*/


.not-safari-device .ipe-expand-solid-border {
    border-radius: 100px;
}
.not-safari-device .ipe-expand-solid-border::before,
.not-safari-device .ipe-expand-solid-border::after {
    position: absolute;
    content: '';
    height: 100%;
    width: 100%;
    box-shadow: 0px 0px 0px 5px #FC5185;
    top: 0%;
    left: 0%;
    border-radius: 999px;
    background-color: transparent;
    animation: ipe-expand-border 1800ms linear infinite;
    opacity: 0.9;
}
.not-safari-device .ipe-expand-solid-border::after {
    animation-delay: 900ms!important;
}
@keyframes ipe-expand-border {
    0% {
        -webkit-box-shadow: 0px 0px 0px 0px #FC5185;
        -moz-box-shadow: 0px 0px 0px 0px #FC5185;
        box-shadow: 0px 0px 0px 0px #FC5185;
        opacity: .9;
    }
    100% {
        -webkit-box-shadow: 0px 0px 0px 15px #FC5185;
        -moz-box-shadow: 0px 0px 0px 15px #FC5185;
        box-shadow: 0px 0px 0px 15px #FC5185;
        opacity: 0;
    }
}


.ipe-browser-popup {
    display: none;
    background-color: #000;
    background-color: #0003;
    z-index: 9999;
}

.ipe-browser-popup.active,
.elementor-msie .ipe-browser-popup {
    display: block;
}

.ipe-browser-popup.closed {
    display: none!important;
}

.ipe-browser-popup-content {
    background-color: white;
    color: black;
    padding: 40px;
    width:90%;
    max-width: 600px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.ipe-browser-recommendations {
    display: flex;
    flex-flow: wrap;
    justify-content: space-around;
}

.ipe-browser-recommendations > p {
    flex: 0 0 100%;
}

.ipe-browser-note {
    font-size: 0.8em;
    font-style: italic;
}

.ipe-get-browser {
    flex: 1 1 auto;
    margin: auto;
    text-align: center;
    padding-top:20px;
}

.ipe-get-browser-icon {
    width:128px;
    max-width: 100%;
    padding:10px;
}

.ipe-close-button {
    position: absolute;
    top: 20px;
    right: 20px;
    cursor: pointer;
}



.ipe-icon-svg {
    fill:none;
    stroke:none;
}
.ipe-icon-svg.stroke,
.ipe-icon-svg .stroke {
    stroke:#FFFFFF;
    stroke-width:1.5px;
    stroke-miterlimit:10;
}
.ipe-icon-svg.fill,
.ipe-icon-svg .fill {
    fill:#FFFFFF;
}
.ipe-icon-svg.stroke75,
.ipe-icon-svg .stroke75{
    stroke-width:0.75px;
}
.ipe-icon-svg.dot,
.ipe-icon-svg .dot{
    stroke-miterlimit:10;
    stroke-width:1.5px;
}
.ipe-icon-svg.dots,
.ipe-icon-svg .dots{
    stroke-miterlimit:10;
    stroke-width:1.5px;
    stroke-dasharray:1.94 1.94;
}



/* TUTORIALS */
.ipe-tutorial-canvas {
    background-color: rgba(0,0,0,0.5);
    color: white;
    z-index: 8;
}
.ipe-tutorial-tip-wrapper {
    max-width: 90vw;
    margin: auto;
}
.ipe-tutorial-animation-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.ipe-tutorial-animation-object {
    width:30px;
    height:30px;
    fill:white;
}
.ipe-tutorial-text {
    text-align: center;
    margin-top:60px;
}

.ipe-animation-drag-side-to-side .ipe-tutorial-animation-object {
    -webkit-animation: wobble-hor-bottom 6s 1s infinite both;
            animation: wobble-hor-bottom 6s 1s infinite both;
}

.ipe-animation-finger-click .ipe-tutorial-animation-object {
    -webkit-animation: singlebeat 2s ease-in-out infinite both;
            animation: singlebeat 2s ease-in-out infinite both;
}

.ipe-animation-finger-double-click .ipe-tutorial-animation-object {
    -webkit-animation: heartbeat 3s ease-in-out infinite both;
            animation: heartbeat 3s ease-in-out infinite both;
}

/* ----------------------------------------------
 * Generated by Animista on 2021-5-17 15:29:1
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */
@-webkit-keyframes wobble-hor-bottom {
  0%,
  100% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
    -webkit-transform-origin: 50% 50%;
            transform-origin: 50% 50%;
  }
  15% {
    -webkit-transform: translateX(-60px) rotate(-6deg);
            transform: translateX(-60px) rotate(-6deg);
  }
  30% {
    -webkit-transform: translateX(30px) rotate(6deg);
            transform: translateX(30px) rotate(6deg);
  }
  45% {
    -webkit-transform: translateX(-30px) rotate(-3.6deg);
            transform: translateX(-30px) rotate(-3.6deg);
  }
  60% {
    -webkit-transform: translateX(18px) rotate(2.4deg);
            transform: translateX(18px) rotate(2.4deg);
  }
  75% {
    -webkit-transform: translateX(-12px) rotate(-1.2deg);
            transform: translateX(-12px) rotate(-1.2deg);
  }
}
@keyframes wobble-hor-bottom {
  0%,
  100% {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
    -webkit-transform-origin: 50% 50%;
            transform-origin: 50% 50%;
  }
  15% {
    -webkit-transform: translateX(-60px) rotate(-6deg);
            transform: translateX(-60px) rotate(-6deg);
  }
  30% {
    -webkit-transform: translateX(30px) rotate(6deg);
            transform: translateX(30px) rotate(6deg);
  }
  45% {
    -webkit-transform: translateX(-30px) rotate(-3.6deg);
            transform: translateX(-30px) rotate(-3.6deg);
  }
  60% {
    -webkit-transform: translateX(18px) rotate(2.4deg);
            transform: translateX(18px) rotate(2.4deg);
  }
  75% {
    -webkit-transform: translateX(-12px) rotate(-1.2deg);
            transform: translateX(-12px) rotate(-1.2deg);
  }
}
/**
 * ----------------------------------------
 * animation heartbeat
 * ----------------------------------------
 */
@-webkit-keyframes heartbeat {
  from {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  5% {
    -webkit-transform: scale(0.91);
            transform: scale(0.91);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  8% {
    -webkit-transform: scale(0.98);
            transform: scale(0.98);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
  16% {
    -webkit-transform: scale(0.87);
            transform: scale(0.87);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  22% {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
}
@keyframes heartbeat {
  from {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  5% {
    -webkit-transform: scale(0.91);
            transform: scale(0.91);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  8% {
    -webkit-transform: scale(0.98);
            transform: scale(0.98);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
  16% {
    -webkit-transform: scale(0.87);
            transform: scale(0.87);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  22% {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
}

/**
 * ----------------------------------------
 * animation singlebeat
 * ----------------------------------------
 */
@-webkit-keyframes singlebeat {
  from {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  12% {
    -webkit-transform: scale(0.87);
            transform: scale(0.87);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
  21% {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
}
@keyframes singlebeat {
  from {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transform-origin: center center;
            transform-origin: center center;
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  12% {
    -webkit-transform: scale(0.87);
            transform: scale(0.87);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  21% {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
}



/* ADMIN BAR */
.ipe-color.ipe-good,
.ipe-updates-patch {
    color:#76b057;
}
.ipe-color.ipe-medium,
.ipe-updates-minor {
    color:#ecbb30;
}
.ipe-color.ipe-bad,
.ipe-updates-major {
    color:#eb8510;
}
.ipe-color.ipe-critical,
.ipe-updates-dailies {
    font-weight: bold !important;
    color:#e23019;
}
/* END: ADMIN BAR */


/* LISTE - PAGINATION */
.ipe-use-pagination .table-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow-y: hidden;
}
.ipe-use-pagination .ipe-liste {
    /* overflow-y: hidden; */
    margin: 0;
    padding: 0;
}
.ipe-use-pagination .table-wrapper tbody {
    visibility:visible;
}
.ipe-use-pagination .table-wrapper tbody tr {
    transition:opacity 150ms linear;
    opacity: 1;
}
.ipe-use-pagination .table-wrapper.ipe-is-updating tbody {
    visibility:hidden;
}
.ipe-use-pagination .table-wrapper.ipe-is-updating tbody tr {
    opacity: 0;
}
.ipe-use-pagination .ipe-pagination {
    position: relative;
    min-height: 50px;
}
.ipe-use-pagination .ipe-pagination-controls {
    display: flex;
    align-items: center;
    justify-content: center;
}
.ipe-use-pagination .ipe-page-counter {
    font-weight: bold;
}
.ipe-use-pagination .ipe-page-current {
    display: inline-block;
    min-width: 50px;
    text-align: right;
}
.ipe-use-pagination .ipe-page-total {
    display: inline-block;
    min-width: 50px;
    text-align: left;
}
.ipe-use-pagination button {
    display: inline-block;
    line-height: 0;
    font-weight: 400;
    color: #000;
    text-align: center;
    white-space: nowrap;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-color: transparent;
    border: 1px solid rgba(0, 0, 0, 0);
    padding: 8px 12px;
    font-size: inherit;
    border-radius: 3px;
    cursor: pointer;
    -webkit-transition: all .2s;
    -o-transition: all .2s;
    transition: all .2s;
}
.ipe-use-pagination button:focus {
    outline: none;
    border-color:rgba(0, 0, 0, 0.25);
    color:black;
    background-color: rgba(0, 0, 0, 0.125);
}
.ipe-use-pagination button:hover {
    color: #fff;
    background-color: #000;
    text-decoration: none;
}
.ipe-use-pagination button svg {
    width:18px;
    height:18px;
}
.ipe-use-pagination button:hover svg {
    fill: #fff;
}
.ipe-use-pagination button.ipe-disabled {
    opacity: 0.25;
}
.ipe-use-pagination .pagination-hide {
    display: none;
}

/* END: LISTE - PAGINATION */