/* BAF 2.4.2025 - 11:01 */
:root {
	--sw-color-black: #000000;
	--sw-color-white: #ffffff;	
	--sw-color-green-dark: #044141;
	--sw-color-green-dark-hover: #04414140;
	--sw-color-green: #3A8C36;		
	--sw-color-orange: #FF8749;
	--sw-color-lavender: #9999CC;
	--sw-color-beige: #f1f1e6;
	
	--sw-header-horizontal-margin: 9vw;
}

::selection {
	/* background: #ffdd6a; */
}

html {
  scroll-behavior: smooth;
}

/* default container padding for all resolutions and container sizes */
/* , .container-fluid, .ark-boxed__boxed-wrapper, .ark-boxed__boxed-wrapper .ark-header */
.container {
	padding-left: 30px;
	padding-right: 30px;
}

a {
	/* avoid "all" or "visibility" due to flickering when using JS effects */
	transition: color 0.2s, background-color 0.2s, border-color 0.2s,  opacity 0.2s;
}
a:focus, a:hover {
	text-decoration: none;
}

img:not(.woocommerce-product-gallery img) {
	pointer-events: none; /* Hides visual search icon in Edge */
}

.fg-paragraph p, .fg-paragraph ul, .accordion-v1 .panel-body p, .accordion-v1 .panel-body ul {
	margin-bottom: 15px;
}
.fg-paragraph:last-child p:last-child {
	margin-bottom: 0;
}
.accordion-v1 .panel-body div:last-of-type + p {
	margin-top: 15px;
}
p, .fg-paragraph p, .fg-paragraph li, .fg-heading, .fg-heading p, .fg-text-dark.fg-heading, .fg-text-dark.fg-heading p, h1>a, h2>a, h3>a, .panel-body, .panel-body p, .panel-body li {
	color: var(--sw-color-green-dark);
}
.fg-paragraph a, .fg-paragraph p a {
	color: var(--sw-color-green);
}
.fg-paragraph a:hover, .fg-paragraph p a:hover {
	color: var(--sw-color-orange);
}
h1 > p, h2 > p, h3 > p, h4 > p {
	margin: 0;
}
.fg-paragraph strong, .fg-paragraph strong:hover, .accordion-v1 .panel .panel-body p strong, .accordion-v1 .panel .panel-body p strong:hover {
	font-weight: 500 !important;
}
h3.fg-heading strong, h3.fg-heading b, h3.fg-heading p strong, h3.fg-heading p b {
	font-weight: 400 !important;
}

/* bootstrap > v.3 standard class for hiding */
.d-none {
	display: none !important;
}

/* 
	Fixed patterns/images in the background
	- To flexibly position the content elements at the right layer, use the following globale Styles, both with position relative and z-index !important:
		- Element in front of Dots (z-index: 1)
		- Element behind Dots (z-index: -1)
	- The left and right indented content elements need some special handling (see Ecofin case for more details):
		Content/Column itself needs z-index auto, set by a css class to override the style attribute set during run time
		
.page-wrapper:before, .page-wrapper:after {
	width: 100vw;
	position: fixed;
	opacity: 0.25;
}
.page-wrapper:before {
	content: url(/wp-content/uploads/pattern_bottom_left.svg);
    top: 53vh;
}
.page-wrapper:after {
	content: url(/wp-content/uploads/pattern_top_right.svg);
    top: 0;
	z-index: -1;
}
.fg-section, .fg-row {
	z-index: auto !important;
}
.z-index-auto {
	z-index: auto !important;
	position: relative;
}
*/

