/*
	Theme Name: Björlanda Ro
	Theme URI: https://filiprundberg.se/
	Description: Custom Wordpress theme for Björlanda Ro
	Version: 1.0
	Author: Filip Rundberg
	Author URI: https://filiprundberg.se/
	Tags: Custom

	License: MIT
	License URI: http://opensource.org/licenses/mit-license.php
*/
/* ---------------------------------------------------------------- *\
 * 
 *	TABLE OF CONTENT
 *
 *	1. Variables
 *
 *	2. Document
 *
 *	3. Global components
 *
 *	4. Template - Startpage
 *
 *	5. Template - Subpage
 *
 *	6. Template – Intresseanmälan-sida
 *
 *	7. Index
 *
\* ---------------------------------------------------------------- */










/* -------------------------------------------- *\
 * 1. Variables
\* -------------------------------------------- */
:root {

	interpolate-size: allow-keywords;

	/* colors */
	--white: #FFFFFF;			/* true white */
	--black: #000000;			/* true black */
	--body-color: #FFFFFF;		/* bg color */
	--headlines-color: #262626;	/* headline text colot */
	--text-color: #333333;		/* body text color */
	/* ---------------------------------- */
	--yellow: #FBC103;		/* raps */
	--light: #F6EFE7;		/* kalk */
	--dark: #424242;		/* skiffer */
	--gray: #A6A998;		/* salvia */
	--darkgreen: #566C54;	/* pilträd */
	--lightgreen: #A5C85E;	/* vårlök */
	--red: #BC5B28;			/* höstlöv */
	/* ---------------------------------- */
	/* björlanda ro */
	--cotton: #FAF7F0; /* Ängsull */
	--lightgray: #9E9F9E; /* Skimmel */
	--darkgray: #414141; /* Januarimorgon */
	--green: #486348; /* Sommaräng */
	--blue: #244962; /* Björlandablå */
	--lightblue: #5B7789; /* Ljusblå */
	--brown: #885D48; /* Rödjord */
	/* björlanda ro */
	/* colors */


	/* fonts */
	--headlines: 'Libre Baskerville', serif, system-ui;
	--headlines-regular: 400;
	--headlines-bold: 700;
	/* ---------------------------------- */
	--body-text: 'Work Sans', sans-serif, system-ui;
	--body-regular: 400;
	/* ---------------------------------- */
	--bold: 600;
	/* fonts */


	/* typography */
	--h1-size: 35px;
	--h2-weight: var(--headlines-regular);
	--h1-family: var(--headlines);
	--h1-lineheight: 1.2;
	--h1-margin: 25px;
	/* ---------------------------------- */
	--h2-size: 27px;
	--h2-weight: var(--headlines-regular);
	--h2-family: var(--headlines);
	--h2-lineheight: 1.2;
	--h2-margin: 20px;
	/* ---------------------------------- */
	--h3-size: 24px;
	--h3-weight: var(--headlines-semi);
	--h3-family: var(--headlines);
	--h3-lineheight: 1.25;
	--h3-margin: 18px;
	/* ---------------------------------- */
	--h4-size: 21px;
	--h4-weight: var(--headlines-semi);
	--h4-family: var(--headlines);
	--h4-lineheight: 1.3;
	--h4-margin: 16px;
	/* ---------------------------------- */
	--h5-size: 20px;
	--h5-weight: var(--bold);
	--h5-family: var(--body-text);
	--h5-lineheight: 1.3;
	--h5-margin: 10px;
	/* ---------------------------------- */
	--h6-size: 18px;
	--h6-weight: var(--bold);
	--h6-family: var(--body-text);
	--h6-lineheight: 1.4;
	--h6-margin: 5px;
	/* ---------------------------------- */
	--type-tiny: 12px;
	--type-small: 14px;
	--type-base: 16px;
	--type-preamble: 18px;
	--type-menu-item: 26px;
	/* typography */

}

@media (min-width: 550px) {
	:root {

		/* typography */
		--h1-size: 40px;
		--h1-margin: 30px;
		/* ---------------------------------- */
		--h2-size: 30px;
		--h2-margin: 23px;
		/* ---------------------------------- */
		--h3-size: 27px;
		--h3-margin: 20px;
		/* ---------------------------------- */
		--h4-size: 24px;
		--h4-margin: 18px;
		/* ---------------------------------- */
		--h5-size: 22px;
		--h5-margin: 12px;
		/* ---------------------------------- */
		--h6-size: 20px;
		--h6-margin: 5px;
		/* typography */

	}
}

@media (min-width: 768px) {
	:root {

		/* typography */
		--h1-size: 45px;
		--h1-margin: 35px;
		/* ---------------------------------- */
		--h2-size: 37px;
		--h2-margin: 25px;
		/* ---------------------------------- */
		--h3-size: 33px;
		--h3-margin: 25px;
		/* ---------------------------------- */
		--h4-size: 27px;
		--h4-margin: 20px;
		/* ---------------------------------- */
		--h5-size: 25px;
		--h5-margin: 15px;
		/* ---------------------------------- */
		--h6-size: 23px;
		--h6-margin: 5px;
		/* ---------------------------------- */
		--type-base: 17px;
		--type-preamble: 20px;
		/* typography */

	}
}

@media (min-width: 1024px) {
	:root {

		/* typography */
		--h1-size: 50px;
		--h1-margin: 40px;
		/* ---------------------------------- */
		--h2-size: 43px;
		--h2-margin: 30px;
		/* ---------------------------------- */
		--h3-size: 40px;
		--h3-margin: 25px;
		/* ---------------------------------- */
		--h4-size: 33px;
		--h4-margin: 23px;
		/* ---------------------------------- */
		--h5-size: 26px;
		--h5-margin: 15px;
		/* ---------------------------------- */
		--type-base: 18px;
		--type-preamble: 22px;
		--type-menu-item: 16px;
		/* typography */

	}
}

