* {box-sizing:border-box;}
html, body {
	margin:0;
  padding:0;
	background:#c5d2ee;
	font-family:'Open Sans', sans-serif;
	font-size:14px;
	
	width:100vw;
	overflow-x:hidden;
}

html, body, button {
	color:#666;
}

.wrapper {
	height:100vh;
	overflow:hidden;
}

@media only screen and (min-width:960px){
	.wrapper {
		margin-left:240px;
	}
}

svg {
	cursor:pointer;
	background:#D6E3FF;
	
	display: block;
  width:1930px;
  max-width: 100%;
  max-height:1415px;
  height: auto;
}

h1, h2, h3, h4, h5 , h6 {margin:0;padding:0;color:#888;}
ul, ol {list-style:none;margin:0;padding:0;-webkit-margin-before:0;}
li {
	margin:12px 0 0 0;
}li p {margin:0;}

a, p, li, label {
	color:#666;
}
label {font-size:14px;}
.logos a, a:hover {
	text-decoration:none;
}

p.copyright {
	text-align:center;
	font-size:12px;
	font-family:sans-serif;
	color:#888;
}
.security p, .security h3, .security h2 {
	color:#aa0808;
}

/* ===== SIDEBARS ===== */
.sidebar {
	padding:20px;
	position:fixed;
	overflow-y:auto;
	z-index:999;
	background:rgb(230,230,230);
}
@media only screen and (max-width:960px){
	.sidebar.leftSidebar {
		padding-top:0;
	}
}

.leftSidebar {
	width:300px;
	min-height:100vh;
	top:0;left:0;bottom:0;
}
.rightSidebar {
	width:240px;
	background:transparent;
	top:0;right:0;bottom:0;
	font-size:12px;
	z-index:10;
	
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
}
.rightSidebar > section {
	background:rgba(230,230,230,.9);
	box-shadow:1px 1px 5px rgba(0,0,0,.3);
	border-radius:12px;
	padding:20px;
}
.rightSidebar > section + section {
	margin-top:20px;
}
@media only screen and (max-width:800px){
	.rightSidebar {
		width:100%;
		position:static;
		margin:20px auto 0 auto;
		
		flex-direction:row;
	}
	.rightSidebar > section {
		flex:1;
		margin:0 20px;
	}
	.rightSidebar > section + section {
		margin-top:0;
	}
}
@media only screen and (max-width:500px){
	.rightSidebar {
		flex-direction:column;
	}
	.rightSidebar > section {
		flex:none;
		margin:20px;
	}
	.rightSidebar > section + section {
		margin-top:20px;
	}
}

.sidebar img {
	display:inline-block;
	padding:5px;
}

.sidebar .logos #drf {
	width:90px;
}
.sidebar .logos #dv2k {
	width:96px;
}

/* Collapsible left sidebar */
/* The CSS class that is activated with JS when the screen size is less than 960px */
.leftSidebar.mobile-nav {
	width:100%;
	left:-100%;
	transition:all .3s;
}
.leftSidebar.mobile-nav.expanded {
	transform:translateX(100%);
}

