@import url('https://fonts.googleapis.com/css?family=Raleway:200,300,400,500,600,700,800');

:root {
	--background-color:#FFF;
	--main-color:#001940;
	--main-text-color:#FFF;
	--statement-color:#FFF;
	--text-color:#000;
	--box-color:#f3f0e5;
	--greenish:#1DA1F2;
}

html,
body {
	height: 100%;
	background-color: var(--background-color);
}

/* Turn body into a vertical flex layout */
body {
	background-color: var(--background-color);
	margin: 0;                 /* remove default body margin */
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	font-size: 16px;
}

.clear {
	clear: both;
}

p {
	font-family: 'Raleway', sans-serif;
	font-weight: 500;
	margin-bottom: 20px;
	line-height: 22px;
	color: var(--text-color);
}

ol { /* bruges til kategorier og samlinger lister */
	font-family: 'Raleway', sans-serif;
	font-weight: 500;
	margin-bottom: 20px;
}

ol li {
	line-height: 25px;
}

h1 {
	font-family: 'Raleway', sans-serif;
	font-weight: 700;
	font-size: 24px;
	margin-bottom: 20px;
	color: var(--text-color);
}

h2, h3 {
	font-family: 'Raleway', sans-serif;
	font-weight: 700;
	font-size: 20px;
	margin-bottom: 20px;
	color: var(--text-color);
}

.flag {
	height: 20px;
	width: auto;
	vertical-align: middle;
	margin-top: -2px;
	/* margin-right: 50px; */
}

.note {
	font-size: 11px;
/* 
	margin-top: -11px;
 */
	line-height: 16px;
}

.box .note a { /* overskriver tags styling .box p a */
	/* margin-right: 8px; */
	line-height: 16px;
	text-decoration: underline;
	color: var(--text-color);
 }

.left {float: left;}
.right {float: right;}

#cover {
	position: relative;
	width: 100%;
	height: 74px;
	margin: 0 auto;
	overflow: hidden;
	margin-bottom: 60px;
	background-color: var(--main-color); /* not seen on front page */
	box-shadow: 0 2px 10px rgb(0 0 0 / 0.25);
}

#cover video {
	position: absolute;
	width: 100%;
}

#menu {
	position: absolute;
	top: 29px;
	width: 90%;
	left: 5%;
	color: var(--main-text-color);
}

.menu_title {
}

#menu a {
	color: var(--main-text-color);
	text-decoration: none;
	font-weight: 700;
	}

#menu .separator {
	color: var(--main-text-color);
	margin-left: 10px;
	margin-right: 10px;
}

.menu_left {
	float: left;
}

.menu_right {
	float: right;
}

.menu_left a {
	display: inline-flex;
	align-items: center;
	gap: 8px; /* space between logo and text */
}

.menu-logo {
	height: 22px;          /* smaller logo */
	width: auto;
	vertical-align: middle;
	filter: drop-shadow(0 1px 2px rgba(0,0,0,0.35));
}


/* -----------------------------------------
   CLEAN HORIZONSTOCK DROPDOWN MENU
----------------------------------------- */

#menu .menu_right .menu-dropdown {
	position: relative;
	display: inline-block;
}

#menu .menu_right .menu-dropdown > a {
	color: var(--main-text-color);
	text-decoration: none;
	padding: 4px 6px;
}

/* Base dropdown */
#menu .menu_right .menu-dropdown-content {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;                     /* ⬅ align with left edge of Countries */
	transform: none;             /* remove centering */
	background: var(--main-color);
	border: 1px solid rgba(255,255,255,0.25);
	padding: 6px 0;
	min-width: 170px;
	max-width: calc(100vw - 20px);
	box-shadow: 0 4px 10px rgba(0,0,0,0.25);
	z-index: 2000;
	border-radius: 4px;
}

#menu .menu_right .menu-dropdown-content a {
	display: block;
	padding: 8px 14px;
	color: #fff !important;
	text-decoration: none;
	text-shadow: none; /* IMPORTANT: removes glow */
	white-space: nowrap;
}

#menu .menu_right .menu-dropdown-content a:hover {
	background: rgba(255,255,255,0.1);
}

#menu .menu_right .menu-dropdown:hover .menu-dropdown-content {
	display: block;
}

/* Optional: tweak spacing on very small screens */
@media (max-width: 600px) {
	#menu .menu_right .menu-dropdown > a {
		padding: 6px 4px;
	}
}
	
#search_front {
	position: absolute;
	top: 180px;
	width: 90%;
	left: 5%;
	text-shadow: 2px 2px 4px #000000;
	font-size: 18px;
	text-align: center;
}

#search_front p {
	color: var(--statement-color);
}