@media (min-width: 1240px) {
	:root {

		/* typography */
		--h1-size: 60px;
		--h1-margin: 40px;
		/* ---------------------------------- */
		--h2-size: 50px;
		--h2-margin: 33px;
		/* ---------------------------------- */
		--h3-size: 50px;
		--h3-margin: 25px;
		/* ---------------------------------- */
		--h4-size: 40px;
		--h4-margin: 25px;
		/* ---------------------------------- */
		--type-preamble: 25px;
		--type-menu-item: 18px;
		/* typography */

	}
}

@media (min-width: 1400px) {
	:root {

		/* typography */
		--h1-size: 80px;
		/* ---------------------------------- */
		--h2-size: 60px;
		/* ---------------------------------- */
		/*--type-menu-item: 20px;*/
		/* typography */

	}
}
/* -------------------------------------------- *\
 * 1. Variables END
\* -------------------------------------------- */










/* -------------------------------------------- *\
 * 2. Document
\* -------------------------------------------- */
body {
	position: relative;
	font-family: var(--body-text);
	font-weight: var(--body-regular);
	font-size: var(--type-base);
	font-optical-sizing: auto;
	line-height: 1.5;
	color: var(--text-color);
	background-color: var(--white);
	overflow-x: hidden;
}
strong {
	font-weight: var(--bold);
}
em {
	font-style: italic;
}
p > a {
	color: var(--red);
}
p > a:hover {
	text-decoration: underline;
}
h1 {
	font-size: var(--h1-size);
	font-weight: var(--h1-weight);
	font-family: var(--h1-family);
	line-height: var(--h1-lineheight);
	margin-bottom: var(--h1-margin);
	color: var(--headlines-color);
}
h2 {
	font-size: var(--h2-size);
	font-weight: var(--h2-weight);
	font-family: var(--h2-family);
	line-height: var(--h2-lineheight);
	margin-bottom: var(--h2-margin);
	color: var(--headlines-color);
}
h3 {
	font-size: var(--h3-size);
	font-weight: var(--h3-weight);
	font-family: var(--h3-family);
	line-height: var(--h3-lineheight);
	margin-bottom: var(--h3-margin);
	color: var(--headlines-color);
}
h4 {
	font-size: var(--h4-size);
	font-weight: var(--h4-weight);
	font-family: var(--h4-family);
	line-height: var(--h4-lineheight);
	margin-bottom: var(--h4-margin);
	color: var(--headlines-color);
}
h5 {
	font-size: var(--h5-size);
	font-weight: var(--h5-weight);
	font-family: var(--h5-family);
	line-height: var(--h5-lineheight);
	margin-bottom: var(--h5-margin);
	color: var(--headlines-color);
}
h6 {
	font-size: var(--h6-size);
	font-weight: var(--h6-weight);
	font-family: var(--h6-family);
	line-height: var(--h6-lineheight);
	margin-bottom: var(--h6-margin);
	color: var(--headlines-color);
}
.a-as-btn, .loadMoreBtn {
	background-color: var(--red);
	font-family: var(--body-text);
	font-weight: var(--bold);
	color: var(--white);
	font-size: var(--type-small);
	text-transform: uppercase;
	padding: 12px 15px;
	border-radius: 25px;
	transition: background-color .25s ease;
}
.a-as-btn:hover, .loadMoreBtn:hover {
	background-color: #c87a52;
}