/*
	lightbox
	- For Fullscreen Design set mfp-content zu full size and use the ark standard Sections and Rows to control the width of the content
	- To open the Lightbox also by Clicking on Post Title and Image the corresponsing lightbox css class must be set in custom.js
	- don't use width: 100vw; in .mfp-content, positions the lightbox to the end of the page
	.mfp-iframe-holder  .mfp-content {
		max-width: none;
		height: 100vh;
		width: 100%;
	}
*/
/*
.mfp-bg {
	background: var(--sw-color-white);
	opacity: 0.72;
}
.mfp-iframe-holder .mfp-content {
	max-width: 1135px;
	min-height: 773px;
}
.mfp-iframe-holder {
	padding: 0;
}
.mfp-iframe-scaler iframe {
	background-color: transparent;
	box-shadow: 2px 6px 12px #00000029;
}
.mfp-iframe-scaler iframe {
	background-color: var(--sw-color-white);
}
.mfp-iframe-holder .mfp-close {
	top: 10px;
	right: 10px;
	border-radius: 0;
	opacity: 1;
	background: none;	
	width: 32px;
	height: 32px;
	font-size: 40px;
	line-height: 0.85;
	color: var(--sw-color-green-dark);
}

Decoration / No Decoration in Lightbox iFrame - the css classes must be set in custom.js
body.no-decoration {
	background-color: var(--sw-color-white);
}
body.no-decoration .ark-header, body.no-decoration .footer-container, body.no-decoration #footer, body.no-decoration.page .page-wrapper .fg-container-no-padding, body.no-decoration.single-portfolio .page-wrapper .fg-container-no-padding, body.no-decoration .menu-top-menu-container, body.no-decoration .titlebar, body.no-decoration .contact-sidenav {
	display: none;
}
.ark-header, .footer-container, #footer, .page .page-wrapper .fg-container-no-padding, .single-portfolio .page-wrapper .fg-container-no-padding, .menu-top-menu-container, .titlebar, .contact-sidenav {
	visibility: hidden;
}
body.decoration .ark-header, body.decoration .footer-container, body.decoration #footer, body.decoration.page .page-wrapper .fg-container-no-padding, body.decoration.single-portfolio .page-wrapper .fg-container-no-padding, body.decoration .menu-top-menu-container, body.decoration .titlebar, body.decoration .contact-sidenav {
	visibility: visible;
}
*/

/* Header Image and Text */
.header-large {
	height: 100vh;
	min-height: 830px;
	/* max-height: 760px; */
	
	/* Header Text Positioning */
	display: flex;
    flex-direction: column;
    justify-content: end;
    /* padding-bottom: 80px; */
}
.header-large > .fg-bg > span {
	background-position: 50% 18% !important;
}
.header-small {
    height: 36vw;
	min-height: 230px;
	max-height: 465px;
}
/* .header-small { */
    /* height: 35vw; */
/* } */

.header-text {
	left: var(--sw-header-horizontal-margin);
	width: 445px;
	bottom: 151px;
	opacity: 0;
	/* animation: headerFadeIn 0.8s ease 0.4s forwards; */
	transform: translateY(10px);
	animation: headerFadeInUp 0.8s ease 0.4s forwards;
}
/*
	Header Text: Type Writing

.header-text {
	display: inline-block;
	float: left;
	clear: both;
}
.header-text div {
	width: 0;
	background-color: var(--sw-color-lavender);
	animation: typing 1s steps(30, end) forwards;
}
.header-text:last-child div {
	animation-delay: 1s;
}
.header-text p {
	margin-left: calc(15px + 4.5vw);
	margin-right: 20px;
	margin-bottom: 9px;
	overflow: hidden;
	white-space: nowrap;
}

@keyframes typing {
	0% { width: 0; }
	100% { width: 100%; }
}
*/

/*
	Header Text: Poligon.
	The Poligon ist different for left and right aligned Text. The Case below is for right alinged Text.
	For left aligned Text, use the following polygons:
	clip-path: polygon(100% 80%, 100% 100%, 0 100%, 0 0);
	clip-path: polygon(100% 20%, 100% 100%, 0 100%, 0 0);

.header-text p {
	font-weight: 600;
	margin: 0;
	line-height: 1.8;

	-webkit-clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 80%);
	clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 80%);

	transform: translateY(-50px);
	opacity: 0;
	animation-name: titleAnimation;
	animation-timing-function:ease;
	animation-duration: 3.5s;
	-webkit-animation-fill-mode: forwards;
}
.header-text p:nth-child(1){
  animation-delay: 1.7s;
}
.header-text p:nth-child(2){
  animation-delay: 1.6s;
}
.header-text p:nth-child(3){
  animation-delay: 1.5s;
}
.header-text p:nth-child(4){
  animation-delay: 1.4s;
}

@keyframes titleAnimation {
    0% {
      transform: translateY(-50px);
      opacity: 0;
      -webkit-clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 80%);
      clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 80%);
  }
  20% {
      transform: translateY(0);
      opacity: 1;
      -webkit-clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 15%);
      clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 15%);
  }
  100% {
       transform: translateY(0);
       opacity: 1;
      -webkit-clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 15%);
      clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 15%);
  }
}
*/

