/*
Theme Name:   VONAR
Theme URI:    https://www.webmandesign.eu/portfolio/reykjavik-wordpress-theme/
Author:       artist:design / WebMan Design
Author URI:   https://www.webmandesign.eu/
Version:      2.3.1
Text Domain:  reykjavik
Domain Path:  /languages
License:      GNU General Public License v3
License URI:  https://www.gnu.org/licenses/gpl-3.0.html
Template:     reykjavik
*/

@import url("../reykjavik/style.css");

@font-face {
	font-display: swap;
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 400;
	src: url('assets/webfonts/montserrat-v25-latin_latin-ext-regular.woff2') format('woff2'),
	     url('assets/webfonts/montserrat-v25-latin_latin-ext-regular.woff') format('woff');
}

@font-face {
	font-display: swap;
	font-family: 'Montserrat Bold';
	font-style: normal;
	font-weight: 700;
	src: url('assets/webfonts/montserrat-v25-latin_latin-ext-700.woff2') format('woff2'),
	     url('assets/webfonts/montserrat-v25-latin_latin-ext-700.woff') format('woff');
}

@font-face {
	font-display: swap;
	font-family: 'Questrial';
	font-style: normal;
	font-weight: 400;
	src: url('assets/webfonts/questrial-v18-latin_latin-ext-regular.woff2') format('woff2'),
	     url('assets/webfonts/questrial-v18-latin_latin-ext-regular.woff') format('woff');
}

:root {
	--color-blue: #007FFF;
	--color-yellow: #FFC718;
	--color-beige: #FBF4EB;
	--color-black: #000000;
	--color-white: #FFFFFF;
	--delay-base: 0.2s;
	--header-height-top: 35px;
	--header-height-main: 100px;
	--size-corner: 25px;
	--gap: calc((var(--typography_font_size_base) * var(--typography_line_height)) * 2) !important;
}

.vp-portfolio__items-style-fade {
	--vp-items-style-fade--image-hover__transform: none !important;
}

.clearfix {
	zoom: 1;
	-moz-transform: scale(1);
	-moz-transform-origin: 0 0;
	-o-transform: scale(1);
	-o-transform-origin: 0 0;
	-webkit-transform: scale(1);
	-webkit-transform-origin: 0 0;
	transform: scale(1);
	transform-origin: 0 0;
}

.clearfix:before,
.clearfix:after { 
	content: "";
	display: table; 
	width: 0;
}

.clearfix:after {
	clear: both;
}

:focus {
	outline: none !important;
}

:focus-visible {
	outline: thin dashed;
}

/* TYPOGRAPHY */

h1, .h1 { font-size: 2em; margin-bottom: 2em; }
h2, .h2 { font-size: 1.5em; margin-bottom: 1.5em; }
h3, .h3 { font-size: 1.25em; margin-bottom: 1.25em; }
h4, .h4 { font-size: 1em; margin-bottom: 1em; }
h5, .h5 { font-size: 1em; margin-bottom: 1em; }
h6, .h6 { font-size: 1em; margin-bottom: 1em; }

a, a:active, a:focus, a:hover {
	text-decoration: none !important;
}

strong, b {
	font-weight: 700 !important;
}

::-moz-selection { background: var(--color-blue); color: var(--color-white); }
::selection { background: var(--color-blue); color: var(--color-white); }

::placeholder {
	opacity: 0.5 !important;
	line-height: normal !important;
}

/* HEADER */

#masthead {
	position: fixed;
	z-index: 995;
	width: 100%;
	height: calc(var(--header-height-top) + var(--header-height-main));
	border-bottom: 1px solid var(--color-blue);
	-webkit-transition: margin-top var(--delay-base) ease-in !important;
    -moz-transition: margin-top var(--delay-base) ease-in !important;
    -o-transition: margin-top var(--delay-base) ease-in !important;
	transition: margin-top var(--delay-base) ease-in !important;
	user-select: none;
}

#masthead:not(.scrolled) {
	margin-top: 0;
}

#masthead.scrolled {
	margin-top: calc(0px - var(--header-height-top));
}