#search_front .statement {
	font-size: 50px;
	font-weight: 700;
}

#search_front input[type=text] {
	font-size: 18px;
	padding: 12px;
	width: 50%;
	margin-bottom: 25px;
	border-radius: 10px;
}

#search { /* sub-pages */
	position: absolute;
	top: 16px;
	width: 26%;
	left: 36.33%;
/* 	border: 1px solid purple */
}

#search input[type=text] {
	font-size: 18px;
	color: #FFF;
	padding: 8px 12px 8px 12px;
	width: 100%;
	border: 1.5px solid #DDD;
	border-radius: 6px;
	background: transparent;
}

#search input[type=text]:focus {
/* 	border: 2px solid #FFF; */
}

.site-wrapper {
	flex: 1 0 auto;   /* this block will stretch to fill height */
}

#page {
	position: relative;
	width: 91%;
	margin-top: 0;
	margin-right: 4%;
	margin-bottom: auto;
	margin-left: 5%;
	overflow: visible;
/* 	border: red solid 1px; */
}

form label {
font-family: 'Raleway', sans-serif;
font-weight: 500;
font-size: 18px;
line-height: 25px;
}

form input[type=text], form input[type=number], form textarea {
font-size: 18px;
padding: 6px 12px 6px 12px;
margin-bottom: 20px;
width: 60%;
border: 1.5px solid #DDD;
border-radius: 6px;
}
@media (max-width: 980px) {
		form input[type=text], form input[type=number], form textarea {
		width: 90%;
	}
}

form textarea {
	height: 200px;
}

/* FRONTPAGE RELATED */

.item {
	width: 24%;
	float: left;
	margin-right: 1%; 
	margin-bottom: 1%;
/* 	border: blue solid 1px; */
}

.item:nth-child(4n+1) {
/* 
  margin-right: 0%;
 */
}

.item-title {
	font-size: 14px;
	margin-bottom: 0px;
}

.item video {
	width: 100%;
	margin-bottom: 5px; /* .gallery_item img skal sættes til samme */
}

.page_left .item video  { /* overwrite for related videos, so they dont get the 30px bottom margin from main video */
	margin-bottom: 5px;
}

.item img {
	width: 100%;
}

.item_photo {
	width: 24%;
	aspect-ratio: 3 / 2;
/* 
	height: 0;
	padding-bottom: 16%;
 */
	float: left;
	margin-right: 1%; 
	margin-bottom: 1%;
	overflow: hidden;
/*  border: blue solid 1px; */
}

.item_photo:nth-child(4n+1) {
/* 
  margin-right: 0%;
 */
}

.item_photo video {
	width: 100%;
}

.item_photo img {
	width: 100%;
}

.page_left .item_photo img {
	margin-bottom: 5px;
}

/* Related photos: show full image, no cropping */
.related_photos .item_photo {
	aspect-ratio: auto;     /* cancel 3/2 frame */
	overflow: visible;      /* don't crop */
}

.related_photos .item_photo img {
	width: 100%;
	height: auto;
	object-fit: contain;    /* just in case, keep full image visible */
}

.clients {
	width: 100%;
	margin-bottom: 1%;
	text-align: center;
}

.clients img {
	height: 40px;
	width: auto;
	margin: 0% 1% 0% 1%;
}

.clients p {
	font-size: 14px;
	margin-bottom: 0px;
}

.specials {
width: 49%;
border-radius: 10px;
float: left;
margin-right: 1%; 
margin-bottom: 25px; 
background-color: #001940;
/* 	border: blue solid 1px; */
}

.specials:nth-child(2n+1) {
/* 
	margin-right: 0%;
 */
}

.specials h2, .specials a {
	text-align: center;
	color: #FFF;
	margin-top: 22px;
	text-decoration: none;
	text-shadow: 2px 2px 3px #000;
}

.specials .underlined {
	text-decoration: underline;
}

.specials p {
	text-align: center;
	color: #FFF;
	text-decoration: none;
}
	
.featured {
	width: 32.66%;
	border-radius: 18px;
	overflow: hidden;
	float: left;
	margin-right: 1%; 
	margin-bottom: 1%; 
/* 	border: blue solid 1px; */
}

.featured:nth-last-child(3n+1) {
  margin-right: 0%;
}

.featured a img {
	width: 100%;
	}
	
.featured div {
	width: 100%;
	height: 0px;
	overflow: visible;
	position: relative;
	top: -135px;
	text-align: center;
	font-family: 'Raleway', sans-serif;
	font-weight: 500;
	font-size: 30px;
	color: #FFF;
	text-shadow: 2px 2px 3px #000;
/* 	background-color: red; */
	}