/* Measurements */
.bleed {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}
@media (min-width: 1024px) {
	.bleed {
		width: 95%;
	}
}
.w-90 {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
.w-85 {
	width: 85%;
	margin-left: auto;
	margin-right: auto;
}
.mw-1700 {
	max-width: 1700px;
}
.mw-1310 {
	max-width: 1310px;
}
.mw-1150 {
	max-width: 1150px;
}
.mw-1085 {
	max-width: 1085px;
}
.mw-950 {
	max-width: 950px;
}
.mw-900 {
	max-width: 900px;
}
.mw-870 {
	max-width: 870px;
}
.mw-720 {
	max-width: 720px;
}
.mw-650 {
	max-width: 650px;
}
/* Measurements */
/* -------------------------------------------- *\
 * 2. Variables END
\* -------------------------------------------- */










/* -------------------------------------------- *\
 * 3. Global components
\* -------------------------------------------- */
/* Header */
header {
	position: sticky;
	top: 0;
	padding: 17px 0;
	background-color: var(--white);
	z-index: 10;
	/*overflow: hidden;*/
	/*-webkit-box-shadow: 0px 3px 10px 0px rgba(0,0,0,0.5);
	-moz-box-shadow: 0px 3px 10px 0px rgba(0,0,0,0.5);
	box-shadow: 0px 3px 10px 0px rgba(0,0,0,0.5);*/
}
	header .wrapper {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		align-items: center;
		/*max-width: 1680px;*/
	}
		header .logo {
			grid-column: 2;
			width: 95px;
			margin: 0 auto;
			transition: width .25s ease-in-out;
		}
		header .nav--mobile {
			grid-column: 3;
			margin-left: calc(100% - 38px);
		}
	/*header .wrapper {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
		header .logo {
			margin-left: auto;
			margin-right: auto;
			width: 95px;
		}*/
/* Header */


		/* Desktop navigation */
		.nav--desktop,
		.nav--desktop_interest {
			display: none;
		}
		.nav--mobile {
			display: block;
		}
			.nav--mobile ul, .nav--desktop ul {
				list-style: none;
				padding-left: 0;
				margin-left: 0;
			}
		@media (min-width: 1024px) {
			header {
				padding: 20px 0;
			}
				header .logo {
					width: 180px;
				}
				.nav--desktop {
					display: block;
					grid-row: 1;
					grid-column: 3;
				}
				.nav--desktop_interest {
					display: block;
					grid-row: 1;
					grid-column: 1;
				}
					.nav--desktop_interest a {
						background-color: var(--blue);
						color: var(--white);
						border: 2px solid var(--blue);
						padding: 8px 13px;
						transition: all .15s ease-in-out;
					}
					.nav--desktop_interest a:hover {
						background-color: transparent;
						color: var(--blue);
					}
				.nav--mobile {
					display: none;
				}
		}
			.nav--desktop ul {
				display: flex;
				justify-content: flex-end;
				align-items: center;
				gap: 20px;
				transition: all .25s ease-in-out;
			}
				.nav--desktop ul li,
				.nav--desktop_interest {
					text-transform: uppercase;
					font-family: var(--body-text);
					font-size: var(--type-menu-item);
					color: var(--text-color);
				}
				

				.nav--desktop ul li.menu-item-has-children {
					position: relative;
				}
					.nav--desktop ul li.menu-item-has-children > a {
						position: relative;
					}
					/*.nav--desktop ul li.menu-item-has-children > a::after {
						content: "\FFEC";
						position: absolute;
						top: -18px;
						right: -20px;
						font-size: 30px;
					}*/
					.nav--desktop ul li.menu-item-has-children .down-arrow {
						display: none;
					}
					.nav--desktop ul li.menu-item-has-children .sub-menu {
						display: block;
						background-color: var(--white);
						position: absolute;
						/* top: 75px; */
						top: 28px;
						left: -15px;
						padding: 22px 15px 10px 15px;
					}
					.nav--desktop ul li.menu-item-has-children .sub-menu {
						opacity: 0;
						transition: opacity .25s ease-in-out;
					}
					.nav--desktop ul li.menu-item-has-children:hover .sub-menu {
						opacity: 1;
						transition: opacity .25s ease-in-out;
					}
						.nav--desktop ul li.menu-item-has-children .sub-menu > li {
							text-transform: none;
							width: max-content;
							margin-bottom: 10px;
						}



				.nav--desktop ul li.current-menu-item {
					color: var(--text-color);
				}
				.nav--desktop ul li.current-menu-item > a {
					border-bottom: 2px solid currentColor;
				}
					.nav--desktop ul li a
					/*.nav--desktop_interest a*/ {
						padding-bottom: 2px;
					}
					.nav--desktop ul li:hover > a
					/*.nav--desktop_interest a:hover*/ {
						border-bottom: 2px solid currentColor;
					}
		@media (min-width: 1240px) {
			header .logo {
				width: 250px;
			}
				.nav--desktop ul {
					gap: 30px;
				}
		}
		@media (min-width: 1400px) {
			header .logo {
				width: 260px;
			}
				.nav--desktop ul {
					gap: 40px;
				}
		}
/* Desktop navigation */


/*  Hamburger */
.nav--mobile.toggle {
	display: block;
	-webkit-user-select: none;
	user-select: none;
}
	.nav--mobile.toggle input[type="checkbox"] {
		all: revert;
		position: absolute;
		top: 20px;
		right: 5%;
		display: block;
		margin: 0;
		width: 44px;
		height: 44px;
		cursor: pointer;
		z-index: 3;
		opacity: 0;
	}
	.nav--mobile.toggle span {
		position: relative;
		display: block;
		width: 38px;
		height: 2px;
		margin-bottom: 8px;
		background-color: var(--black);
		transform: background-color .2s ease-in-out;
		border-radius: 4px;
		z-index: 2;
		transform-origin: 8px -2px;
		transition: transform .5s cubic-bezier(.77,.2,.05,1),
					background .5s cubic-bezier(.77,.2,.05,1),
					opacity .55s ease;
	}
	.nav--mobile.toggle span:first-child {
		transform-origin: 0% 0%;
	}
	.nav--mobile.toggle span:nth-last-child(2) {
		transform-origin: 0% 100%;
		margin-bottom: 0;
	}
	.nav--mobile.toggle input:checked ~ span {
		opacity: 1;
		transform: rotate(45deg) translate(0, 0);
		background-color: var(--white);
	}
	.nav--mobile.toggle input:checked ~ span:nth-last-child(2) {
		transform: rotate(-45deg) translate(0, 0);
	}
	.nav--mobile.toggle input:checked ~ span:nth-last-child(3) {
		opacity: 0;
		transform: rotate(0deg) scale(.2,.2);
	}
/* Hamburger */


	/* Mobile navigation */
	.nav--mobile.toggle ul {
		position: absolute;
		top: -100svh;
		right: 0;
		padding: 40px 0 20px 0;
		width: 100%;
		height: 100svh;
		background: var(--lightblue);
		-webkit-font-smoothing: antialiased;

		transition: top .6s ease-in-out;

		background-image: url('assets/img/bjorland_ro-white-symbol_text.svg');
		background-size: 145px;
		background-repeat: no-repeat;
		background-position: center calc(100% - 100px);
		overflow-y: scroll;
	}
		.nav--mobile.toggle ul li {
			position: relative;
			padding: 0 5% 30px 5%;
			text-transform: uppercase;
			font-family: var(--body-text);
			font-size: var(--type-menu-item);
			color: var(--light);
		}
		.nav--mobile.toggle ul li.menu-item-has-children .down-arrow {
			position: absolute;
			top: 2px;
			right: 5%;
			background: transparent;
			width: 30px;
			height: 30px;
			margin-right: 5%;
			cursor: pointer;
			transition: transform .25s ease-in-out;
		}
		.nav--mobile.toggle ul li.menu-item-has-children .down-arrow.spin {
			transform: rotate(180deg);
			transition: transform .25s ease-in-out;
		}
			.nav--mobile.toggle ul li.menu-item-has-children .down-arrow span {
				position: absolute;
				margin: 0;
				width: 15px;
				background-color: white;
			}
				.nav--mobile.toggle ul li.menu-item-has-children .down-arrow span:nth-child(1) {
					transform: rotate(90deg);
					left: calc(50% + 1px);
					width: 30px;
				}
				.nav--mobile.toggle ul li.menu-item-has-children .down-arrow span:nth-child(2) {
					transform: rotate(45deg);
					bottom: 9px;
					left: 4px;
				}
				.nav--mobile.toggle ul li.menu-item-has-children .down-arrow span:nth-child(3) {
					transform: rotate(-45deg);
					bottom: 3px;
					right: 5px;
				}

			.nav--mobile.toggle ul li.menu-item-has-children .sub-menu {
				position: unset;
				height: 0;
				padding: 10px 0 0 0;
				overflow: hidden;
				background-image: none;
				transition: height .25s ease-in-out;
			}
			.nav--mobile.toggle ul li.menu-item-has-children .sub-menu.open {
				height: auto;
				transition: height .25s ease-in-out;
			}
				.nav--mobile.toggle ul li.menu-item-has-children .sub-menu > li {
					padding: 0 0 0 10px;
					text-transform: none;
				}


			.nav--mobile.toggle ul li.current-menu-item > a {
				border-bottom: 2px solid var(--white);
			}
			.nav--mobile.toggle ul li a {
				padding: 0 0 3px 0;
			}
	.nav--mobile.toggle input:checked ~ ul {
		top: 0;
	}
	/* Mobile navigation */


/* Footer */
footer {
	background-color: var(--lightblue);
	padding: 75px 0;
	font-size: 16px;
}
	footer a, footer button {
		color: var(--blue);
		cursor: pointer;
		padding-bottom: 1px;
		border-bottom: 2px solid transparent;
	}
	footer a:hover, footer button:hover {
		/*text-decoration: underline;*/
		border-bottom: 2px solid currentColor;
	}
	footer .wrapper {
		width: 90%;
		margin: 0 auto;
	}

		.footer--logo {
			text-align: center;
			margin-bottom: 30px;
		}
			.footer--logo img {
				width: 100%;
				max-width: 130px;
				transition: all .25s ease-in-out;
			}
		.footer--links {
			/*-----*/
		}
			.footer--links ul {
				display: flex;
				justify-content: center;
				flex-direction: column;
				width: 100%;
			}
				.footer--links li {
					text-align: center;
				}
				.footer--links li:not(:last-of-type) {
					margin-bottom: 6px;
				}
					.footer--links svg {
						position: relative;
						top: 2px;
						width: 18px;
						height: 18px;
						margin-right: 5px;
						fill: currentColor;
					}

		@media (min-width: 768px) {
			footer {
				padding: 85px 0;
			}
			.footer--logo {
				margin-bottom: 0;
			}
				.footer--logo img {
					max-width: 150px;
				}
			.footer--links {
				margin-top: -25px;
			}
				.footer--links ul {
					justify-content: space-between;
					flex-direction: row;
				}
					.footer--links li:not(:last-of-type) {
						margin-bottom: 0;
					}
		}
		@media (min-width: 1024px) {
			footer {
				padding: 100px 0;
			}
				.footer--logo img {
					max-width: 200px;
				}
		}
/* Footer */



/* Intresseanmälan-fönstret */
.interest_window {
	position: fixed;
	top: -100svh;
	right: 0;
	width: 100%;
	height: 100svh;
	overflow-x: overlay;
	color: var(--light);
	background-color: var(--lightblue);
	-webkit-font-smoothing: antialiased;

	transition: top .6s ease-in-out;

	/*background-image: url('assets/img/bjorland_ro-white-symbol_text.svg');
	background-size: 145px;
	background-repeat: no-repeat;
	background-position: center calc(100% - 100px);*/

	z-index: 10;
}
.interest_window.open {
	top: 0;
}
/* Intresseanmälan-fönstret */



/* Hero */
.hero {
	position: relative;
	width: 100%;
	background-color: var(--darkgray);
}
	.hero img, .hero video {
		position: absolute;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}
.startpage--hero,
.subpage--hero {
	aspect-ratio: 16 / 9;
	max-height: 70vh;
}
@media (min-width: 1240px) {
	.subpage--hero,
	.subpage--hero {
		height: 600px;
	}
}
/* Hero */


/* Content blocks */
.main--cb:not(:last-of-type) {
	margin-bottom: 40px;
}
@media (min-width: 1240px) {
	.main--cb:not(:last-of-type) {
		margin-bottom: 50px;
	}
}

/* ---------------------------------- */

.spacer {
	height: 80px;
}
@media (min-width: 768px) {
	.spacer {
		height: 120px;
	}
}
@media (min-width: 768px) {
	.spacer {
		height: 150px;
	}
}

/* ---------------------------------- */

.main--cb_title {
	margin-bottom: 30px;
}
.main--cb_title h1 {
	/*text-align: center;*/
	/*color: var(--black);*/
	margin-bottom: 0;
}
@media (min-width: 1240px) {
	.main--cb_title {
		margin-bottom: 50px;
	}
}

/* ---------------------------------- */

.main--cb_ingress {
	/*color: var(--black);*/
	font-size: var(--type-preamble);
	font-weight: var(--bold);
	/*font-style: italic;*/
	/*margin-bottom: 45px;*/
}

/* ---------------------------------- */

/*.main--cb_text:not(:last-of-type) {
	margin-bottom: 20px;
}*/
	.main--cb_text > p:not(:last-of-type),
	.main--cb_text .mw-720 > p:not(:last-of-type) {
		margin-bottom: 20px;
	}
	.main--cb_text > ul,
	.main--cb_text .mw-720 > ul {
		list-style: disc;
		padding-left: calc( 1rem / 2 );
		margin-left: calc( 1rem / 2 );
	}
	.main--cb_text > ol,
	.main--cb_text .mw-720 > ol {
		list-style: decimal;
		padding-left: calc( 1rem * 1.4 );
	}
	.main--cb_text > p + ul, .main--cb_text > p + ol,
	.main--cb_text .mw-720 > p + ul, .main--cb_text .mw-720 > p + ol {
		margin-top: calc( 1rem - 1.7rem );
		margin-bottom: 1rem;
	}
	.main--cb_text > p + ul li:not(:last-child),
	.main--cb_text > p + ol li:not(:last-child),
	.main--cb_text .mw-720 > p + ul li:not(:last-child),
	.main--cb_text .mw-720 > p + ol li:not(:last-child) {
		margin-bottom: calc( 1rem - 0.9rem );
	}
@media (min-width: 768px) {
	/*.main--cb_text:not(:last-of-type) {
		margin-bottom: 30px;
	}*/
	.main--cb_text > p:not(:last-of-type),
	.main--cb_text .mw-720 > p:not(:last-of-type) {
		margin-bottom: 30px;
	}
}

/* ---------------------------------- */

.main--cb_img {
	/*margin-bottom: 40px;*/
}
	.main--cb_img img {
		display: block;
		width: 100%;
		height: auto;
	}

/* ---------------------------------- */

.main--cb_two_img {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}
	.main--cb_two_img .img_item {
		position: relative;
		aspect-ratio: 1 / 1;
		background-color: var(--darkgray);
	}
	.main--cb_two_img .img_item img {
		position: absolute;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}

/* ---------------------------------- */

.main--cb_contactgrid {
	padding: 30px 0;
}
	.main--cb_contactgrid .item {
		display: flex;
		/*display: grid;*/
		/*grid-template-columns: repeat(2, 1fr);*/
	}
	.main--cb_contactgrid .item:nth-child(even) {
		flex-direction: row-reverse;
	}
		.main--cb_contactgrid .img {
			position: relative;
			width: 50%;
		}
			.main--cb_contactgrid .img img {
				position: absolute;
				width: 100%;
				height: 100%;
				object-fit: cover;
				object-position: center;
			}
		.main--cb_contactgrid .info {
			display: flex;
			align-items: center;
			font-size: var(--type-small);
			aspect-ratio: 1 / 1;
			width: 50%;
		}
			.main--cb_contactgrid .info .holder {
				padding: 15px;
			}
			.main--cb_contactgrid .info span {
				display: block;
			}
			.main--cb_contactgrid .info .title {
				text-transform: uppercase;
				margin-bottom: 15px;
			}
			.main--cb_contactgrid .info .name {
				margin-bottom: 10px;
				font-weight: var(--bold);
			}
		@media (min-width: 550px) {
			.main--cb_contactgrid .info {
				font-size: var(--type-base);
			}
				.main--cb_contactgrid .info .holder {
					padding: 20px;
				}
		}
		@media (min-width: 768px) {
			.main--cb_contactgrid .info {
				font-size: 18px;
			}
			.main--cb_contactgrid .info .name {
				font-size: 20px;
			}
		}
		@media (min-width: 1024px) {
			.main--cb_contactgrid {
				padding: 60px 0;
			}
			.main--cb_contactgrid .info .holder {
				padding: 70px;
			}
		}

/* ---------------------------------- */

.main--cb_video {
	/*margin-bottom: 40px;*/
}
	.main--cb_video video {
		width: 100%;
		height: auto;
	}

/* ---------------------------------- */

.main--cb_embed {
	/*margin-bottom: 40px;*/
}
	.main--cb_embed .holder {
		position: relative; 
		padding-bottom: 56.25%;
		overflow: hidden;
		max-width: 100%;
		height: auto;
	}
		.main--cb_embed .holder iframe,
		.main--cb_embed .holder object,
		.main--cb_embed .holder embed {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
		}

/* ---------------------------------- */

.main--cb_subheadline:not(:last-of-type) {
	margin-bottom: 20px;
}
	.main--cb_subheadline .vinjett {
		margin-bottom: 10px;
		/*padding-top: 40px;*/
	}
@media (min-width: 768px) {
	.main--cb_subheadline .vinjett {
		padding-top: 10px;
	}
}
@media (min-width: 1240px) {
	.main--cb_subheadline .vinjett {
		padding-top: 30px;
	}
}

/* ---------------------------------- */

.main--cb_interest button {
	/*margin-top: 20px;*/
	cursor: pointer;
}

/* ---------------------------------- */

.inline_open_interest {
	background-color: var(--blue);
	color: var(--white);
	border: 2px solid var(--blue);
	padding: 8px 13px;
	cursor: pointer;
	text-transform: uppercase;
	transition: all .15s ease-in-out;
}
	.inline_open_interest:hover {
		background-color: transparent;
		color: var(--blue);
	}

/* ---------------------------------- */

.main--cb_map {
	height: 320px;
	margin-top: 60px;
	background-color: #e5e3e0;
}
	.main--cb_map img {
		max-width: inherit !important;
	}
@media (min-width: 768px) {
	.main--cb_map {
		height: 400px;
	}
}
@media (min-width: 1024px) {
	.main--cb_map {
		margin-top: 100px;
		height: 485px;
	}
}
/* Content blocks */


/* Cookie box overwrites */
/* the box itself  */
#cm {
	padding: 30px;
	font-family: var(--body-text);
	font-size: var(--type-base);
	line-height: 1.5;
	color: var(--darkgray);
	border-radius: 0;
	background-color: var(--cotton);
}
	/* the cookiebox heading */
	#c-ttl {
		margin-bottom: var(--h6-margin);
		font-size: var(--h6-size);
		line-height: var(--h6-lineheight);
		/*font-weight: var(--h6-weight);*/
		font-family: var(--headlines);
	}
	/* the cookiebox text */
	#c-txt {
		font-size: var(--body-text);
		line-height: 1.5;
	}
	/* the link */
	.cc_div .cc-link {
		border-bottom: none;
		border-color: transparent;
		padding-bottom: 0;
		/*font-weight: var(--bold);*/
		color: var(--blue);
		text-decoration: none;
	}
	.cc_div .cc-link:hover {
		text-decoration: underline;
	}
	/* the buttons */
	.cc_div #c-bns {
		margin-top: 20px;
	}
	.cc_div .c-bn {
		background: var(--blue);
		border-radius: 25px;
		color: var(--cotton);
		font-size: var(--type-small);
		padding: 11px 20px;
		/*text-transform: uppercase;*/
	}
	#c-bns button:first-child, #s-bns button:first-child {
		background: var(--blue);
		color: var(--cotton);
	}
	#c-bns button:last-child {
		background: transparent;
		color: var(--blue);
		border: 2px solid var(--blue);
	}
	#c-bns button:first-child:hover {
		background: var(--darkgray);
		color: var(--white);
	}
	#cm .c_link:hover {
		background: var(--darkgray);
		color: var(--cotton);
	}
	.cc_div .c-bn>span {
		/*text-transform: uppercase;*/
		font-weight: var(--bold);
	}