.site-header-top {
	display: block;
	min-height: var(--header-height-top);
	height: var(--header-height-top);
	background: var(--color-blue);
	color: var(--color-white);
}

.site-header-content {
	position: relative;
	height: 100%;
	padding: 0 !important;
}

.site-header-content:after {
    content: "";
    position: absolute;
	display: block;
    width: 100%;
	height: 1em;
    bottom: 0;
    z-index: -1;
    box-shadow: 0 0.25em 1em rgba(0,0,0,0.25);
}

.site-header-inner {
	flex-wrap: nowrap;
	align-items: flex-end;
	justify-content: flex-end;
	height: 100%;
	margin-top: 0 !important;
}

.site-branding {
	margin-bottom: 25px;
}

.site-controls {
	display: flex;
	flex-flow: column wrap;
}

.site-controls > nav,
.site-controls > p {
	width: 100%;
	margin: 0;
}

nav li,
nav a {
	border: 0 !important;
}

nav a {
	font-family: 'Montserrat' !important;
	-webkit-transition: color var(--delay-base) ease-in !important;
    -moz-transition: color var(--delay-base) ease-in !important;
    -o-transition: color var(--delay-base) ease-in !important;
	transition: color var(--delay-base) ease-in !important;
}

nav ul.menu-meta > li > a,
nav ul.menu-primary > li > a {
	padding: 0 0 25px 0 !important;
	line-height: 1em !important;
	text-transform: uppercase;
}

html:not(.menu-overlay) nav ul.menu-primary > li > a:hover {
	color: var(--color-blue) !important;
	text-transform: uppercase;
}

.main-navigation {
	/* font-size: 0.9em; */
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.meta-navigation ul {
	display: flex;
	flex-flow: row nowrap;
	margin: 0;
	list-style: none !important;
}

html:not(.menu-overlay) .main-navigation-container .menu > ul > li {
	margin-left: 2.5rem !important;
}

.main-navigation-container .menu > ul > li,
.meta-navigation .menu > ul > li,
footer nav li,
footer nav a {
	padding: 0 !important;
}

.meta-navigation .menu > ul > li:not(:last-child):after {
	content: "\00a0|\00a0";
	display: inline-block;
}

img.custom-logo {
	-webkit-transition: filter var(--delay-base) ease-in !important;
    -moz-transition: filter var(--delay-base) ease-in !important;
    -o-transition: filter var(--delay-base) ease-in !important;
	transition: filter var(--delay-base) ease-in !important;
}

/* CONTENT */

#content {
	-webkit-transition: padding-top var(--delay-base) ease-in !important;
    -moz-transition: padding-top var(--delay-base) ease-in !important;
    -o-transition: padding-top var(--delay-base) ease-in !important;
	transition: padding-top var(--delay-base) ease-in !important;
}

#masthead:not(.scrolled) + #content {
	padding-top: calc(var(--header-height-top) + var(--header-height-main));
}

#masthead.scrolled + #content {
	padding-top: var(--header-height-main);
}

.site-header-inner,
.site-footer-area-inner {
	max-width: 1000px !important;
}

section.alignfull:not(.is-intro) .wp-block-group__inner-container {
	padding: 5rem 0;
}	