.display-flex-row {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}
.display-flex-row-center {
	display: flex;
	flex-direction: row;
	align-items: center;
	flex-wrap: wrap;
}
.display-flex-row-center-center {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}
.display-flex-column {
	display: flex;
	flex-direction: column;
}
.display-flex-column-center {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.image-full-width {
	/* height: 24vw; */
	/* max-height: 560px; */
}

/* Portfolio flex - adapt margins if a custom horizontal margin is set in ark portfolio element */
.ff-portfolio-grid {
	height: auto !important;
}
.ff-portfolio-grid .cbp-wrapper-outer .cbp-wrapper {
	position: static;
	display: flex;
	flex-wrap: wrap;
	margin: 0 -15px;
	width: auto;
}
.ff-portfolio-grid .cbp-item {
	position: static;
	margin: 0 15px;
}
.cbp-item-off {
    display: none;
}

.ffb-btn, .ffb-btn .btn-text {
	white-space: normal;
	transition: color 0.25s, background-color 0.25s, border 0.25s;
}
.ffb-btn:hover .btn-text {
	color: var(--sw-color-orange) !important;
}
.page-wrapper .ffb-btn:hover {
	border-color: var(--sw-color-orange) !important;
}
.radio input[type=radio], .checkbox input[type=checkbox] {
	margin-top: 3px;
}
form label.error {
	color: red;
	margin-top: -5px !important;
}
form input[type=text]::placeholder, form textarea::placeholder, .wpcf7 input::placeholder, .wpcf7 textarea::placeholder {
	color: var(--sw-color-green-dark) !important;
}
.fg-col label {
  line-height: 1.8 !important;
  letter-spacing: 0.015em !important;
  font-weight: 400 !important;
  font-size: 16px !important;
}
.wpcf7-form p, .wpcf7-form h4, .wpcf7-response-output {
	margin: 0;
	color: var(--sw-color-green-dark);
	text-align: left;
	font-weight: 400;
	font-size: 18px;
	letter-spacing: 0.025em;
}
.wpcf7-form .wpcf7-response-output {
	border: none !important;
	padding: 0 !important;
	margin: 50px 0 30px !important;
	color: var(--sw-color-lavender);
}
.wpcf7-form .wpcf7-response-output::before {
	content: "";
	display: block;
	width: 55px;
	height: 55px;
	background-image: url("/wp-content/uploads/icon-erfolgreich-1.svg");
	background-repeat: no-repeat;
	background-size: contain !important;
	margin-bottom: 20px;
}
.wpcf7-form.invalid .wpcf7-response-output {
	color: var(--sw-color-orange);
}
.wpcf7-form.invalid .wpcf7-response-output::before {
	background-image: url(/wp-content/uploads/icon-warning-1.svg);
}
.wpcf7-form p.extra-padding-bottom {
	padding-bottom: 47px;
}
.wpcf7-form h4 {
	font-weight: 500;
	padding-bottom: 35px;
}
.wpcf7-form > .fg-row:not(:first-of-type) h4 {
	padding-top: 55px;
}
.wpcf7-text, .wpcf7-select, .wpcf7-textarea, .wpcf7-number, .wpcf7-date {
    font-size: 14px !important;
    font-weight: 400 !important;
    font-style: normal;
    letter-spacing: 0;
    border-radius: 0;
    color: var(--sw-color-green-dark);
    background: transparent;
    background-color: transparent;
    box-shadow: none;
    border: 0;
    border-bottom: 1px solid;
    border-color: var(--sw-color-green-dark);
    margin-bottom: 36px;
    width: 100%;
    height: 30px;
    padding: 0 0 4px 0;
}
.wpcf7-select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	padding-left: 2px;
}
.wpcf7-textarea {
	height: 144px !important;
	resize: none;
	line-height: 28px;
	background-image: repeating-linear-gradient(
	  to bottom,
	  transparent 0,
	  transparent 31px,
	  var(--sw-color-green-dark) 31px,
	  var(--sw-color-green-dark) 32px,
	  transparent 28px,
	  transparent 56px
	 );
}
.wpcf7-textarea:hover {
	background-image: repeating-linear-gradient(
	  to bottom,
	  transparent 0,
	  transparent 31px,
	  var(--sw-color-green-dark-hover) 31px,
	  var(--sw-color-green-dark-hover) 32px,
	  transparent 28px,
	  transparent 56px
	 );
}
.wpcf7 select option {
	background: var(--sw-color-beige);
}