/* ---------------------------------- */

/* the modal */
#s-hdr {
	border-bottom: none;
}
#s-bns, #s-hdr, #s-inr {
	background: var(--cotton);
}
.cc_div {
	font-family: var(--body-text);
	font-size: var(--type-base);
	line-height: 1.5;
	color: var(--darkgray);
}
#s-inr {
	border-radius: 0;
}
	/* the modal top text */
	#s-ttl {
		color: var(--darkgray);
		margin-bottom: var(--h6-margin);
		font-size: var(--h6-size);
		line-height: var(--h6-lineheight);
		/*font-weight: var(--h6-weight);*/
		font-family: var(--headlines);
	}
	/* the modal close button */
	#s-c-bn {
		background: transparent;
		border: 2px solid var(--blue);
	}
	#s-c-bn:hover {
		background: var(--darkgray);
	}
	#s-c-bn:after, #s-c-bn:before {
		background: var(--blue);
		left: 19px;
		top: 12px;
		width: 2px;
	}
	#s-c-bn:hover::after, #s-c-bn:hover::before {
		background: var(--cotton);
	}
	/* the modal text */
	#s-cnt .p {
		color: var(--dark);
	}
	/* the modals drawer sections */
	.cc_div .act .b-bn .exp:before, .cc_div .b-bn .exp:before {
		border-color: var(--blue);
	}
	#s-bl .c-bl.b-ex {
		background: #f1eee8;
		border-radius: 0;
	}
	#s-cnt .b-bn .b-tl:hover {
		background: #eceae4;
	}
	/* the toggles */
	.cc_div .b-tg .c-tg {
		background: var(--darkgray);
	}
	.cc_div .b-tg .c-tgl ~ .c-tg.c-ro {
		background: var(--green);
		opacity: 0.2;
	}
	.cc_div .b-tg .c-tgl:checked ~ .c-tg {
		background: var(--green);
	}
	#s-bl tbody tr:hover {
		background: #F0E8DF;
	}
	.c-bl.b-ex thead tr th {
		font-weight: var(--font-bold);
	}
	/* Buttons at the bottom */
	#s-bns button:first-child:hover,
	#s-cnt button+button:hover {
		background: var(--darkgray);
		color: var(--cotton);
	}