.alignwide-wrap {
	max-width: 100% !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.alignwide-wrap > .alignwide {
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.is-singular:not(.content-layout-no-paddings):not(.has-widgets-sidebar) .entry-content-inner > .alignfull:first-child {
	margin-top: unset !important;
}

.wp-block-group__inner-container > *:not(.alignfull):not(.alignwide):not(.alignwide-wrap) {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: unset !important;
}

.entry-content > .alignfull,
.entry-content-inner > .alignfull {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding: 0 !important;
}

.entry-content-inner > *:first-child:not(.alignfull) {
	margin-top: 0 !important;
	margin-bottom: calc(var(--white_space) / 2) !important;
}

.wp-block-group:not(.alignfull):not(:first-child) {
	margin-top: calc(var(--white_space) / 2);
}

.wp-block-group:not(.alignfull):not(:last-child) {
	margin-bottom: calc(var(--white_space) / 2);
}

.wp-block-group__inner-container .wp-block-group__inner-container {
	margin: 0 !important;
	padding: 0 !important;
}

.alignfull .wp-block-group.is-style-narrow-left,
.alignfull .wp-block-group.is-style-narrow-right {
	display: flex;
	flex-flow: column wrap;
}

.alignfull .wp-block-group.is-style-narrow-left {
	align-items: flex-start;
}

.alignfull .wp-block-group.is-style-narrow-right {
	align-items: flex-end;
}

.entry-content-inner > *:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {
	margin-bottom: 2.5rem !important;
}

section.bg-yellow {
	background-color: var(--color-yellow) !important;
}

section.bg-beige {
	background-color: var(--color-beige) !important;
}

section.bg-blue {
	background-color: var(--color-blue) !important;
}


/* ELEMENTS */

.has-block-margin-top {
	margin-top: var(--white_space) !important;
}

.has-block-margin-bottom {
	margin-bottom: var(--white_space) !important;
}

.has-half-margin-top {
	margin-top: calc(var(--white_space) / 2) !important;
}

.has-half-margin-bottom {
	margin-bottom: calc(var(--white_space) / 2) !important;
}

.has-min-margin-top {
	margin-top: calc(var(--white_space) / 10) !important;
}

.has-min-margin-bottom {
	margin-bottom: calc(var(--white_space) / 10) !important;
}

.is-intro.alignfull {
	margin-top: 0 !important;
	padding-bottom: 0 !important;
}

.is-intro .vp-portfolio__items-wrap,
.is-intro .vp-portfolio__item-img,
.is-intro .wp-block-image {
	overflow: hidden;
}

.is-intro .vp-portfolio__item-img img,
.is-intro .wp-block-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.vp-portfolio__filter-wrap {
	margin: 0 !important;
}

.vp-portfolio__items-arrow {
	width: 40px !important;
	height: 40px !important;
	color: transparent !important;
	background-color: transparent !important;
	border-radius: 0 !important;
	opacity: 1 !important;
}

.vp-portfolio__items-arrow-prev {
	background-image: url('assets/images/weisser_pfeil_links.png');
	background-size: auto 100%;
	background-position: center center;
	background-repeat: no-repeat;
}

.vp-portfolio__items-arrow-next {
	background-image: url('assets/images/weisser_pfeil_rechts.png');
	background-size: auto 100%;
	background-position: center center;
	background-repeat: no-repeat;
}

.vp-portfolio__items-arrow svg {
	display: none !important;
	visibility: hidden !important;
}

section:not(.is-intro):not(.widget) .wp-block-image {
	position: relative;
}

section:not(.is-intro):not(.widget) .wp-block-image img {	
	min-width: 100%;
	width: 100%;
	height: auto;
	mask: conic-gradient(from calc(180deg/-2 - 45deg) at top calc(var(--size-corner) / 2) left calc(var(--size-corner) / 2), #0000 180deg, #000 0) 0 0/100% 100% no-repeat;
	mask-size: 100% 100%;
	mask-repeat: no-repeat;
}

section:not(.is-intro):not(.widget) .wp-block-image::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: var(--size-corner);
	height: var(--size-corner);
	margin: calc(0px - (var(--size-corner) / 4)) 0 0 calc(0px - (var(--size-corner) / 4));
	background-image: url('assets/images/blaue_ecke.png');
	background-size: 100% 100%;
	background-position: top left;
	background-repeat: no-repeat;
}

.wpcf7-form {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	width: 100%;
}

.wpcf7-form p,
.wpcf7-form-control-wrap[data-name="message"],
.wpcf7-form input:not([type="submit"]),
.wpcf7-form textarea {
	width: 100%;
}
	
.wpcf7-form-control-wrap:not([data-name="message"]):not([data-name="acceptance"]) {
	display: block;
}
	
.wpcf7-form input[type="submit"] {
	width: auto;
}

.wpcf7-form input:not([type="submit"]) {
	height: 2.5em;
}

.wpcf7-form textarea {
	height: 12.5em;
}

.wpcf7-form input:not([type="submit"]):not([type="checkbox"]),
.wpcf7-form textarea {
	background-color: var(--color-white);
	border: none !important;
}

.wpcf7-form input:not([type="submit"]):hover,
.wpcf7-form input:not([type="submit"]):active,
.wpcf7-form input:not([type="submit"]):focus,
.wpcf7-form textarea:hover,
.wpcf7-form textarea:active,
.wpcf7-form textarea:focus
.wpcf7-form label:hover input:not([type="submit"]),
.wpcf7-form label:active input:not([type="submit"]),
.wpcf7-form label:focus input:not([type="submit"]),
.wpcf7-form label:hover textarea,
.wpcf7-form label:active textarea,
.wpcf7-form label:focus textarea {
	background-color: var(--color-white) !important;
	border: none !important;
}

.wpcf7-form input:not([type="submit"]).wpcf7-not-valid {
	background-color: var(--color-yellow) !important;
	border: none !important;
}

.wpcf7-form input[type="submit"],
.wpcf7-form input[type="submit"]:hover,
.wpcf7-form input[type="submit"]:active,
.wpcf7-form input[type="submit"]:focus {
	font-family: 'Montserrat Bold' !important;
	background-color: var(--color-blue) !important;
	color: var(--color-white) !important;
	border: none !important;
}

.wpcf7-form label {
	color: var(--color-blue) !important;
	border: none !important;
}

.wpcf7-form-control-wrap:not([data-name="acceptance"])::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: var(--size-corner);
	height: var(--size-corner);
	margin: calc(0px - (var(--size-corner) / 4)) 0 0 calc(0px - (var(--size-corner) / 4));
	background-image: url('assets/images/blaue_ecke.png');
	background-size: 100% 100%;
	background-position: top left;
	background-repeat: no-repeat;
}

.wpcf7-form input[type="checkbox"] {
	display: inline-block;
	width: 2em;
	height: 2em;
	margin: 0;
	padding: 0;
	font-size: 1em !important;
	border: none !important;
}

.wpcf7-form-control-wrap[data-name="acceptance"],
.wpcf7-list-item {
	display: block;
	width: 100%;
	margin: 0 !important;
}

.wpcf7-list-item label {
	display: inline-flex;
	flex-flow: row nowrap;
	width: 100%;
}

.wpcf7-acceptance .wpcf7-list-item-label {
	display: inline-block;
	min-height: 2em;
	margin-left: 1em;
	color: var(--color-black);
}

.wpcf7-response-output {
	width: 100% !important;
	margin: 0 !important;
	text-align: center;
}

.wpcf7-not-valid-tip {
	display: none !important;
	visibility: hidden !important;
}


/* FOOTER */

.footer-widgets {
	padding-top: 2.5rem !important;
	padding-bottom: 0 !important;
}

footer .widget_block,
.widget_nav_menu {
	padding: 0 !important;
}

.site-footer {
	font-size: inherit !important;
}


/* MEDIA QUERIES */

@media screen and (min-width: 1920px) {

	.site-header-inner,
	.site-footer-area-inner,
	.content-area,
	.has-blocks .content-area {
		width: 75% !important;
		max-width: 1600px !important;
	}


}

@media screen and (min-width: 1200px) {
	
	.site-header-inner,
	.site-footer-area-inner,
	.content-area,
	.has-blocks .content-area,
	.alignfull:not(.is-intro) .wp-block-group__inner-container {
		width: 88% !important;
		max-width: 1000px !important;
	}
	
	section.is-style-has-background-center-right {
		background-size: auto 100%;
		background-position-x: 80%;
		background-position-y: 0;
		background-repeat: no-repeat;
	}

	section.is-style-has-background-center-left {
		background-size: auto 100%;
		background-position-x: 15%;
		background-position-y: 0;
		background-repeat: no-repeat;
	}
	
}

@media screen and (min-width: 880px) and (max-width: 1199px) {
	
	.site-header-inner,
	.site-footer-area-inner,
	.content-area,
	.has-blocks .content-area, 
	.alignfull:not(.is-intro) .wp-block-group__inner-container {
		width: 90% !important;
		max-width: 800px !important;
	}
	
	section.is-style-has-background-center-right {
		background-size: auto 100%;
		background-position-x: 150%;
		background-position-y: 0;
		background-repeat: no-repeat;
	}

	section.is-style-has-background-center-left {
		background-size: auto 100%;
		background-position-x: -50%;
		background-position-y: 0;
		background-repeat: no-repeat;
	}

}

@media screen and (min-width: 880px) {

	.site-header-inner .site-branding {
		order: 1;
		width: 33%;
		text-align: left;
	}
	
	.site-header-inner .site-controls {
		order: 2;
		width: 67%;
		text-align: right;
	}
	
	.menu-toggle {
		display: none !important;
	}
	
	#menu-primary {
		display: flex;
		flex-flow: row nowrap;
		justify-content: flex-end;
	}
	
	.site-content-inner {
		padding: 5em 0 !important;
	}
	
	.alignfull .wp-block-group.is-style-narrow-left .wp-block-group__inner-container,
	.alignfull .wp-block-group.is-style-narrow-right .wp-block-group__inner-container {
		max-width: 60% !important;
		width: 60% !important;
	}

	section.is-style-has-background-border-right-top {
		background-size: 150% auto;
		background-position-x: 0;
		background-position-y: 20%;
		background-repeat: no-repeat;
	}

	section.is-style-has-background-border-right-bottom {
		background-size: 150% auto;
		background-position-x: 0;
		background-position-y: 50%;
		background-repeat: no-repeat;
	}

	section.is-style-has-background-border-left-top {
		background-size: 150% auto;
		background-position-x: -50%;
		background-position-y: 20%;
		background-repeat: no-repeat;
	}

	section.is-style-has-background-border-left-bottom {
		background-size: 150% auto;
		background-position-x: -50%;
		background-position-y: 50%;
		background-repeat: no-repeat;
	}

	section.is-style-has-background-left-right {
		background-size: 50% auto, 50% auto;
		background-position-x: -50%, 150%;
		background-position-y: 0, 0;
		background-repeat: no-repeat;
	}

	section.is-style-has-background-center {
		background-size: auto auto;
		background-position: center center;
		background-repeat: no-repeat;
	}
	
	.is-intro .vp-portfolio__items-wrap,
	.is-intro .vp-portfolio__item-img,
	.is-intro .wp-block-image {
		max-height: 50vh;
		height: 50vh;
	}

}