.show-nav, .hide-nav {
	cursor:pointer;
	border:none;
	border-radius:5px;
	text-align:center;
	width:180px;
	padding:6px;
	margin:12px;
	position:relative;
	background:#b4c1dd;
	transition: background .2s;
}
.show-nav:hover {background:#a3b0cc;}
.hide-nav:hover {background:#c5d2ee;}
.show-nav:before, .hide-nav:before {
	font-family:"FontAwesome";
	margin-right:6px;
}
.show-nav:before {
	content:"\f0c9";
}
.hide-nav:before {
	content:"\f00d";
}
.hide-nav {margin-left:0;}

.leftSidebar.expanded + .wrapper .show-nav {display:none;}

/* Icon keys og kort-vejledning */
.fade {
	background:rgba(255,255,255,.6);
	padding:20px;
	border-radius:5px;
	margin-top:20px;
}
.fade p {
	margin:0;
}

.fade h2 {
	position:relative;
	cursor:pointer;
}
.fade h2 span {
	font-size:20px;
	position:absolute;
	right:0;
	top:4px;
}

.icon, .details-list li {
	display:flex;
	align-items:center;
}
.icon img, .details-list img {
	display:inline-block;
	width:24px;
	height:16px;
	padding:0 8px 0 0;
}
.details-list {
	margin-bottom:20px;
}
.modal .details-list + h3, .accommodation .details-list + h3 {
	margin-top:40px;
}

/* ===== MODALS ===== */
.modals, .accommodation {
	display:none;
	
	position:fixed;
	top:0;left:0;bottom:0;right:0;
	background:rgba(0,0,0,.5);
	opacity:0;
}
.modal, .accommodation > div {
	position:fixed;
	top:20px;left:20px;bottom:20px;right:20px;
	overflow:auto;
	background:#fff;
	border-radius:20px;
	box-shadow:5px 5px 20px rgba(0,0,0,.3);
	margin:20px;
	padding:20px 40px;
	transform:translateZ(0); /* Hack to optimize animation */
}

.modals.fadeOut, .modal.fadeOut, .accommodation.fadeOut, .accommodation > div.fadeOut {
	animation:fadeOut .2s forwards;
}
.modals.fadeIn, .modal.fadeIn, .accommodation.fadeIn, .accommodation > div.fadeIn {
	animation: fadeIn .2s forwards;
}

.modals, .modal, .accommodation {
	display:block;
}

@keyframes fadeIn {
	0% {
		opacity:0;
		z-index:8000;
		transform:translateZ(0);
	}
	100% {
		opacity:1;
		z-index:8000;
		transform:translateZ(0);
	}
}
@keyframes fadeOut {
	0% {
		opacity:1;
		transform:translateZ(0);
	}
	99% {
		opacity:0;
		z-index:-1:
	}
	100% {
		opacity:0;
		z-index:-1;
		transform:translateZ(0);
	}
}

.heading {
	padding:20px 0;
	border-bottom:1px solid;
}
.heading h2 {
	font-size:26px;
	padding-bottom:10px;
}
.modal h3, .accommodation h3 {
	font-size:20px;
	margin-top:20px;
}

.close {
	cursor:pointer;
	position:absolute;
	top:60px;
	right:80px;
	z-index:9999;
	background:rgba(255,255,255,.9);
	border-radius:5px;
	padding:10px;
}
.close:before {
	display:block;
	font-family:"FontAwesome";
	font-size:26px;
	content:"\f00d";
}

.accommodation .close {top:20px;right:40px;}

@media only screen and (max-width:800px){
	.modal, .accommodation > div {
		background:rgba(255,255,255,.9);
		top:0;left:0;bottom:0;right:0;
		overflow:auto;
		border-radius:0;
		box-shadow:none;
		margin:0;
		padding:20px 40px;
	}
	
	.close {
		top:20px;
		right:40px;
	}
}

/* ===== FORM ===== */
.form-row {
	margin-top:12px;
}
.form-row > * {display:block;width:100%;}
.form-row select, .form-row input {
	border:none;
	border-radius:3px;
	padding:6px;
}

label {
	padding:6px 0;
}

.langButton + .langButton {
	margin-top:12px;
}
.langButton input {display:none;}

@media only screen and (max-width:960px){
	.form-row select, .form-row input {
		width:300px;
	}
}
@media only screen and (max-width:330px){
	.form-row select, .form-row input {
		width:100%;
	}
}

/* ===== BUTTONS ===== */
input[type="submit"], #buttons button, .controls button, .langButton{
	border:none;
	border-radius:3px;
	cursor:pointer;
	background:#c5d2ee;
	transition: background .2s;
	padding:6px;
}
input[type="submit"]:hover, #buttons button:hover, .controls button, .langButton:hover {
	background:#b4c1dd;
}

#buttons {
	margin:20px 0;
}
#buttons p {
	margin:0;
}
#buttons button, .langButton {
	width:160px;
	margin:6px 6px 6px 0;
	display:inline-block;
}

.active, .controls button:hover, .langButton.chosen {
	box-shadow:inset 0 0 10px rgba(0,0,0,.4);
}

.controls {
	position:absolute;
	top:10px;
	right:10px;
	z-index:555;
}
.controls button {
	cursor:pointer;
	display:block;
	padding:6px;
	width:100px;
	margin-bottom:10px;
}
@media only screen and (max-width:960px){
	.controls {
		top:60px;
	}
	#buttons button, .langButton {
		display:block;
	}
}

.controls #zoom-in:before, .controls #zoom-out:before {
	font-family:"FontAwesome";
	margin-right:6px;
}
#zoom-in:before {
	content:"\f067";
}
#zoom-out:before {
	content:"\f068";
}

/* ===== Image Gallery ===== */
.img-gallery > div {
	display:inline-block;
	width:150px;
	height:150px;
	margin-right:20px;
	margin-bottom:20px;
	overflow:hidden;
	object-fit:cover;
}
.img-gallery img {
	width:300px;
	object-fit:cover;
}

@media only screen and (max-width:500px){
	.img-gallery > div, .img-gallery img {
		width:100%;
	}
}

/* ===== VIDEO-WRAPPER ===== */
.video-wrapper {
	margin-bottom:20px;
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	padding-top: 25px;
	height: 0;
}
.video-wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* ===== GRID ===== */
.grid p, .grid li {
	font-size:14px;
	line-height:1.6;
}

.grid + .grid {
	border-top:1px solid #888;
	padding-top:20px;
}
.grid + .grid h3 {
	margin-bottom:20px;
}

.grid {
	display:flex;
	padding:12px 0;
}
.col-50-50 > * {
	min-width:50%;
	width:50%;
	flex:1;
}

.col-50-50 > *:nth-child(1){padding-right:24px;}
.col-50-50 > *:nth-child(2){padding-left:24px;}

@media only screen and (max-width:768px){
	.grid {
		display:block;
	}
	.col-50-50 > *:nth-child(n) {
		padding:0;
		width:100%;
	}
	.col-50-50 > *:nth-child(2){padding-top:16px;}
	
	.details-list + h3 + .details-list {margin-bottom:20px;}
}

/* ===== FOOTER ===== */
footer {
	width:97%;
	padding:0 20px;
}