/* Cookie box overwrites */


/* Kontaktformulär */
.contact_form {}
	.interest_window--close {
		position: absolute;
		top: 20px;
		right: 5%;
		display: block;
		margin: 0;
		width: 44px;
		height: 44px;
		cursor: pointer;
	}
		.interest_window--close span {
			position: relative;
			display: block;
			width: 38px;
			height: 2px;
			background-color: var(--light);
		}
		.interest_window--close span:first-child {
			transform: rotate(45deg);
		}
		.interest_window--close span:last-child {
			transform: rotate(-45deg);
			top: -1px;
		}
	.contact_form .holder {
		padding: 150px 0 50px 0;
	}
		.contact_form .holder h3 {
			margin-bottom: 80px;
			color: var(--light);
		}

form.wpcf7-form {}
	input::placeholder {
		text-transform: uppercase;
	}
	form.wpcf7-form input.writer {
		position: relative;
		border-bottom: 2px solid var(--light);
		width: 100%;
		min-width: 100%;
		padding: 10px 0 10px 0;
	}
	.wpcf7-form-control-wrap {
		display: block;
		margin-bottom: 10px;
	}
	form.wpcf7-form input[type="submit"] {
		margin-top: 20px;
		border: 2px solid var(--light);
		padding: 10px 20px;
		border-radius: 50px;
		text-transform: uppercase;
		cursor: pointer;
	}
	input[type="submit"]:disabled {
		opacity: .5;
	}
	.wpcf7-acceptance label {
		font-size: 16px;
	}
	input[type="checkbox"] {
		-webkit-appearance: checkbox; /* Återställ utseende i WebKit-baserade webbläsare */
		-moz-appearance: checkbox;    /* Återställ utseende i Mozilla-baserade webbläsare */
		appearance: checkbox;         /* Återställ utseende i moderna webbläsare */
		width: 16px;                  /* Standardstorlek */
		height: 16px;                 /* Standardhöjd */
		margin-right: 8px;            /* Litet mellanrum mellan checkbox och text */
		cursor: pointer;              /* Pekare ändras till handikon */
	}
	.wpcf7-list-item {
		margin: 0;
	}
	@media (min-width: 1024px) {
		form.wpcf7-form input.writer,
		form.wpcf7-form input[type="submit"] {
			font-size: 20px;
		}
		.contact_form .holder {
			padding: 150px 0 100px 0;
		}
	}
	/*@media (min-width: 1400px) {
		form.wpcf7-form input.writer,
		form.wpcf7-form input[type="submit"] {
			font-size: 30px;
		}
	}*/