@media screen and (max-width: 879px) {

	:root {
		--header-height-top: 25px;
		--header-height-main: 80px;
	}
	
	.site-header-inner,
	.site-footer-area-inner,
	.content-area,
	.has-blocks .content-area, 
	.alignfull:not(.is-intro) .wp-block-group__inner-container {
		width: 90% !important;
		float: none !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
	
	.wp-block-group__inner-container {
		max-width: unset;
	}
	
	.site-header-inner .site-branding {
		order: 1;
		width: 50%;
		text-align: left;
		z-index: 1000;
	}
	
	.site-header-inner .site-controls {
		order: 2;
		width: 50%;
		text-align: right;
	}
	
	#site-navigation,
	#site-navigation.is-active {
		position: relative;
		height: 3rem;
	}
	
	.menu-toggle {
		display: inline-block !important;
		position: absolute !important;
		top: 0 !important;
		right: 0 !important;
		bottom: auto !important;
		left: auto !important;
		width: 3rem !important;
		height: 3rem !important;
		margin-right: 0 !important;
		padding: 0 !important;
		box-shadow: none !important;
		animation: none !important;
	}
	
	.main-navigation:not(.toggled) .menu-toggle:not(:hover):not(:active),
	.main-navigation:not(.toggled) .menu-toggle:focus {
		background-color: var(--color-white) !important;
		color: var(--color-blue) !important;
		border: none !important;
		box-shadow: none !important;
		animation: none !important;
	}
	
	.main-navigation.toggled .menu-toggle:not(:hover):not(:active),
	.main-navigation.toggled .menu-toggle:focus {
		background-color: transparent !important;
		color: var(--color-white) !important;
		border: none !important;
		box-shadow: none !important;
		animation: none !important;
	}
	
	.menu-toggle::before,
	.menu-toggle:hover::before {
		display: block !important;
		position: absolute !important;
		top: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		width: 100% !important;
		height: 100% !important;
		margin: 0 auto !important;
		font-size: 1.3em !important;
		line-height: 2.75rem !important;
		text-align: center !important;
	}
	
	.is-active .menu-toggle {
		display: block !important;
		position: absolute !important;
		top: 0 !important;
		right: 0 !important;
		bottom: auto !important;
		left: auto !important;
		width: 3rem !important;
		height: 3rem !important;
		margin-top: unset !important;
		text-indent: -999em !important;
		border-width: 0 !important;
		z-index: 999 !important;
		will-change: transform !important;
	}
	
	.is-active .menu-toggle::before {
		display: block !important;
		position: absolute !important;
		top: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		width: 100% !important;
		height: 100% !important;
		margin: 0 auto !important;
		font-size: 1.3em !important;
		line-height: 2.75rem !important;
		text-align: center !important;
		text-indent: 0 !important;
	}
	
	.has-navigation-mobile .main-navigation-container {
		visibility: hidden;
		position: fixed;
		width: 100%;
		height: 100%;
		left: 0;
		right: 0;
		bottom: 0;
		display: flex;
		flex-flow: column wrap;
		background-color: rgba(0, 127, 255, 0.9);
		color: var(--color-white) !important;
		z-index: 995;
		opacity: 0;
		box-shadow: none !important;
		animation: none !important;
		-webkit-transform: scaleY(0);
		-ms-transform: scaleY(0);
		transform: scaleY(0);
		-webkit-transform-origin: 50% 0;
		-ms-transform-origin: 50% 0;
		transform-origin: 50% 0;
		-webkit-transition: visibility 0s linear var(--delay-base), opacity var(--delay-base), -webkit-transform var(--delay-base);
		transition: visibility 0s linear var(--delay-base), opacity var(--delay-base), -webkit-transform var(--delay-base);
		-o-transition: visibility 0s linear var(--delay-base), opacity var(--delay-base), transform var(--delay-base);
		transition: visibility 0s linear var(--delay-base), opacity var(--delay-base), transform var(--delay-base);
		transition: visibility 0s linear var(--delay-base), opacity var(--delay-base), transform var(--delay-base), -webkit-transform var(--delay-base);
	}
	
	.has-navigation-mobile .is-active .main-navigation-container {
		visibility: visible;
		opacity: 1;
		-webkit-transform: scaleY(1);
		-ms-transform: scaleY(1);
		transform: scaleY(1);
		-webkit-transition: visibility 0s linear 0s, opacity var(--delay-base), -webkit-transform var(--delay-base);
		transition: visibility 0s linear 0s, opacity var(--delay-base), -webkit-transform var(--delay-base);
		-o-transition: visibility 0s linear 0s, opacity var(--delay-base), transform var(--delay-base);
		transition: visibility 0s linear 0s, opacity var(--delay-base), transform var(--delay-base);
		transition: visibility 0s linear 0s, opacity var(--delay-base), transform var(--delay-base), -webkit-transform var(--delay-base);
	}
	
	.main-navigation {
		float: right;
		margin-right: 0 !important;
	}
	
	.has-navigation-mobile .main-navigation-container .menu {
		position: relative;
		flex: 1;
		overflow-y: auto;
	}
	
	.has-navigation-mobile .main-navigation-container .menu > ul {
		display: flex;
		flex-flow: column wrap;
		justify-content: center;
		align-items: flex-start;
		max-width: 100%;
		height: 100%;
		padding: 25% 5% 10% 5%;
		margin-left: auto;
		margin-right: auto;
		text-align: left;	
	}
	
	.has-navigation-mobile .main-navigation-container li {
		margin-left: 0 !important;
		border: 0 !important;
	}
	
	.has-navigation-mobile .main-navigation-container li a {
		font-size: 1.5em;
		line-height: 2em;
	}
	
	.has-navigation-mobile .main-navigation-container li a,
	.has-navigation-mobile .main-navigation-container li a:hover {
		border-color: transparent !important;
	}
	
	.site-header-inner .site-branding,
	.site-header-inner .site-controls {
		margin-bottom: 15px;
	}
	
	.site-header-inner .site-mail {
		display: none;
	}

	.has-navigation-mobile .site-footer > div:last-child {
		margin-bottom: 0 !important;
	}
	
	.toggled .menu-toggle {
		margin-top: 0 !important;
	}
	
	.has-navigation-toggled img.custom-logo {
		filter: brightness(0%) invert(100%);
	}
	
	.alignfull .wp-block-group.is-style-narrow-left .wp-block-group__inner-container,
	.alignfull .wp-block-group.is-style-narrow-right .wp-block-group__inner-container {
		max-width: 100% !important;
		width: 100% !important;
		margin: 0 !important;
	}
	
	.is-intro .vp-portfolio__items-wrap,
	.is-intro .vp-portfolio__item-img,
	.is-intro .wp-block-image {
		max-height: 33vh;
		height: 33vh;
	}
	
}