.wpcf7-form .fg-paragraph p {
	color: var(--sw-color-green-dark);
	margin-bottom: 4px;
	font-size: 18px !important;
}
.wpcf7-not-valid-tip {
    color: var(--sw-color-orange);
    font-size: 13px;
    font-weight: 400;
    text-align: left;
    margin: -32px 0 16px 0;
}
.wpcf7-not-valid-tip + .wpcf7-not-valid-tip {
	margin: -12px 0 16px 0;
}
.wpcf7-file + .wpcf7-not-valid-tip {
	margin-top: -7px;
}
body:not(.logged-in) .sw-test-fill-row, body:not(.logged-in) .sw-test-fill-business-btn {
	display: none;
}
.sw-test-fill-btn, .sw-test-fill-business-btn {
	margin-bottom: 20px;
    padding: 9px 16px;
}
.sw-test-fill-btn br, .sw-test-fill-business-btn br {
	display: none;
}

.wpcf7-submit, .wpcf7-file::file-selector-button, .wpcf7-file::-webkit-file-upload-button {
	appearance: none;
	-webkit-appearance: none;
	background-color: transparent !important;
	border: 1px solid var(--sw-color-green-dark) !important;
	font-size: 18px !important;
	font-weight: 500 !important;
	letter-spacing: 0.025em;
	text-align: center !important;
	color: var(--sw-color-petrol-dark) !important;
	padding-top: 10px;
    padding-right: 15px;
    padding-bottom: 9px;
    padding-left: 15px;
	text-decoration: none;	
	border-radius: 0;
	text-align: left;
	margin-right: 0;
}
.wpcf7-spinner {
	display: none;
}
input.wpcf7-submit, .wpcf7-spinner  {
	margin-right: 20px;
	margin-bottom: 20px;
}

.wpcf7-file {
	padding: 18px 0 25px;
	font-size: 16px !important;
	width: 100%;
}
.wpcf7-file.has-file {
	background: none;
	width: 383px;
}
.wpcf7-file::file-selector-button,
.wpcf7-file::-webkit-file-upload-button {
	margin-right: 16px;
	letter-spacing: 0.025em;
}

.back-link p {
	margin: 0;
}
/*.back-link a:hover, .back-link a:hover span {
	color: #89acc8 !important;
} */	
.back-link a span, .back-link a span:hover {
	font-size: 115% !important;
	transition: all 0.25s;
}

/* 100% = browser width without scrollbars */
.column-left-indented-to-content {
	padding-right: 0;
}
.column-left-indented-to-content.col-lg-4 {
	padding-left: calc((100% - 1170px) / 2);
	width: calc(390px + (100% - 1170px) / 2);
}
.column-left-indented-to-content.col-lg-6 {
	padding-left: calc((100% - 1170px) / 2);
	width: calc(585px + (100% - 1170px) / 2);
}
.column-left-indented-to-content.col-lg-8 {
	padding-left: calc((100% - 1170px) / 2);
	width: calc(780px + (100% - 1170px) / 2);
}
.column-left-indented-to-content.col-lg-12 {
	padding-left: 0;
	width: 100%;
}
.column-right-indented-to-content {
	padding-left: 0;
}
.column-right-indented-to-content.col-lg-4 {
	padding-right: calc((100% - 1170px) / 2);
	width: calc(390px + (100% - 1170px) / 2);
}
.column-right-indented-to-content.col-lg-6 {
	padding-right: calc((100% - 1170px) / 2);
	width: calc(585px + (100% - 1170px) / 2);
}
.column-right-indented-to-content.col-lg-8 {
	padding-right: calc((100% - 1170px) / 2);
	width: calc(780px + (100% - 1170px) / 2);
}
.column-right-indented-to-content.col-lg-12 {
	padding-right: 0;
	width: 100%;
}