.wpcf7-not-valid-tip {
	color: #fca99a;
	font-size: 16px;
}
.wpcf7 form.sent .wpcf7-response-output {
	border-color: transparent;
	margin-left: 0;
	padding-left: 0;
}
/*.wpcf7-response-output::before {
	content: '';
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: #46b450;
	margin-right: 10px;
}*/
/* Kontaktformulär */
/* -------------------------------------------- *\
 * 3. Global components END
\* -------------------------------------------- */









/* -------------------------------------------- *\
 * 4. Template - Startpage
\* -------------------------------------------- */
/* Hero */
.startpage--hero {
	margin-bottom: 60px;
	transition: margin .25s ease-in-out;
}
@media (min-width: 768px) {
	.startpage--hero {
		margin-bottom: 100px;
	}
}
@media (min-width: 1024px) {
	.startpage--hero {
		margin-bottom: 115px;
	}
}
@media (min-width: 1400px) {
	.startpage--hero {
		margin-bottom: 130px;
	}
}
/* Hero */


/* Startpage general section */
.startpage--section {
	margin-bottom: 80px;
}
	.startpage--section img {
		display: block;
		width: 100%;
		height: auto;
	}
@media (min-width: 768px) {
	.startpage--section {
		margin-bottom: 100px;
	}
}	
@media (min-width: 1024px) {
	.startpage--section {
		margin-bottom: 130px;
	}
}	
@media (min-width: 1240px) {
	.startpage--section {
		margin-bottom: 170px;
	}
}
@media (min-width: 1400px) {
	.startpage--section {
		margin-bottom: 200px;
	}
}
/* Startpage general section */