@media screen and (max-width: 879px) and (orientation: portrait) {
	
	section.is-style-has-background-border-right-top {
		background-size: auto 150%;
		background-position-x: 50%;
		background-position-y: 20%;
		background-repeat: repeat-y;
	}

	section.is-style-has-background-border-right-bottom {
		background-size: auto 150%;
		background-position-x: 50%;
		background-position-y: 50%;
		background-repeat: repeat-y;
	}

	section.is-style-has-background-border-left-top {
		background-size: auto 150%;
		background-position-x: 150%;
		background-position-y: 20%;
		background-repeat: repeat-y;
	}

	section.is-style-has-background-border-left-bottom {
		background-size: auto 150%;
		background-position-x: 150%;
		background-position-y: 50%;
		background-repeat: repeat-y;
	}

	section.is-style-has-background-center-right,
	section.is-style-has-background-center-left {
		background-image: none !important;
		background-size: 0% 0%;
	}

	section.is-style-has-background-left-right {
		background-size: 60% auto, 60% auto;
		background-position-x: -100%, 200%;
		background-position-y: 0, 0;
		background-repeat: repeat-y;
	}

	section.is-style-has-background-center {
		background-size: auto auto;
		background-position: center center;
		background-repeat: no-repeat;
	}
	
}

@media screen and (max-width: 879px) and (orientation: landscape) {
	
	section.is-style-has-background-border-right-top {
		background-size: 150% auto;
		background-position-x: 0;
		background-position-y: 20%;
		background-repeat: no-repeat;
	}

	section.is-style-has-background-border-right-bottom {
		background-size: 150% auto;
		background-position-x: 0;
		background-position-y: 50%;
		background-repeat: no-repeat;
	}

	section.is-style-has-background-border-left-top {
		background-size: 150% auto;
		background-position-x: -50%;
		background-position-y: 20%;
		background-repeat: no-repeat;
	}

	section.is-style-has-background-border-left-bottom {
		background-size: 150% auto;
		background-position-x: -50%;
		background-position-y: 50%;
		background-repeat: no-repeat;
	}

	section.is-style-has-background-center-right,
	section.is-style-has-background-center-left {
		background-image: none !important;
		background-size: 0% 0%;
	}

	section.is-style-has-background-left-right {
		background-size: 50% auto, 50% auto;
		background-position-x: -50%, 150%;
		background-position-y: 0, 0;
		background-repeat: no-repeat;
	}

	section.is-style-has-background-center {
		background-size: auto auto;
		background-position: center center;
		background-repeat: no-repeat;
	}
	
}