.featured a {
	text-decoration: none;
}

#footer {
	flex-shrink: 0;
	position: relative;
	width: 100%;
	margin: 20px auto 0px auto;
	padding: 20px 0px;
	overflow: auto;
	background-color: var(--main-color); /* not seen on front page */
	font-size: 14px;
}

#footer p {
	color: #FFF;
	text-align: center;
	margin: 0px;
}

#footer p a {
	margin: 10px;
	color: #FFF;
	text-decoration: none;
}

#footer p a:hover {
	text-decoration: underline;
}


/* SUBPAGE RELATED */

.page_left {
	float: left;
	width: 65%;
	}
	
.page_left video {
	width: 100%;
	margin-bottom: 30px; /* For primary video */
}

.page_left img {
	width: auto;
	max-width: 100%;
	max-height: 55vh;      /* adjust as preferred */
	display: block;
	margin: 0 auto 30px auto;
	object-fit: contain;   /* ensures full image always visible */
}

.description {
	margin-bottom: 30px;
}

.page_right {
	float: right;
	width: 30%;
	}
	
.box {
	background-color: var(--box-color);
	border-top:60px solid var(--main-color);
	padding: 20px 20px 10px 20px;
	margin-bottom: 40px;
	box-shadow: 0 2px 10px rgb(0 0 0 / 0.25);
	border-radius: 6px;
	color: var(--text-color);
	}

.box p {
	}

.box p a { /* tags */
	/* margin-right: 8px; */
	line-height: 25px;
	text-decoration: none;
	color: var(--text-color);
    }

.box h1,
.box h2 {
	color: var(--main-text-color);
	margin-top: -60px;
	margin-bottom: 42px;
}

.box ul { /* bruges til info tekst i bokse */
	font-family: 'Raleway', sans-serif;
	font-weight: 500;
	margin-bottom: 20px;
	columns: 2;
	-webkit-columns: 2;
	-moz-columns: 2;
	margin-bottom: 20px;
}

.box ul li {
	line-height: 25px;
}

.box iframe {
}

.button-3 {
  appearance: none;
  background-color: var(--greenish);
  border: 1px solid rgba(0, 0, 0, .15);
  /* border-radius: 6px; */
  border-radius: 40px;      /* pill shape */
  box-shadow: rgba(27, 31, 35, .1) 0 1px 0;
  box-sizing: border-box;
  color: #fff !important;
  text-shadow: 1px 1px 0px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  display: inline-block;
  font-family: -apple-system,system-ui,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";
  /* font-size: 16px; */
  font-weight: 700;
  line-height: 20px;
  /* padding: 6px 16px; */
  padding: 14px 28px;       /* larger pill */
  position: relative;
  text-align: center;
  text-decoration: none;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  vertical-align: middle;
  white-space: nowrap;
  /* margin-bottom: 20px; */
  margin: 10px auto 20px auto;
}

.gallery {
  column-count: 4;
  column-width: 25%;
  column-gap: 1%;
  margin-right: 1%;
}

.gallery_item {
	width: 100%;
	display: inline-block; /* gør så div content eg img og title ikke kan breakes up i columns */
}

.gallery_item img {
	width: 100%;
	margin-bottom: 5px; /* .item video skal sættes til samme */
}

.gallery_item a,
.item a,
.item_video a,
.item_photo a {
	text-decoration: none;
}

.gallery_item a:hover .thumb_title,
.item a:hover .thumb_title,
.item_video a:hover .thumb_title,
.item_photo a:hover .thumb_title {
	text-decoration: underline;
}

.thumb_title {
	text-align: left;
	font-family: 'Raleway', sans-serif;
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 10px;
	line-height: 18px;
	color: var(--text-color);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis; /* shows "…" when truncated */
	display: block;
}

/* search-pagination */

.search-pagination {
	margin: 20px 0;
	text-align: center;
}

.search-pagination .button-3 {
	margin: 0 6px;
	padding: 14px 20px; /* button-3 overwrite for circular button */
}

/* Force photo pagination onto its own line under the floated thumbnails */
.gallery .search-pagination {
	clear: both;        /* push below all .gallery_item floats */
	width: 100%;        /* span full width of gallery */
	text-align: center; /* center the < and > buttons */
	margin: 10px 0 30px;
}

/* Numbers under the buttons */
.search-pagination .page-link,
.search-pagination .current-page {
	margin: 0 6px;
	font-size: 14px;
	color: #777;           /* grey for all numbers */
	text-decoration: none; /* no underline */
}

/* Links on hover: slightly darker grey */
.search-pagination .page-link:hover {
	color: #333;
}

/* Current page: same grey but bold */
.search-pagination .current-page {
	font-weight: bold;
}