/* Intro section */
.startpage--intro {}
	.startpage--intro__headline {}
		.startpage--intro__headline h1 {
			margin-bottom: 15px;
		}
	.startpage--intro__image {
		display: none;
		margin-bottom: 15px;
	}
	.startpage--intro__text {}
	@media (min-width: 768px) {
		.startpage--intro__image {
			display: block;
		}
		.startpage--intro__headline h1 {
			margin-bottom: 20px;
		}
	}
	@media (min-width: 1024px) {
		.startpage--intro {
			display: grid;
			grid-row-gap: 50px;
			grid-template-columns: repeat(6, 1fr);
		}
			.startpage--intro__headline {
				grid-column: 4 / 7;
				grid-row: 1 / 2;
				z-index: 1;
				/*transform: translateY(25%);*/
				align-self: center;
			}
				.startpage--intro__headline h1 {
					margin-bottom: 0;
				}
			.startpage--intro__image {
				grid-column: 1 / 5;
				grid-row: 1 / 2;
				/*margin-bottom: 50px;*/
				margin-bottom: 0;
			}
			.startpage--intro__text {
				grid-column: 1 / 4;
			}
	}
	@media (min-width: 1240px) {
		.startpage--intro__headline {
			left: 50%;
		}
	}
/* Intro section */