@media screen and (min-width: 782px) {
	
	footer .widget_block .wp-block-column {
		text-align: center;
		margin-bottom: 0 !important;
	}

	footer .widget_block .wp-block-column:first-of-type {
		text-align: left;
	}

	footer .widget_block .wp-block-column:last-of-type {
		text-align: right;
	}

	footer .wp-block-image {
		display: inline-block;
		max-width: 60%;
		width: 60%;
	}

	.widget_nav_menu {
		margin: 0 !important;
	}

	.site-info {
		display: block;
		width: 100%;
		text-align: center;
	}
	
}

@media screen and (max-width: 781px) {
	
	.wp-block-columns.mobile-stack-two .wp-block-column {
		-ms-flex-preferred-size: calc(50% - var(--wp--style--block-gap, 2em) / 2) !important;
		flex-basis: calc(50% - var(--wp--style--block-gap, 2em) / 2) !important;
		-webkit-box-flex: 0;
		-ms-flex-positive: 0;
		flex-grow: 0;
	}
	
	.wp-block-columns.mobile-stack-two .wp-block-column:nth-child(2n) {
		margin-left: var(--wp--style--block-gap);
	}
	
	footer .widget_block .wp-block-columns {
		flex-direction: column !important;
	}
	
	footer .widget_block .wp-block-column {
		margin-left: 0 !important;
		text-align: left;
	}

	footer .widget_block .wp-block-column:first-of-type {
		order: 2;
	}

	footer .widget_block .wp-block-column:last-of-type {
		order: 3;
	}

	footer .wp-block-image {
		display: inline-block;
		max-height: 2.5rem;
		height: 2.5rem;
	}
	
	footer .wp-block-image img {
		width: auto;
		height: 100% !important;
	}

	.widget_nav_menu {
		margin: 0 !important;
	}

	.site-info {
		display: block;
		width: 100%;
		padding-top: 0;
		text-align: left;
	}
	
}