.two-columns-list {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	margin-bottom: 23px;
}
.two-columns-list p {
	margin-bottom: 5px;
}
.two-columns-list p:nth-child(odd) {
	width: 60px;
}
.two-columns-list p:nth-child(even) {
	width: calc(100% - 60px);
}
.panel-default>.panel-heading {
	background-color: transparent;
	border-color: transparent;
}
.accordion-v1 {
    margin-bottom: 0;
	padding-bottom: 30px;
}
.accordion-v1 .panel-group .panel + .panel {
    margin-top: 0;
	padding-top: 12px;
}
.accordion-v1 .panel-title > a {
	padding: 10px 21px 10px 30px;
	background-color: transparent !important;
	color: var(--sw-color-green-dark) !important;
}
.accordion-v1 .panel-title > a.ffb-title:after {
	width: 16px;
    left: -3px;
    margin-top: -14px;
    padding: 0;
    content: "";
    background-image: url(/wp-content/uploads/icon-chevron.svg);
    background-repeat: no-repeat;
    background-position: left;
    background-size: 16px 10px;
	transition: transform 0.2s ease;
}
.accordion-v1 .panel-title > a.ffb-title[aria-expanded="false"]:after {
	/* margin-top: -15px; */
	padding: 0;
}
.accordion-v1 .panel-title > a.ffb-title[aria-expanded="true"]:after {
	/* margin-top: -15px; */
	transform: rotate(180deg);
	padding: 0;
}
.accordion-v1 .panel-body {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	background-color: var(--sw-color-white) !important;
	padding: 6px 30px;
}
.accordion-v1 .panel-body p:last-child {
	margin-bottom: 0;
}
.accordion-v1 .panel-body p {
	width: 100%;
}
.accordion-v1 .panel-body div {
	width: 50%;
}
/*.accordion-v1 .panel-body div:nth-of-type(odd) {
	width: 30%;
}
.accordion-v1 .panel-body div:nth-of-type(even) {
	width: 70%;
}*/
.accordion-v1 .panel-body div {
	padding: 10px 20px;
}
.accordion-v1 .panel-body div:nth-of-type(1), .accordion-v1 .panel-body div:nth-of-type(2) {
	background-color: var(--sw-color-orange);
	font-weight: 500 !important;
	color: var(--sw-color-white) !important;
}
.accordion-v1 .panel-body div:nth-of-type(2n+1) {
	border-right: 1px solid var(--sw-color-green-dark);
}
.accordion-v1 .panel-body div:nth-of-type(4n+3), .accordion-v1 .panel-body div:nth-of-type(4n+4) {
	background-color: var(--sw-color-lavender);
}
.accordion-v1 .panel-body div:nth-of-type(4n+5), .accordion-v1 .panel-body div:nth-of-type(4n+6) {
	background-color: var(--sw-color-green);
}

#footer a:hover {
	text-decoration: none;
}
#footer img {
	max-width: 168px;
}

.webagency li {
	margin: 0;	
}

ul.footer-navigation {
	margin: 0;
	list-style: none;
	overflow: hidden;
	padding: 0;
}
.footer-navigation li {
	margin-left: 0;
	margin-right: 28px;
	list-style: none;
	float: left;
}

/* fixes lightbox more than 100% width */
.cbp-popup-wrap {
	width: 100vw;
}

/* Ark Map Element
.ff-map > div {
	pointer-events: all !important;
}
*/

.icon-box .fg-wrapper > img {
	padding-bottom: 30px;
}
.partner-logo .fg-row {
	display: flex;
    flex-wrap: wrap;
}
.partner-logo .fg-col {
	padding-bottom: 70px;
}
.partner-logo .fg-col .fg-wrapper {
	position: relative;
	max-width: 200px;
	height: 92px;
	margin-bottom: 20px;
	
	display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
}
.partner-logo .fg-col .fg-wrapper > img {
	display: block;
	height: 100%;
	object-fit: contain;
	transition: opacity 0.4s ease-in-out;
}
.partner-logo .fg-col .fg-wrapper > img:nth-of-type(1) {
	opacity: 1;
}
.partner-logo .fg-col .fg-wrapper > img:nth-of-type(2) {
	position: absolute;
	opacity: 0;
}
.partner-logo .fg-col:hover .fg-wrapper > img:nth-of-type(1) {
	opacity: 0;
}
.partner-logo .fg-col:hover .fg-wrapper > img:nth-of-type(2) {
	opacity: 1;
}

.widget_search {
	padding: 0 !important;
	margin-bottom: 40px !important;
	width: calc(33% - 15px);
}

/* Tablet (SM) */
@media screen and (min-width: 768px) {
	.webagency {
		float: left;
	}

	.custom-map #combinedMap {
		/* min-height: 300px; */
	}
	
	.fg-container-small {
		width: 790px;
	}
	.fg-container-medium {
		width: 950px;
	}
	
	.partner-logo {
		margin-bottom: -40px;
	}
}