/* Bostäderna section (and area section) */
.startpage--projects {}
	.project,
	.startpage--area {
		position: relative;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-column-gap: 15px;
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
	.project:not(:last-of-type) {
		margin-bottom: 30px;
	}
		.project .project__headline,
		.startpage--area__headline {
			grid-column: 1 / 2;
			grid-row: 2 / 3;
		}
		.project .project__image-big,
		.startpage--area__image-big {
			grid-column: 1 / 3;
			grid-row: 1 / 2;
			margin-bottom: 25px;
		}
		.project.second-layout .project__image-small,
		.startpage--area__image-small {
			right: -6%;
		}
		.project .project__image-small,
		.startpage--area__image-small {
			position: absolute;
			top: 50px;
			width: 40%;
		}
		.project.first-layout .project__image-small {
			left: -6%;
		}
		.project .project__text,
		.startpage--area__text {
			grid-column: 2 / 3;
		}
		.project .project__link,
		.startpage--area__link {
			grid-column: 2 / 3;
			margin-top: 20px;
		}
@media (min-width: 768px) {
	.project .project__link,
	.startpage--area__link {
		margin-top: 35px;
	}
}
@media (min-width: 1024px) {
	.project,
	.startpage--area {
		grid-template-columns: repeat(6, 1fr);
		grid-column-gap: 0;
	}
	.project:not(:last-of-type) {
		margin-bottom: 100px;
	}
		.project.first-layout .project__headline {
			grid-column: 2 / 5;
			grid-row: 1 / 2;
			align-self: end;
			margin-bottom: 20%;
		}
		.project.second-layout .project__headline,
		.startpage--area__headline {
			grid-column: 3 / 6;
			grid-row: 1 / 2;
			z-index: 1;
			margin-top: 115px;
		}
		.project.first-layout .project__image-small {
			position: static;
			grid-column: 1 / 3;
			grid-row: 1 / 2;
			width: 100%;
			margin-top: 20%;
		}
		.project.second-layout .project__image-small,
		.startpage--area__image-small {
			position: static;
			grid-column: 5 / 7;
			grid-row: 1 / 2;
			align-self: end;
			width: 100%;
			/*margin-top: -130px;*/
			margin-bottom: -100px;
		}
		.project.first-layout .project__image-big {
			grid-column: 4 / 7;
			margin-bottom: 50px;
		}
		.project.second-layout .project__image-big,
		.startpage--area__image-big {
			grid-column: 1 / 4;
			margin-bottom: 50px;
		}
		.project.first-layout .project__text {
			grid-column: 4 / 7;
		}
		.project.second-layout .project__text,
		.startpage--area__text {
			grid-column: 1 / 4;
			grid-row: 2 / 3;
		}
		.project.first-layout .project__link {
			grid-column: 4 / 5;
		}
		.project.second-layout .project__link,
		.startpage--area__link {
			grid-column: 1 / 2;
		}
}
@media (min-width: 1240px) {
	.project .project__link,
	.startpage--area__link {
		margin-top: 50px;
	}
}
/*@media (min-width: 1400px) {
	.project.second-layout .project__image-small,
	.startpage--area__image-small {
		margin-top: -200px;
	}
}*/
/* Bostäderna section (and area section) */


/* Extra section */
.startpage--extra {}
	.startpage--extra__headline {}
	.startpage--extra__image {
		display: none;
		margin-bottom: 15px;
	}
	.startpage--extra__text {}
@media (min-width: 768px) {
	.startpage--extra__image {
		display: block;
	}
}
@media (min-width: 1024px) {
	.startpage--extra {
		display: grid;
		grid-row-gap: 50px;
		grid-template-columns: repeat(6, 1fr);
	}
		.startpage--extra__headline {
			grid-column: 4 / 7;
			grid-row: 1 / 2;
			z-index: 1;
			/*transform: translateY(25%);*/
			align-self: center;
		}
			.startpage--extra__headline h2 {
				margin-bottom: 0;
			}
		.startpage--extra__image {
			grid-column: 1 / 5;
			grid-row: 1 / 2;
			/*margin-bottom: 50px;*/
			margin-bottom: 0;
		}
		.startpage--extra__text {
			grid-column: 1 / 4;
		}
}
/* Extra section */


/* Contact section */
.startpage--contact {}
	.startpage--contact__headline {}
	.startpage--contact__image {
		display: none;
		margin-bottom: 15px;
	}
	.startpage--contact__text {}
	.startpage--contact__link {
		margin-top: 20px;
	}
	@media (min-width: 768px) {
		.startpage--contact__image {
			display: block;
		}
		.startpage--contact__link {
			margin-top: 35px;
		}
	}
	@media (min-width: 1024px) {
		.startpage--contact {
			display: grid;
			grid-row-gap: 50px;
			grid-template-columns: repeat(6, 1fr);
		}
		.startpage--contact__headline {
			grid-column: 1 / 4;
			grid-row: 1 / 2;
			z-index: 1;
			/*transform: translateY(25%);*/
			align-self: center;
		}
			.startpage--contact__headline h2 {
				margin-bottom: 0;
			}
		.startpage--contact__image {
			grid-column: 3 / 7;
			grid-row: 1 / 2;
			margin-bottom: 0;
		}
		.startpage--contact__text {
			grid-column: 3 / 6;
		}
		.startpage--contact__link {
			grid-column: 3 / 4;
		}
	}
	@media (min-width: 1240px) {
		.startpage--contact__link {
			margin-top: 50px;
		}
	}
/* Contact section */
/* -------------------------------------------- *\
 * 4. Template - Startpage END
\* -------------------------------------------- */










/* -------------------------------------------- *\
 * 5. Template - Undersida
\* -------------------------------------------- */
.subpage--main {
	padding: 60px 0 100px 0;
}
.vinjett {
	display: block;
	margin-bottom: 15px;
	text-transform: uppercase;
	font-size: var(--type-preamble);
}
/* -------------------------------------------- *\
 * 5. Template - Subpage END
\* -------------------------------------------- */










/* -------------------------------------------- *\
 * 6. Template – Intresseanmälan-sida
\* -------------------------------------------- */
.page-template-template-formpage form.wpcf7-form input.writer {
	border-bottom: 2px solid var(--lightgray);
}
.page-template-template-formpage form.wpcf7-form input[type="submit"] {
	border: 2px solid var(--blue);
	color: var(--blue);
}
.page-template-template-formpage form.wpcf7-form input[type="submit"]:not(:disabled):hover {
	background-color: var(--blue);
	color: var(--white);
}
/* -------------------------------------------- *\
 * 6. Template – Intresseanmälan-sida END
\* -------------------------------------------- */










/* -------------------------------------------- *\
 * 7. Index
\* -------------------------------------------- */
.blogflow {
	padding-bottom: 80px;
}
	.blogflow--item {
		border-bottom: 2px solid var(--gray);
		padding-bottom: 80px;
	}
	.blogflow--item:not(:first-child) {
		padding-top: 80px;
	}
		.blogflow--item .date {
			display: block;
			font-size: var(--type-small);
			margin-bottom: 10px;
			text-align: center;
		}
		.blogflow--item .date span {
			display: inline-block;
			margin-left: 5px;
			text-transform: uppercase;
			letter-spacing: 1px;
		}
		.blogflow--item h2, .blogflow--item h4 {
			text-align: center;
			color: var(--darkgreen);
		}
		.blogflow--item .attachment-post-thumbnail {
			margin-bottom: 60px;
		}
.loadMoreWrapper {
	text-align: center;
	padding-bottom: 100px;
}
	.loadMoreBtn {
		padding: 12px 30px;
	}
/* -------------------------------------------- *\
 * 7. Index END
\* -------------------------------------------- */



.grecaptcha-badge { visibility: hidden; }


.popupbutton {
	background-color: var(--blue);
	color: var(--white);
	border: 2px solid var(--blue);
	padding: 8px 13px;
	cursor: pointer;
	text-transform: uppercase;
	transition: all .15s ease-in-out;
}
	.popupbutton:hover {
		background-color: transparent;
		color: var(--blue);
		text-decoration: none;
	}

.show-s {
	display: none;
}

@media screen and (max-width: 480px) {
	.show-s {
		display: block;
	}
}