@media screen and (min-width: 600px) {
	
	.wpcf7-form p {
		display: flex;
		flex-flow: row nowrap;
		justify-content: space-between;
	}

	.wpcf7-form-control-wrap:not([data-name="message"]):not([data-name="acceptance"]) {
		width: calc(50% - (var(--wp--style--block-gap) / 2));
	}

}

@media screen and (max-width: 599px) {
	
	.wpcf7-form p {
		display: flex;
		flex-flow: column wrap;
	}
	
	.wpcf7-form p > *:first-child:not([type="submit"]):not([data-name="message"]) {
		margin: 0 0 1.618em;
	}
	
	.wpcf7-form p:last-of-type {
		margin-bottom: 0;
	}

	.wpcf7-form-control-wrap:not([data-name="message"]):not([data-name="acceptance"]) {
		width: 100%;
	}

}

@media screen and (max-width: 54.9375em) and (orientation: portrait) {
	
}

@media screen and (max-width: 54.9375em) and (orientation: landscape) {
	
}

@media screen and (min-width: 42em) and (max-width: 54.9375em) {

	.main-navigation-container .menu {
		margin-top: 0 !important;
	}

}

@media screen and (max-width: 41.9375em) and (min-height: 28em) {
	
}

@media screen and (max-width: 41.9375em) and (orientation: landscape) {
	
	.is-intro .vp-portfolio__items-wrap,
	.is-intro .vp-portfolio__item-img,
	.is-intro .wp-block-image {
		max-height: calc(100vh - (var(--header-height-top) + var(--header-height-main)));
		height: calc(100vh - (var(--header-height-top) + var(--header-height-main)));
	}
	
}

@media screen and (max-width: 41.9375em) {
	
	.site-header-inner .site-branding {
		order: 1;
		width: 50% !important;
	}
	
	.site-header-inner .site-controls {
		order: 2;
		width: 50% !important;
		text-align: right;
	}
	
	.main-navigation-container .menu {
		margin-top: 0 !important;
	}
	
	.main-navigation {
		font-size: 1.1em !important;
	}
	
	.has-navigation-mobile .main-navigation-container {
		transform-origin: 50% 0;
	}
	
	.has-navigation-mobile .main-navigation-container .menu > ul {
		padding: 20% 5% 2.5% 5%;
	}
	
}

@media (max-width: 447px) {
  
	html {
		font-size: 17px;
	}

}

@media screen and (max-width: 400px) {
	
	.site-header-inner {
		flex-wrap: nowrap;
	}

	.site-header-inner .site-branding {
		width: 67% !important;
		font-size: 0.75em;
	}
	
	.site-header-inner .site-controls {
		width: 33% !important;
		text-align: right;
	}

}

@media screen and (max-width: 350px) {
	
	.site-description {
		display: none !important;
	}
	
}