/* Laptop (MD) */
@media screen and (min-width: 992px) {
	.custom-map #combinedMap {
		/* min-height: 325px; */
	}
}

/* Desktop (LG) */
@media screen and (min-width: 1200px) {

}

/* Extra Large Additional Media Query  */
@media screen and (min-width: 1650px) {	
    .container {
		width: 1370px;
	}
	.fg-container-small {
		width: 990px;
	}
	.fg-container-medium {
		width: 1150px;
	}

	.column-left-indented-to-content.col-lg-4 {
		padding-left: calc((100% - 1370px) / 2);
		width: calc(456.66px + ((100% - 1370px) / 2));
		padding-right: 0;
	}
	.column-left-indented-to-content.col-lg-6 {
		padding-left: calc((100% - 1370px) / 2);
		width: calc(685px + ((100% - 1370px) / 2));
		padding-right: 0;
	}
	.column-left-indented-to-content.col-lg-8 {
		padding-left: calc((100% - 1370px) / 2);
		width: calc(913.33px + ((100% - 1370px) / 2));
		padding-right: 0;
	}
	.column-right-indented-to-content.col-lg-4 {
		padding-right: calc((100% - 1370px) / 2);
		width: calc(456.66px + (100% - 1370px) / 2);
	}
	.column-right-indented-to-content.col-lg-6 {
		padding-right: calc((100% - 1370px) / 2);
		width: calc(685px + (100% - 1370px) / 2);
	}
	.column-right-indented-to-content.col-lg-8 {
		padding-right: calc((100% - 1370px) / 2);
		width: calc(913.33px + (100% - 1370px) / 2);
	}

	.image-float-left {
		width: 28% !important;
	}
	.image-float-right {
		width: 28% !important;
	}
	
	.partner-logo .fg-col .fg-wrapper {
		max-width: 230px;
	}
}

/* Extra Large Additional Media Query  */
@media screen and (min-width: 2000px) {	
	.header-small {
		max-height: 565px;
	}
}

/* Laptop (MD)  */
@media screen and (max-width: 1199px) {
	:root {
		--sw-header-horizontal-margin: 8vw;
	}
	
	.column-left-indented-to-content.col-md-4 {
		padding-left: calc((100% - 970px) / 2);
		width: calc(323.33px + (100% - 970px) / 2);
	}
	.column-left-indented-to-content.col-md-6 {
		padding-left: calc((100% - 970px) / 2);
		width: calc(485px + (100% - 970px) / 2);
	}
	.column-left-indented-to-content.col-md-8 {
		padding-left: calc((100% - 970px) / 2);
		width: calc(646.66px + (100% - 970px) / 2);
	}
	.column-left-indented-to-content.col-md-12 {
		padding-left: 0;
		width: 100%;
	}
	.column-right-indented-to-content.col-md-4 {
		padding-right: calc((100% - 970px) / 2);
		width: calc(323.33px + (100% - 970px) / 2);
	}
	.column-right-indented-to-content.col-md-6 {
		padding-right: calc((100% - 970px) / 2);
		width: calc(485px + (100% - 970px) / 2);
	}
	.column-right-indented-to-content.col-md-8 {
		padding-right: calc((100% - 970px) / 2);
		width: calc(646.66px + (100% - 970px) / 2);
	}
	.column-right-indented-to-content.col-md-12 {
		padding-right: 0;
		width: 100%;
	}
	
	.header-large {
		min-height: 770px;
	}
	.header-text {
		width: 400px;
		bottom: 120px;
	}
}

/* Portfolio Medium  */
@media screen and (max-width: 1099px) {

}

/* Tablet (SM) */
@media screen and (max-width: 991px) {
	/*
	.mfp-iframe-holder .mfp-content {
		max-width: none;
		min-height: 100vh;
	}
	*/
	.column-left-indented-to-content.col-sm-4 {
		padding-left: calc((100% - 750px) / 2);
		width: calc(250px + (100% - 750px) / 2);
	}
	.column-left-indented-to-content.col-sm-6 {
		padding-left: calc((100% - 750px) / 2);
		width: calc(375px + (100% - 750px) / 2);
	}
	.column-left-indented-to-content.col-sm-8 {
		padding-left: calc((100% - 750px) / 2);
		width: calc(500px + (100% - 750px) / 2);
	}
	.column-left-indented-to-content.col-sm-12 {
		padding-left: 0;
		width: 100%;
	}
	.column-right-indented-to-content.col-sm-4 {
		padding-right: calc((100% - 750px) / 2);
		width: calc(250px + (100% - 750px) / 2);
	}
	.column-right-indented-to-content.col-sm-6 {
		padding-right: calc((100% - 750px) / 2);
		width: calc(375px + (100% - 750px) / 2);
	}
	.column-right-indented-to-content.col-sm-8 {
		padding-right: calc((100% - 750px) / 2);
		width: calc(500px + (100% - 750px) / 2);
	}
	.column-right-indented-to-content.col-sm-12 {
		padding-right: 0;
		width: 100%;
	}
	
	.header-large {
        min-height: 700px;
    }
	.header-text {
		width: 340px;
		bottom: 100px;
	}
	
	.partner-logo .fg-col .fg-wrapper > img:nth-of-type(1) {
		opacity: 0;
	}
	.partner-logo .fg-col .fg-wrapper > img:nth-of-type(2) {
		opacity: 1;
	}
	
	.wpcf7-form p, .wpcf7-form h4, .wpcf7-submit, .wpcf7-file::file-selector-button, .wpcf7-file::-webkit-file-upload-button, .wpcf7-response-output {
		font-size: 16px !important;
	}
	.wpcf7-file {
		font-size: 14px !important;
	}
	
	.widget_search {
		width: calc(50% - 15px);
	}

	#footer img {
		max-width: 140px;
	}
}

/* Portfolio Small  */
@media screen and (max-width: 799px) {

}

/* Phone (XS) */
@media screen and (max-width: 767px) {
	:root {
		--sw-header-horizontal-margin: 30px;
	}
	.header-large {
        min-height: 555px;
    }
	
	.header-text {
		bottom: 80px;
        width: calc(100vw - 151px);
		max-width: 330px;
	}
	.image-fullwidth {
		/* min-height: 70vw; */
	}

	.column-left-indented-to-content.col-xs-4 {
		width: 33.33%;
	}
	.column-left-indented-to-content.col-xs-6 {
		width: 50%;
	}
	.column-left-indented-to-content.col-xs-8 {
		width: 66.66%;
	}
	.column-right-indented-to-content.col-xs-4 {
		width: 33.33%;
	}
	.column-right-indented-to-content.col-xs-6 {
		width: 50%;
	}
	.column-right-indented-to-content.col-xs-8 {
		width: 66.6%;
	}
	.column-left-indented-to-content.col-xs-12, .column-right-indented-to-content.col-xs-12 {
		padding-left: 0;
		padding-right: 0;
		width: 100%;
	}

	.webagency {
		float: left;
	}	

	.custom-map #combinedMap {
		/* min-height: 54vw; */
	}
	.partner-logo .fg-col .fg-wrapper {		
		margin-bottom: 5px;
	}
	.partner-logo .fg-col {
		padding-bottom: 50px;
	}
	.icon-box .fg-wrapper {
		max-width: 400px;
		margin: 0 auto;
		padding-left: 0;
		padding-right: 0;
	}
	.icon-box .fg-wrapper > img {
		padding-bottom: 25px;
		width: 80px;
	}
	.wpcf7-form .wpcf7-response-output {
		margin: 35px 0 10px !important;
	}
}

/* Portfolio Extra Small  */
@media screen and (max-width: 579px) {
	.ff-portfolio-grid .cbp-item {
		margin-right: 0;
	}
}

/* Extra Small 1 Additional Media Query  */
@media screen and (max-width: 480px) {
	.image-float-left, .image-float-right {
		width: 100% !important;
		margin: 0 0 20px !important;
	}
	.header-text {
		width: calc(100vw - 60px);
	}
	.widget_search {
		width: 100%;
	}
}

/* Extra Small 2 Additional Media Query  */
@media screen and (max-width: 400px) {

}

/* Extra Small 3 Additional Media Query  */
@media screen and (min-width: 580px) and (max-width: 991px) {

}

/* Extra Small 4 Additional Media Query  */
@media screen and (min-width: 550px) and (max-width: 767px) {
	.flex-basis-50 {
		flex-basis: 50%;
	}
}

/* effects */
@-webkit-keyframes fadeInUpSPWE {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 12px, 0);
    transform: translate3d(0, 12px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInUpSPWE {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 12px, 0);
    transform: translate3d(0, 12px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes headerFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes headerFadeInUp {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fadeInUp {
  -webkit-animation-name: fadeInUpSPWE;
  animation-name: fadeInUpSPWE;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}