/*
Theme Name: ProPosition
Author: URBAN PROPAGANDA Communications GmbH
Author URI: https://urban-propaganda.de/
Description: Custom responsive theme.
Version: 1.1.3
Tags: php8, wp7
Text Domain: proposition
*/

@charset "UTF-8";

:root {
	--text-color: #121212;
	--text-hover-color: #dd3f5a;
	--text-primary-color: #213948;
	--text-secondary-color: #00fed2;
	--text-tertiary-color: #ff3f5a;
	
	--text-light: #fff;
	--text-dark: #121212;
	
	--line-color: #648c9c;
	--background-color: #f5f5f5;

	--button-background-color: #ff3f5a;
	--button-text-color: #ffffff;
}

@font-face {
	font-family: "Rethink Sans";
	src: url("fonts/rethink_sans/RethinkSans-VariableFont_wght.ttf") format('truetype-variations');
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
}

@font-face {
	font-family: "Big Shoulders";
	src: url("fonts/big_shoulders/static/BigShoulders-Bold.ttf") format('truetype');
	font-style: normal;
	font-weight: 900;
	font-display: swap;
}

html, body {
    height: 100%;
}

html {
	scrollbar-gutter: stable;
}

body {
	background-color: #eee;
	overflow-y: scroll;
}

body, button, input, select, textarea {
    font-family: 'Rethink Sans', sans-serif;
	font-size: 16px;
	line-height: 24px;
	font-weight: 400;
	color: var(--text-color);
}

textarea {
	resize: vertical;
}

* {
	box-sizing: border-box;
	outline: none;
	margin: 0;
	padding: 0;
}

.noselect {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: none;
	appearance: none;
}

b, strong {
	font-weight: 600;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5 {
    font-family: 'Big Shoulders', sans-serif;
	color: var(--text-primary-color);
	font-weight: 700;
	text-transform: uppercase;
}
.textlight h1, .textlight .h1, .textlight h2, .textlight .h2, .textlight h3, .textlight .h3,
.textlight h4, .textlight .h4, .textlight h5, .textlight .h5 {
	color: var(--text-light);
}
.textlight svg path {
	fill: var(--text-light);
}
.textdark h1, .textdark .h1, .textdark h2, .textdark .h2, .textdark h3, .textdark .h3,
.textdark h4, .textdark .h4, .textdark h5, .textdark .h5 {
	color: var(--text-dark);
}
.textdark svg path {
	fill: var(--text-dark);
}
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, p, ul, ol {
	margin-bottom: 20px;
}
h1, .h1 {
	font-size: 96px;
	line-height: 104px;
}
h2, .h2 {
	font-size: 48px;
	line-height: 56px;
}
h3, .h3 {
	font-size: 32px;
	line-height: 40px;
}
h4, .h4 {
	font-size: 26px;
	line-height: 34px;
}
h5, .h5 {
	font-size: 20px;
	line-height: 28px;
}

ul, ol {
	padding-left: 12px;
}

a {
	color: var(--text-color);
	text-decoration: none;
	transition: all 0.3s;
}
a:hover {
	color: var(--text-hover-color);
	text-decoration: none;
}

.imgresponsive {
	display: block;
	width: 100%;
	height: auto;
}
.imground {
    border-radius: 50%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
}
.imgshadow {
	box-shadow: -10px 10px 10px 0px rgba(0,0,0,0.25);
}
.imglimited-wrapper {
	width: 100%;
	max-width: 800px;
}
.imglimited {
	display: block;
	max-width: 100%;
	height: auto;
	max-height: 600px;
	object-fit: contain;
	margin: 0;
	padding: 0;
}


#main {
	min-height: 100vh;
}


/* Content */
.c-content {
	width: 100%;
/*	max-width: 1920px; */
	margin: 0 auto;
	background-color: var(--background-color);
}
.c-content-center {
	width: 100%;
	max-width: 1420px;
	margin: 0 auto;
}
.c-content-narrow {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
}
.c-content-inner {
	padding: 0 120px;
}
.c-line-top {
	border-top: 2px solid var(--text-color);
}
.c-line-bottom {
	border-bottom: 2px solid var(--text-color);
}
.c-line-all {
	border: 2px solid var(--line-color);
	padding: 40px;
}
.c-line-fill {
	border: 2px solid var(--line-color);
	padding: 40px;
	background-color: var(--line-color);
}
.c-line-primary {
	border: 1px solid var(--text-primary-color);
}
.c-line-column {
	display: flex;
	flex-direction: column;
}
.c-line-column-bottom {
	margin-top: auto;
	background-color: #e3ecea;
	padding: 20px;
	border-top: 1px solid var(--text-primary-color);
}
.c-line-tobottom {
	position: relative;
	padding-bottom: 54px !important;
}
.c-line-tobottom .tobottom {
	position: absolute;
	right: 40px;
	bottom: 40px;
	left: 40px;
}
.c-quote {
	display: block;
	padding: 10px 20px;
	border-left: 2px solid var(--text-color);
	margin-bottom: 20px;
	background-color: rgba(0,0,0,0.1);
}
/* /Content */


/* Spacers */
.c-spacer {
	height: 30px;
}
.c-spacer-halfhalf,
.c-spacer-small {
	height: 10px;
}
.c-spacer-half {
	height: 20px;
}
.c-spacer-double {
	height: 60px;
}
.c-spacer-section {
	height: 120px;
}
.c-spacer-header {
	height: 120px;
}
/* /Spacers */


/* Formatting */
.textcenter {
	text-align: center;
}
.textright {
	text-align: right;
}
.textleft {
	text-align: left;
}
.textsmall {
	font-size: 12px;
	line-height: 17px;
}
.textbody {
	font-size: 18px;
	line-height: 26px;
}
.textlarge {
	font-size: 72px;
	line-height: 72px;
	font-weight: 600;
}
.textgiant {
	font-size: 144px;
	line-height: 144px;
	font-weight: 600;
}
.textupper {
	text-transform: uppercase;
}
.textunderline {
	text-decoration: underline;
}
.textunderlined {
	border-bottom: 2px solid var(--text-color);
}
.textbold {
	font-weight: 600;
}
.textcolor {
	color: var(--text-color);
}
.textprimary {
	color: var(--text-primary-color);
}
.textsecondary {
	color: var(--text-secondary-color);
}
.texttertiary {
	color: var(--text-tertiary-color);
}
.textlight {
	color: #fff;
}
.textlight a {
	color: #fff;
}
.textlight a:hover {
	color: var(--text-hover-color);
}
.textgray {
	color: #888;
}
.textdark {
	color: #000;
}
.textgreen {
	color: #00bf00;
}
.textnowrap {
	white-space: nowrap;
}
/* /Formatting */


/* Header */
#header {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 99;
	opacity: 1;
	transform: translateY(20px);
	transition: all 0.3s;
}
#header .c-content {
	background-color: transparent;
}
.header-grid-wrapper {
	background-color: var(--text-secondary-color);
	border-radius: 44px;
	padding: 16px 40px;
	height: 80px;
	width: 100%;
	margin: 0 auto;
	transition: width 0.7s ease-in-out;
}
.header-grid {
	display: grid;
	grid-template-columns: 182px 1fr auto;
	grid-template-rows: 1fr;
	grid-column-gap: 0px;
	grid-row-gap: 0px; 
}

.header-logo {
	height: 48px;
}
.header-logo a {
	display: inline-block;
	height: 48px;
}
.header-logo a svg {
	display: inline-block;
	width: 182px;
	height: 48px;
}
.header-logo a svg path {
	fill: var(--text-primary-color);
	transition: all 0.3s;
}
.header-logo a:hover svg path {
	fill: var(--text-hover-color);
}

.header-lang-switch {
	vertical-align: top;
	width: 72px;
	height: 40px;
	margin-right: 40px;
	display: inline-block;
	position: relative;
	color: var(--text-primary-color);
	line-height: 40px;
	font-weight: 700;
	font-size: 14px;
	text-align: right;
	letter-spacing: 1px;	
}
.header-lang-switch a {
	margin: 0;
	cursor: pointer;
	text-transform: uppercase;
	display: inline-block;
	line-height: 40px;
	text-decoration: none;
	color: var(--text-primary-color);
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 1px;	
}
.header-lang-switch a:hover {
	color: var(--text-hover-color);
	text-decoration: none;
}
.header-mobile-icon {
	display: none;
	vertical-align: top;
	width: 64px;
	height: 40px;
	margin-left: 40px;
	cursor: pointer;
	position: relative;
	background-color: var(--text-primary-color);
	border-radius: 20px;
	transition: background 0.3s;
}
.header-mobile-icon span {
	position: absolute;
	left: 20px;
	right: 20px;
	height: 2px;
	background-color: #fff;
	transition: all 0.3s;
}
.header-mobile-icon:hover {
	background-color: var(--button-background-color);
}
.header-mobile-icon span.a1 {
	top: 12px;
}
.header-mobile-icon span.a2 {
	top: calc(50% - 1px);
}
.header-mobile-icon span.a3 {
	bottom: 12px;
}
body.mobilemenu-active .header-mobile-icon span.a1 {
	top: 19px;
	transform: rotate(45deg);
}
body.mobilemenu-active .header-mobile-icon span.a2 {
	opacity: 0;
}
body.mobilemenu-active .header-mobile-icon span.a3 {
	bottom: 19px;
	transform: rotate(-45deg);
}

#bg {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(0,0,0,0.5);
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.3s, visibility 0s 0.3s;
	pointer-events: none;
	z-index: 8;
}
body.mobilemenu-active #bg {
	opacity: 1;
	visibility: visible;
	transition: opacity 0.3s, visibility 0s 0s;
}

#mobilemenu {
	display: none;
	opacity: 0;
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 98;
	background-color: #fff;
	max-height: 100vh;
	overflow: auto;
	transform: translateY(-100%);
	transition: transform 0.3s ease, opacity 0.3s ease;
	pointer-events: none;
}
body.mobilemenu-active #mobilemenu {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}
#mobilemenu ul {
	list-style-type: none;
	display: block;
	padding: 0;
	margin: 0;
	width: 100%;
}
#mobilemenu ul li {
	display: block;
	border-top: 1px solid rgba(0,0,0,0.1);
}
#mobilemenu ul li a {
	display: block;
	height: 48px;
	line-height: 48px;
	padding: 0 20px;
	font-weight: bold;
}
#mobilemenu ul li ul li a {
	padding-left: 40px;
}
#mobilemenu ul li a:active,
#mobilemenu ul li a:hover {
	color: #000;
	background-color: #eee;
}

#mobilecontactoptions {
	list-style-type: none;
	display: block;
	padding: 0;
	width: 100%;
	background-color: #fff;
}
#mobilecontactoptions li a {
	display: block;
	height: 48px;
	line-height: 48px;
}
#mobilecontactoptions li a.seicon-contact {
	padding-left: 42px;
	padding-right: 20px;
}
#mobilecontactoptions li a.seicon-contact svg {
	top: 18px;
	left: 20px;
}
#mobilecontactoptions li a.seicon-contact:hover svg path {
	fill: var(--text-color) !important;
}

#mobilelangoptions {
	list-style-type: none;
	display: block;
	padding: 0;
	width: 100%;
	background-color: #eef;
}
#mobilelangoptions li a {
	display: block;
	height: 48px;
	line-height: 48px;
	padding: 0 20px 0 62px !important;
	font-weight: bold;
	text-align: left;
	position: relative;
}
#mobilelangoptions li a svg {
	position: absolute;
	top: 12px;
	left: 20px;
	width: 32px;
	height: 24px;
}

.header-menu {
	opacity: 1;
	visibility: visible;
	transition: opacity 0.3s ease, visibility 0.3s;
}
.header-menu ul {
	width: 100%;
	list-style-type: none;
	text-align: center;
	padding: 0;
	margin: 0;
}
.header-menu ul li {
	position: relative;
	display: inline-block;
	height: 48px;
	padding: 0;
}
.header-menu ul li ul.sub-menu {
	display: inline-block;
	position: absolute;
	top: 28px;
	left: 0;
	width: 320px;
	padding: 0;
	background-color: var(--text-secondary-color);
	border-radius: 0 0 30px 30px;
	padding-bottom: 20px;
	overflow: hidden;
	pointer-events: none;
	opacity: 0;
	transition: all 0.3s;
}
.header-menu ul > li:hover ul.sub-menu {
	top: 48px;
	opacity: 1;
	pointer-events: auto;
}
.header-menu ul li ul.sub-menu li {
	border-top: 1px solid rgba(0,0,0,0.1);
	display: block;
	height: 60px;
	padding: 0;
}
.header-menu ul li a {
	display: inline-block;
	height: 40px;
	line-height: 48px;
	color: var(--text-primary-color);
	text-decoration: none;
	text-transform: uppercase;
	font-size: 18px;
	font-weight: 700;
    font-family: 'Big Shoulders', sans-serif;
	transition: all 0.3s;
	margin: 0 20px;
	letter-spacing: 1px;
	text-align: left;
}
.header-menu ul li a:hover {
	color: var(--text-hover-color);
}
.header-menu ul li ul.sub-menu li a {
	display: block;
	background-color: transparent;
	height: 60px;
	line-height: 60px;
	overflow: hidden;
	text-overflow: ellipsis;
	margin: 0;
	padding: 0 20px;
}
.header-menu ul li ul.sub-menu li a:hover {
	display: block;
	height: 60px;
	line-height: 60px;
	overflow: hidden;
	text-overflow: ellipsis;
}

.header-button {
	height: 48px;
	padding-top: 4px;
	opacity: 1;
	visibility: visible;
	transition: opacity 0.3s ease, visibility 0.3s;
}
.header-button .urban-button {
	vertical-align: top;
}

body.header-retracted #header .header-grid {
	grid-template-columns: 182px 0 0;
}
body.header-invisible #header .header-menu,
body.header-invisible #header .header-button {
	opacity: 0;
	visibility: hidden;
	transition: opacity 0s, visibility 0s 0s;
}
body.header-retracted #header .header-grid {
	width: 182px;
}
body.header-retracted #header .header-grid-wrapper {
	display: inline-block;
	width: 262px;
}
body.header-retracted #header .header-menu,
body.header-retracted #header .header-button {
	display: none;
}

@media only screen and (max-width: 768px) {
    .header-grid {
		grid-template-columns: 152px 0 1fr;
    }
	.header-grid-wrapper {
		height: 64px;
		padding: 8px 16px 8px 32px;
	}
	.header-logo {
		width: 152px;
		height: 44px;
		padding-top: 4px;
	}
	.header-logo a {
		height: 40px;
	}
	.header-logo a svg {
		width: 152px;
		height: 40px;
	}
	.header-mobile-icon {
		margin-left: 0;
	}
	body.header-retracted #header .header-grid-wrapper {
		width: 214px;
	}
}
/* /Header */


/* Video */
.c-video {
	display: block;
	overflow: hidden;
	position: relative;
	padding-bottom: 75%;
}
.c-video-element {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 130%;
    transform: translate(-50%,-50%);
}
/* /Video */


.c-box-background {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}


/* Grid */
.c-grid {
	display: grid;
	grid-template-columns: 100%;
	grid-template-rows: auto;
	grid-column-gap: 30px;
	grid-row-gap: 60px;
}
.c-grid-nested {
	display: grid;
	grid-template-columns: 100%;
	grid-template-rows: auto;
	grid-column-gap: 30px;
	grid-row-gap: 60px;
}

.c-grid-1-10-1 {
	grid-template-columns: 1fr 10fr 1fr;
}
.c-grid-1-5-1-4-1 {
	grid-template-columns: 1fr 5fr 1fr 4fr 1fr;
	grid-column-gap: 0;
	grid-row-gap: 0;
}
.c-grid-6-6,
.c-grid-6-6-ever {
	grid-template-columns: repeat(2, 1fr);
}
.c-grid-4-4-4 {
	grid-template-columns: repeat(3, 1fr);
}
.c-grid-2-2-2-2-2-2,
.c-grid-2-2-2-2-2-2-ever {
	grid-template-columns: repeat(6, 1fr);
}
.c-grid-2-8-2 {
	grid-template-columns: 2fr 8fr 2fr;
}
.c-grid-3-1-8 {
	grid-template-columns: 3fr 1fr 8fr;
}
.c-grid-3-6-3 {
	grid-template-columns: 3fr 6fr 3fr;
}
.c-grid-4-1-7 {
	grid-template-columns: 4fr 1fr 7fr;
}
.c-grid-3-3-3-3 {
	grid-template-columns: repeat(4, 1fr);
}
.c-grid-5-1-6 {
	grid-template-columns: 5fr 1fr 6fr;
}
.c-grid-5-2-5 {
	grid-template-columns: 5fr 2fr 5fr;
}
.c-grid-6-2-4 {
	grid-template-columns: 6fr 2fr 4fr;
}
.c-grid-6-3-3 {
	grid-template-columns: 6fr 3fr 3fr;
}
.c-grid-6-1-5 {
	grid-template-columns: 6fr 1fr 5fr;
}
.c-grid-3-3-6 {
	grid-template-columns: 3fr 3fr 6fr;
}
.c-grid-7-1-4 {
	grid-template-columns: 7fr 1fr 4fr;
}
.c-grid-8-1-3 {
	grid-template-columns: 8fr 1fr 3fr;
}
.c-grid-8-4,
.c-grid-8-4-ever {
	grid-template-columns: 8fr 4fr;
}
.c-grid-4-8 {
	grid-template-columns: 4fr 8fr;
}
.c-grid-5-7,
.c-grid-5-7-ever {
	grid-template-columns: 5fr 7fr;
}
.c-grid-7-5,
.c-grid-7-5-ever {
	grid-template-columns: 7fr 5fr;
}
.c-grid-9-3 {
	grid-template-columns: 9fr 3fr;
}
.c-grid-3-9 {
	grid-template-columns: 3fr 9fr;
}
.c-grid-2-10 {
	grid-template-columns: 1fr 5fr;
}
.c-grid-10-2 {
	grid-template-columns: 5fr 1fr;
}
.c-grid-gap {
	grid-column-gap: 30px;
	grid-row-gap: 60px;
}
.c-grid-gap-double {
	grid-column-gap: 60px;
	grid-row-gap: 120px;
}
.c-grid-nogap {
	grid-column-gap: 0 !important;
	grid-row-gap: 0 !important;
}
.c-grid--1 {
	margin-bottom: -1px;
}

.c-col-line-top {
	border-top: 1px solid var(--line-color);
}
.c-col-line-right {
	border-right: 1px solid var(--line-color);
}
.c-col-line-bottom {
	border-bottom: 1px solid var(--line-color);
}
.c-col-line-left {
	border-left: 1px solid var(--line-color);
}

.c-col-center {
	place-self: center;
	width: 100%;
}
.c-col-end {
	place-self: end;
	width: 100%;
}
/* /Grid */


/* Button */
.urban-button {
	display: inline-block;
	height: 40px;
	border: 2px solid var(--button-background-color);
	background-color: var(--button-background-color);
	color: var(--button-text-color);
	padding: 8px 30px;
	line-height: 20px;
	white-space: nowrap;
	border-radius: 20px;
	font-weight: 700;
	font-size: 18px;
    font-family: 'Big Shoulders', sans-serif;
	letter-spacing: 1px;
	margin-right: 20px;
	margin-bottom: 10px;
	justify-content: center;
	vertical-align: middle;
	text-decoration: none;
	overflow: hidden;
	text-transform: uppercase;
	white-space: nowrap;
	text-overflow: ellipsis;
	transform: scale(1);
	transition: all 0.3s;
}
.urban-button:hover {
	border-color: var(--text-hover-color);
	background-color: var(--text-hover-color);
	color: var(--button-text-color) !important;
	font-weight: 700;
	text-decoration: none;
	transform: scale(1.05);
}
.urban-button-black {
	border: 2px solid var(--text-color);
	background-color: var(--text-color);
	color: var(--button-text-color);
}
.urban-button-big {
	height: 80px;
	border-size: 4px;
	padding: 16px 60px;
	line-height: 44px;
	border-radius: 40px;
	font-size: 36px;
}
.urban-button-outline {
	background-color: transparent;
	color: var(--button-background-color);
}
.urban-button-outline:hover {
	background-color: transparent;
	border-color: var(--text-hover-color);
	color: var(--text-hover-color) !important;
}
.urban-button-download {
	padding-right: 56px;
}
.urban-button-download svg {
	position: absolute;
	top: 8px;
	right: 26px;
	display: inline-block;
	width: 18px;
	height: 18px;
}
.urban-button-download svg path {
	fill: var(--button-text-color);
	transition: all 0.3s;
}
.urban-button-outline.urban-button-download svg path {
	fill: var(--button-background-color);
}
.urban-button-outline.urban-button-download:hover svg path {
	fill: var(--text-hover-color);
}
.urban-button-disabled {
	pointer-events: none;
	opacity: 0.1;
}
.urban-button-link {
	display: inline-block;
	position: relative;
	padding-right: 32px;
	line-height: 20px;
	font-weight: 700;
	font-size: 18px;
    font-family: 'Big Shoulders', sans-serif;
	text-transform: uppercase;
	letter-spacing: 1px;
}
.urban-button-link svg {
	display: inline-block;
	width: 16px;
	height: 16px;
	position: absolute;
	top: calc(50% - 8px);
	right: 0;
}
.urban-button-link svg path {
	fill: var(--text-color);
	transition: all 0.3s;
}
.urban-button-link:hover svg path {
	fill: var(--text-hover-color);
}
/* /Button */


/* Fill Button */
.fill-btn {
	--x: 50%;
	--y: 50%;
	--dot: 0px;
	display: inline-block;
	position: relative;
	overflow: hidden;
	isolation: isolate;
	border-radius: 999px;
	background-color: var(--text-primary-color);
	color: var(--button-text-color);
	font-weight: 700;
	height: 40px;
	padding: 8px 30px;
	line-height: 24px;
	font-size: 18px;
    font-family: 'Big Shoulders', sans-serif;
	letter-spacing: 1px;
	border: none;
	cursor: pointer;
	text-decoration: none;
	-webkit-tap-highlight-color: transparent;
}
.fill-btn-large {
	background-color: var(--button-background-color);
	color: var(--button-text-color);
	height: 108px;
	padding: 30px 90px;
	font-size: 52px;
	line-height: 48px;
}
.fill-btn::before {
	content: "";
	position: absolute;
	z-index: -1;
	background: var(--button-background-color);
	border-radius: 50%;
	left: var(--x);
	top: var(--y);
	width: var(--dot);
	height: var(--dot);
	transform: translate(-50%, -50%);
	transition: width 0.6s ease, height 0.6s ease;
}
.fill-btn.fill-btn-large::before {
	background: var(--text-primary-color);
}
.fill-btn:hover {
	color: var(--button-text-color);
	text-decoration: none;
}
.fill-btn:hover::before {
	width: var(--dot-max);
	height: var(--dot-max);
}
.fill-btn:focus-visible {
	outline: 2px solid #378ADD;
	outline-offset: 3px;
}
.screen-fill {
	position: fixed;
	top: 0;
	left: 0;
	width: 0;
	height: 0;
	border-radius: 50%;
	background: var(--text-primary-color);
	transform: translate(-50%, -50%);
	pointer-events: none;
	z-index: 999;
	transition: width 0.7s ease, height 0.7s ease;
}
@media only screen and (max-width: 768px) {
	.fill-btn-large {
		height: 80px;
		padding: 20px 30px;
		font-size: 32px;
		line-height: 40px;
	}
}
/* /Fill Button */


/* Layout */
.layout-1 {
	position: relative;
	width: 100%;
	display: block;
	padding: 0 90px 90px 0;
}
.layout-1-image-1 {
	display: block;
	width: 100%;
	height: auto;
}
.layout-1-image-2 {
	position: absolute;
	display: inline-block;
	width: 75%;
	height: auto;
	right: 0;
	bottom: 0;
}
.layout-2 {
	position: relative;
	width: 100%;
	display: block;
	padding-bottom: 65%;
}
.layout-2-image {
	position: absolute;
	display: inline-block;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.layout-2-image-1 {
	left: 0%;
	top: 30px;
	right: calc(75% + 15px);
	bottom: calc(50% - 30px);
}
.layout-2-image-2 {
	left: calc(25% + 15px);
	top: 0;
	right: calc(50% + 15px);
	bottom: 50%;
}
.layout-2-image-3 {
	left: calc(50% + 15px);
	top: 60px;
	right: 0%;
	bottom: 0%;
}
.layout-2-image-4 {
	left: calc(25% + 75px);
	top: 40%;
	right: calc(50% - 50px);
	bottom: 100px;
}
.layout-2-content {
	position: absolute;
	display: inline-block;
	left: 0;
	top: calc(50% + 90px);
	right: calc(75% + 15px);
	bottom: 0;
}
@media only screen and (max-width: 1280px) {
	.layout-2-image-1 {
		left: 0%;
		top: 30px;
		right: calc(50% + 15px);
		bottom: calc(50% - 30px);
	}
	.layout-2-image-2 {
		left: calc(50% + 15px);
		top: 0;
		right: 30px;
		bottom: 50%;
	}
	.layout-2-image-3 {
		display: none;
	}
	.layout-2-image-4 {
		left: calc(50% + 75px);
		top: 40%;
		right: 0;
		bottom: 100px;
	}
	.layout-2-content {
		position: absolute;
		display: inline-block;
		left: 0;
		top: calc(50% + 60px);
		right: calc(50% - 30px);
		bottom: 0;
	}
}
@media only screen and (max-width: 768px) {
	.layout-2 {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: auto;
		grid-column-gap: 30px;
		grid-row-gap: 30px;
		padding: 0;
	}
	.layout-2-image-1 { grid-area: 1 / 1 / 2 / 2; padding-bottom: 150%; position: static; }
	.layout-2-image-2 { grid-area: 1 / 2 / 2 / 3; padding-bottom: 150%; position: static; }
	.layout-2-image-3 { grid-area: 2 / 1 / 3 / 2; padding-bottom: 150%; position: static; display: inline-block; }
	.layout-2-image-4 { grid-area: 2 / 2 / 3 / 3; padding-bottom: 150%; position: static; }
	.layout-2-content { grid-area: 3 / 1 / 4 / 3; position: static; } 	
}
.layout-3 {
	position: relative;
	width: 100%;
	display: block;
	padding: 0 0 90px 90px;
}
.layout-3-image-1 {
	display: block;
	width: 100%;
	height: auto;
}
.layout-3-image-2 {
	position: absolute;
	display: inline-block;
	width: 75%;
	height: auto;
	left: 0;
	bottom: 0;
}
.layout-4 {
	position: relative;
	width: 100%;
	display: block;
	padding-bottom: 20%;
}
.layout-4-image {
	position: absolute;
	display: inline-block;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.layout-4-image-1 {
	left: 0%;
	width: 25%;
	top: 15px;
	bottom: 15px;
}
.layout-4-image-2 {
	left: calc(25% - 15px);
	width: 25%;
	top: 0;
	bottom: 30px;
}
.layout-4-image-3 {
	left: calc(50% - 90px);
	width: calc(25% + 60px);
	top: 30px;
	bottom: 0;
}
.layout-4-image-4 {
	right: 0;
	width: 25%;
	top: 0;
	bottom: 30px;
}
/* /Layout */


/* Box */
.box-1 {
	position: relative;
	width: 100%;
	display: block;
}
.box-1-inner {
	display: block;
	width: 100%;
	height: auto;
	background-color: #fff;
	border-radius: 45px;
	padding: 0;
}
.box-1-inner .c-content-inner {
	margin: 0 -20px;
}
.box-1-top {
	position: relative;
	z-index: 9;
	padding: 0 20px;
}
.box-1-bg {
	position: absolute;
	top: 50%;
	right: 0;
	bottom: 0;
	left: 0;
}
.box-2 {
	position: relative;
	width: 100%;
	display: block;
}
.box-2-inner {
	display: block;
	width: 100%;
	height: auto;
	background-color: #fff;
	border-radius: 45px;
	padding: 0;
}
.box-2-inner .c-content-inner {
	margin: 0 -20px;
}
.box-2-top {
	position: relative;
	z-index: 9;
	padding: 0 20px;
}
.box-2-bg {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 50%;
	left: 0;
}
.box-3 {
	position: relative;
	width: 100%;
	display: block;
}
.box-3-inner {
	display: block;
	width: 100%;
	height: auto;
	background-color: #fff;
	border-radius: 45px;
	padding: 0;
}
.box-3-inner .c-content-inner {
	margin: 0 -20px;
}
.box-3-top {
	position: relative;
	z-index: 9;
	padding: 0 20px;
}
@media only screen and (max-width: 768px) {
	.box-1-inner .c-content-inner {
		margin: 0;
	}
	.box-2-inner .c-content-inner {
		margin: 0;
	}
	.box-3-inner .c-content-inner {
		margin: 0;
	}
}
/* /Box */


/* News */
.blog-items {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: auto;
	grid-column-gap: 30px;
	grid-row-gap: 60px; 
}
.blog-item-image {
	padding-bottom: 70%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
@media only screen and (max-width: 1024px) {
	.blog-items {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media only screen and (max-width: 768px) {
	.blog-items {
		grid-template-columns: 100%;
		grid-column-gap: 0;
	}
}
/* /News */


/* Portfolio */
.portfolio-slider {
	width: 100%;
	max-width: 100%;
	margin: 0;
	overflow: hidden;
	cursor: grab;
	user-select: none;
	-webkit-user-select: none;
}
.portfolio-slider.is-dragging {
	cursor: grabbing;
}
.portfolio-track {
	display: flex;
}
.portfolio-item {
	flex: 0 0 25%;
	max-width: 25%;
	padding: 0 10px;
}
@media (max-width: 1024px) {
	.portfolio-item { flex-basis: 33.333%; max-width: 33.333%; }
}
@media (max-width: 768px) {
	.portfolio-item { flex-basis: 50%; max-width: 50%; }
}
/* /Portfolio */


.slider-arrows {
	display: block;
	list-style-type: none;
	height: 40px;
	width: 68px;
	padding: 0;
	margin: 0 0 0 auto;
	text-align: right;
}
.slider-arrows .slider-arrow {
	display: inline-block;
	width: 24px;
	height: 40px;
	cursor: pointer;
}
.slider-arrows .slider-arrow svg {
	display: inline-block;
	width: 24px;
	height: 40px;
}
.slider-arrows .slider-arrow svg path {
	transition: all 0.3s;
}
.slider-arrows .slider-arrow:hover svg path {
	fill: var(--text-hover-color);
}
.slider-arrows .slider-arrow-left {
	margin-right: 20px;
}


.gallery-slider .slick-arrow {
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 24px;
	height: 24px;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
	background-color: transparent;
	border: none;
	transform: translateY(-12px);
	z-index: 2;
	text-indent: -9999em;
	overflow: hidden;
	cursor: pointer;
}
.gallery-slider .slick-prev {
	left: 10px;
	background-image: url('/wp-content/themes/proposition/images/arrow-white-left.svg');
}
.gallery-slider .slick-next {
	right: 10px;
	background-image: url('/wp-content/themes/proposition/images/arrow-white-right.svg');
}




b, strong {
	font-weight: 600;
}

h1, .h1, h2, h3, h4, h5 {
    font-family: 'Big Shoulders', sans-serif;
	color: var(--text-primary-color);
	font-weight: 700;
	text-transform: uppercase;
}
.textlight h1, .textlight .h1, .textlight h2, .textlight h3, .textlight h4, .textlight h5 {
	color: var(--text-light);
}
.textlight svg path {
	fill: var(--text-light);
}
.textdark h1, .textdark .h1, .textdark h2, .textdark h3, .textdark h4, .textdark h5 {
	color: var(--text-dark);
}
.textdark svg path {
	fill: var(--text-dark);
}
h1, .h1, h2, h3, h4, h5, p, ul, ol {
	margin-bottom: 20px;
}
h1, .h1 {
	font-size: 96px;
	line-height: 104px;
}
h2 {
	font-size: 48px;
	line-height: 56px;
}
h3 {
	font-size: 32px;
	line-height: 40px;
}
h4 {
	font-size: 26px;
	line-height: 34px;
}
h5 {
	font-size: 20px;
	line-height: 28px;
}

ul, ol {
	padding-left: 12px;
}

a {
	color: var(--text-color);
	text-decoration: none;
	transition: all 0.3s;
}
a:hover {
	color: var(--text-hover-color);
	text-decoration: none;
}

.imgresponsive {
	display: block;
	width: 100%;
	height: auto;
}
.imground {
    border-radius: 50%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
}
.imgshadow {
	box-shadow: -10px 10px 10px 0px rgba(0,0,0,0.25);
}

#main {
	min-height: 100vh;
}


/* Content */
.c-content {
	width: 100%;
/*	max-width: 1920px; */
	margin: 0 auto;
	background-color: var(--background-color);
}
.c-content-center {
	width: 100%;
	max-width: 1420px;
	margin: 0 auto;
}
.c-content-narrow {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
}
.c-content-inner {
	padding: 0 120px;
}
.c-line-top {
	border-top: 2px solid var(--text-color);
}
.c-line-bottom {
	border-bottom: 2px solid var(--text-color);
}
.c-line-all {
	border: 2px solid var(--line-color);
	padding: 40px;
}
.c-line-fill {
	border: 2px solid var(--line-color);
	padding: 40px;
	background-color: var(--line-color);
}
.c-line-primary {
	border: 1px solid var(--text-primary-color);
}
.c-line-column {
	display: flex;
	flex-direction: column;
}
.c-line-column-bottom {
	margin-top: auto;
	background-color: #e3ecea;
	padding: 20px;
	border-top: 1px solid var(--text-primary-color);
}
.c-line-tobottom {
	position: relative;
	padding-bottom: 54px !important;
}
.c-line-tobottom .tobottom {
	position: absolute;
	right: 40px;
	bottom: 40px;
	left: 40px;
}
.c-quote {
	display: block;
	padding: 10px 20px;
	border-left: 2px solid var(--text-color);
	margin-bottom: 20px;
	background-color: rgba(0,0,0,0.1);
}
/* /Content */


/* Spacers */
.c-spacer {
	height: 30px;
}
.c-spacer-halfhalf,
.c-spacer-small {
	height: 10px;
}
.c-spacer-half {
	height: 20px;
}
.c-spacer-double {
	height: 60px;
}
.c-spacer-section {
	height: 120px;
}
.c-spacer-header {
	height: 120px;
}
/* /Spacers */


/* Formatting */
.textcenter {
	text-align: center;
}
.textright {
	text-align: right;
}
.textleft {
	text-align: left;
}
.textsmall {
	font-size: 12px;
	line-height: 17px;
}
.textbody {
	font-size: 18px;
	line-height: 26px;
}
.textlarge {
	font-size: 72px;
	line-height: 72px;
	font-weight: 600;
}
.textgiant {
	font-size: 144px;
	line-height: 144px;
	font-weight: 600;
}
.textupper {
	text-transform: uppercase;
}
.textunderline {
	text-decoration: underline;
}
.textunderlined {
	border-bottom: 2px solid var(--text-color);
}
.textbold {
	font-weight: 600;
}
.textcolor {
	color: var(--text-color);
}
.textprimary {
	color: var(--text-primary-color);
}
.textsecondary {
	color: var(--text-secondary-color);
}
.texttertiary {
	color: var(--text-tertiary-color);
}
.textlight {
	color: #fff;
}
.textlight a {
	color: #fff;
}
.textlight a:hover {
	color: var(--text-hover-color);
}
.textgray {
	color: #888;
}
.textdark {
	color: #000;
}
.textgreen {
	color: #00bf00;
}
.textnowrap {
	white-space: nowrap;
}
/* /Formatting */


/* Header */
#header {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 99;
	opacity: 1;
	transform: translateY(20px);
	transition: all 0.3s;
}
#header .c-content {
	background-color: transparent;
}
.header-grid-wrapper {
	background-color: var(--text-secondary-color);
	border-radius: 44px;
	padding: 16px 40px;
	height: 80px;
	width: 100%;
	margin: 0 auto;
	transition: width 0.7s ease-in-out;
}
.header-grid {
	display: grid;
	grid-template-columns: 182px 1fr auto;
	grid-template-rows: 1fr;
	grid-column-gap: 0px;
	grid-row-gap: 0px; 
}

.header-logo {
	height: 48px;
}
.header-logo a {
	display: inline-block;
	height: 48px;
}
.header-logo a svg {
	display: inline-block;
	width: 182px;
	height: 48px;
}
.header-logo a svg path {
	fill: var(--text-primary-color);
	transition: all 0.3s;
}
.header-logo a:hover svg path {
	fill: var(--text-hover-color);
}

.header-lang-switch {
	vertical-align: top;
	width: 64px;
	height: 40px;
	margin-right: 40px;
	display: inline-block;
	position: relative;
	color: var(--text-primary-color);
	line-height: 40px;
	font-weight: 700;
	font-size: 14px;
	text-align: right;
	letter-spacing: 1px;	
}
.header-lang-switch a {
	margin: 0;
	cursor: pointer;
	text-transform: uppercase;
	display: inline-block;
	line-height: 40px;
	text-decoration: none;
	color: var(--text-primary-color);
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 1px;	
}
.header-lang-switch a:hover {
	color: var(--text-hover-color);
	text-decoration: none;
}
.header-mobile-icon {
	display: none;
	vertical-align: top;
	width: 64px;
	height: 40px;
	margin-left: 40px;
	cursor: pointer;
	position: relative;
	background-color: var(--text-primary-color);
	border-radius: 20px;
	transition: background 0.3s;
}
.header-mobile-icon span {
	position: absolute;
	left: 20px;
	right: 20px;
	height: 2px;
	background-color: #fff;
	transition: all 0.3s;
}
.header-mobile-icon:hover {
	background-color: var(--button-background-color);
}
.header-mobile-icon span.a1 {
	top: 12px;
}
.header-mobile-icon span.a2 {
	top: calc(50% - 1px);
}
.header-mobile-icon span.a3 {
	bottom: 12px;
}
body.mobilemenu-active .header-mobile-icon span.a1 {
	top: 19px;
	transform: rotate(45deg);
}
body.mobilemenu-active .header-mobile-icon span.a2 {
	opacity: 0;
}
body.mobilemenu-active .header-mobile-icon span.a3 {
	bottom: 19px;
	transform: rotate(-45deg);
}

#bg {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(0,0,0,0.5);
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.3s, visibility 0s 0.3s;
	pointer-events: none;
	z-index: 8;
}
body.mobilemenu-active #bg {
	opacity: 1;
	visibility: visible;
	transition: opacity 0.3s, visibility 0s 0s;
}

#mobilemenu {
	display: none;
	opacity: 0;
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 98;
	background-color: #fff;
	max-height: 100vh;
	overflow: auto;
	transform: translateY(-100%);
	transition: transform 0.3s ease, opacity 0.3s ease;
	pointer-events: none;
}
body.mobilemenu-active #mobilemenu {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}
#mobilemenu ul {
	list-style-type: none;
	display: block;
	padding: 0;
	margin: 0;
	width: 100%;
}
#mobilemenu ul li {
	display: block;
	border-top: 1px solid rgba(0,0,0,0.1);
}
#mobilemenu ul li a {
	display: block;
	height: 48px;
	line-height: 48px;
	padding: 0 20px;
	font-weight: bold;
}
#mobilemenu ul li ul li a {
	padding-left: 40px;
}
#mobilemenu ul li a:active,
#mobilemenu ul li a:hover {
	color: #000;
	background-color: #eee;
}

#mobilecontactoptions {
	list-style-type: none;
	display: block;
	padding: 0;
	width: 100%;
	background-color: #fff;
}
#mobilecontactoptions li a {
	display: block;
	height: 48px;
	line-height: 48px;
}
#mobilecontactoptions li a.seicon-contact {
	padding-left: 42px;
	padding-right: 20px;
}
#mobilecontactoptions li a.seicon-contact svg {
	top: 18px;
	left: 20px;
}
#mobilecontactoptions li a.seicon-contact:hover svg path {
	fill: var(--text-color) !important;
}

#mobilelangoptions {
	list-style-type: none;
	display: block;
	padding: 0;
	width: 100%;
	background-color: #eef;
}
#mobilelangoptions li a {
	display: block;
	height: 48px;
	line-height: 48px;
	padding: 0 20px 0 62px !important;
	font-weight: bold;
	text-align: left;
	position: relative;
}
#mobilelangoptions li a svg {
	position: absolute;
	top: 12px;
	left: 20px;
	width: 32px;
	height: 24px;
}

.header-menu {
	opacity: 1;
	visibility: visible;
	transition: opacity 0.3s ease, visibility 0.3s;
}
.header-menu ul {
	width: 100%;
	list-style-type: none;
	text-align: center;
	padding: 0;
	margin: 0;
}
.header-menu ul li {
	position: relative;
	display: inline-block;
	height: 48px;
	padding: 0;
}
.header-menu ul li ul.sub-menu {
	display: inline-block;
	position: absolute;
	top: 28px;
	left: 0;
	width: 320px;
	padding: 0;
	background-color: var(--text-secondary-color);
	border-radius: 0 0 30px 30px;
	padding-bottom: 20px;
	overflow: hidden;
	pointer-events: none;
	opacity: 0;
	transition: all 0.3s;
}
.header-menu ul > li:hover ul.sub-menu {
	top: 48px;
	opacity: 1;
	pointer-events: auto;
}
.header-menu ul li ul.sub-menu li {
	border-top: 1px solid rgba(0,0,0,0.1);
	display: block;
	height: 60px;
	padding: 0;
}
.header-menu ul li a {
	display: inline-block;
	height: 40px;
	line-height: 48px;
	color: var(--text-primary-color);
	text-decoration: none;
	text-transform: uppercase;
	font-size: 18px;
	font-weight: 700;
    font-family: 'Big Shoulders', sans-serif;
	transition: all 0.3s;
	margin: 0 20px;
	letter-spacing: 1px;
	text-align: left;
}
.header-menu ul li a:hover {
	color: var(--text-hover-color);
}
.header-menu ul li ul.sub-menu li a {
	display: block;
	background-color: transparent;
	height: 60px;
	line-height: 60px;
	overflow: hidden;
	text-overflow: ellipsis;
	margin: 0;
	padding: 0 20px;
}
.header-menu ul li ul.sub-menu li a:hover {
	display: block;
	height: 60px;
	line-height: 60px;
	overflow: hidden;
	text-overflow: ellipsis;
}

.header-button {
	height: 48px;
	padding-top: 4px;
	opacity: 1;
	visibility: visible;
	transition: opacity 0.3s ease, visibility 0.3s;
}
.header-button .urban-button {
	vertical-align: top;
}

body.header-retracted #header .header-grid {
	grid-template-columns: 182px 0 0;
}
body.header-invisible #header .header-menu,
body.header-invisible #header .header-button {
	opacity: 0;
	visibility: hidden;
	transition: opacity 0s, visibility 0s 0s;
}
body.header-retracted #header .header-grid {
	width: 182px;
}
body.header-retracted #header .header-grid-wrapper {
	display: inline-block;
	width: 262px;
}
body.header-retracted #header .header-menu,
body.header-retracted #header .header-button {
	display: none;
}

@media only screen and (max-width: 768px) {
    .header-grid {
		grid-template-columns: 152px 0 1fr;
    }
	.header-grid-wrapper {
		height: 64px;
		padding: 8px 16px 8px 32px;
	}
	.header-logo {
		width: 152px;
		height: 44px;
		padding-top: 4px;
	}
	.header-logo a {
		height: 40px;
	}
	.header-logo a svg {
		width: 152px;
		height: 40px;
	}
	.header-mobile-icon {
		margin-left: 0;
	}
	body.header-retracted #header .header-grid-wrapper {
		width: 214px;
	}
}

/* /Header */


/* Video */
.c-video {
	display: block;
	overflow: hidden;
	position: relative;
	padding-bottom: 75%;
}
.c-video-element {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 130%;
    transform: translate(-50%,-50%);
}
/* /Video */


.c-box-background {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}


/* Grid */
.c-grid {
	display: grid;
	grid-template-columns: 100%;
	grid-template-rows: auto;
	grid-column-gap: 30px;
	grid-row-gap: 60px;
}
.c-grid-nested {
	display: grid;
	grid-template-columns: 100%;
	grid-template-rows: auto;
	grid-column-gap: 30px;
	grid-row-gap: 60px;
}

.c-grid-1-10-1 {
	grid-template-columns: 1fr 10fr 1fr;
}
.c-grid-1-5-1-4-1 {
	grid-template-columns: 1fr 5fr 1fr 4fr 1fr;
	grid-column-gap: 0;
	grid-row-gap: 0;
}
.c-grid-6-6,
.c-grid-6-6-ever {
	grid-template-columns: repeat(2, 1fr);
}
.c-grid-4-4-4 {
	grid-template-columns: repeat(3, 1fr);
}
.c-grid-2-2-2-2-2-2,
.c-grid-2-2-2-2-2-2-ever {
	grid-template-columns: repeat(6, 1fr);
}
.c-grid-2-8-2 {
	grid-template-columns: 2fr 8fr 2fr;
}
.c-grid-3-1-8 {
	grid-template-columns: 3fr 1fr 8fr;
}
.c-grid-3-6-3 {
	grid-template-columns: 3fr 6fr 3fr;
}
.c-grid-4-1-7 {
	grid-template-columns: 4fr 1fr 7fr;
}
.c-grid-3-3-3-3 {
	grid-template-columns: repeat(4, 1fr);
}
.c-grid-5-1-6 {
	grid-template-columns: 5fr 1fr 6fr;
}
.c-grid-5-2-5 {
	grid-template-columns: 5fr 2fr 5fr;
}
.c-grid-6-2-4 {
	grid-template-columns: 6fr 2fr 4fr;
}
.c-grid-6-3-3 {
	grid-template-columns: 6fr 3fr 3fr;
}
.c-grid-6-1-5 {
	grid-template-columns: 6fr 1fr 5fr;
}
.c-grid-3-3-6 {
	grid-template-columns: 3fr 3fr 6fr;
}
.c-grid-7-1-4 {
	grid-template-columns: 7fr 1fr 4fr;
}
.c-grid-8-1-3 {
	grid-template-columns: 8fr 1fr 3fr;
}
.c-grid-8-4,
.c-grid-8-4-ever {
	grid-template-columns: 8fr 4fr;
}
.c-grid-4-8 {
	grid-template-columns: 4fr 8fr;
}
.c-grid-5-7,
.c-grid-5-7-ever {
	grid-template-columns: 5fr 7fr;
}
.c-grid-7-5,
.c-grid-7-5-ever {
	grid-template-columns: 7fr 5fr;
}
.c-grid-9-3 {
	grid-template-columns: 9fr 3fr;
}
.c-grid-3-9 {
	grid-template-columns: 3fr 9fr;
}
.c-grid-2-10 {
	grid-template-columns: 1fr 5fr;
}
.c-grid-10-2 {
	grid-template-columns: 5fr 1fr;
}
.c-grid-gap {
	grid-column-gap: 30px;
	grid-row-gap: 60px;
}
.c-grid-gap-double {
	grid-column-gap: 60px;
	grid-row-gap: 120px;
}
.c-grid-nogap {
	grid-column-gap: 0 !important;
	grid-row-gap: 0 !important;
}
.c-grid--1 {
	margin-bottom: -1px;
}

.c-col-line-top {
	border-top: 1px solid var(--line-color);
}
.c-col-line-right {
	border-right: 1px solid var(--line-color);
}
.c-col-line-bottom {
	border-bottom: 1px solid var(--line-color);
}
.c-col-line-left {
	border-left: 1px solid var(--line-color);
}

.c-col-center {
	place-self: center;
	width: 100%;
}
.c-col-end {
	place-self: end;
	width: 100%;
}
/* /Grid */


/* Button */
.urban-button {
	display: inline-block;
	height: 40px;
	border: 2px solid var(--button-background-color);
	background-color: var(--button-background-color);
	color: var(--button-text-color);
	padding: 8px 30px;
	line-height: 20px;
	white-space: nowrap;
	border-radius: 20px;
	font-weight: 700;
	font-size: 18px;
    font-family: 'Big Shoulders', sans-serif;
	letter-spacing: 1px;
	margin-right: 20px;
	margin-bottom: 10px;
	justify-content: center;
	vertical-align: middle;
	text-decoration: none;
	overflow: hidden;
	text-transform: uppercase;
	white-space: nowrap;
	text-overflow: ellipsis;
	transform: scale(1);
	transition: all 0.3s;
}
.urban-button:hover {
	border-color: var(--text-hover-color);
	background-color: var(--text-hover-color);
	color: var(--button-text-color) !important;
	font-weight: 700;
	text-decoration: none;
	transform: scale(1.05);
}
.urban-button-black {
	border: 2px solid var(--text-color);
	background-color: var(--text-color);
	color: var(--button-text-color);
}
.urban-button-big {
	height: 80px;
	border-size: 4px;
	padding: 16px 60px;
	line-height: 44px;
	border-radius: 40px;
	font-size: 36px;
}
.urban-button-outline {
	background-color: transparent;
	color: var(--button-background-color);
}
.urban-button-outline:hover {
	background-color: transparent;
	border-color: var(--text-hover-color);
	color: var(--text-hover-color) !important;
}
.urban-button-download {
	padding-right: 56px;
}
.urban-button-download svg {
	position: absolute;
	top: 8px;
	right: 26px;
	display: inline-block;
	width: 18px;
	height: 18px;
}
.urban-button-download svg path {
	fill: var(--button-text-color);
	transition: all 0.3s;
}
.urban-button-outline.urban-button-download svg path {
	fill: var(--button-background-color);
}
.urban-button-disabled {
	pointer-events: none;
	opacity: 0.1;
}
.urban-button-link {
	display: inline-block;
	position: relative;
	padding-right: 32px;
	line-height: 20px;
	font-weight: 700;
	font-size: 18px;
    font-family: 'Big Shoulders', sans-serif;
	text-transform: uppercase;
	letter-spacing: 1px;
}
.urban-button-link svg {
	display: inline-block;
	width: 16px;
	height: 16px;
	position: absolute;
	top: calc(50% - 8px);
	right: 0;
}
.urban-button-link svg path {
	fill: var(--text-color);
	transition: all 0.3s;
}
.urban-button-link:hover svg path {
	fill: var(--text-hover-color);
}
/* /Button */


/* Fill Button */
.fill-btn {
	--x: 50%;
	--y: 50%;
	--dot: 0px;
	display: inline-block;
	position: relative;
	overflow: hidden;
	isolation: isolate;
	border-radius: 999px;
	background-color: var(--text-primary-color);
	color: var(--button-text-color);
	font-weight: 700;
	height: 40px;
	padding: 8px 30px;
	line-height: 24px;
	font-size: 18px;
    font-family: 'Big Shoulders', sans-serif;
	letter-spacing: 1px;
	border: none;
	cursor: pointer;
	text-decoration: none;
	-webkit-tap-highlight-color: transparent;
}
.fill-btn-large {
	background-color: var(--button-background-color);
	color: var(--button-text-color);
	height: 108px;
	padding: 30px 90px;
	font-size: 52px;
	line-height: 48px;
}
.fill-btn::before {
	content: "";
	position: absolute;
	z-index: -1;
	background: var(--button-background-color);
	border-radius: 50%;
	left: var(--x);
	top: var(--y);
	width: var(--dot);
	height: var(--dot);
	transform: translate(-50%, -50%);
	transition: width 0.6s ease, height 0.6s ease;
}
.fill-btn.fill-btn-large::before {
	background: var(--text-primary-color);
}
.fill-btn:hover {
	color: var(--button-text-color);
	text-decoration: none;
}
.fill-btn:hover::before {
	width: var(--dot-max);
	height: var(--dot-max);
}
.fill-btn:focus-visible {
	outline: 2px solid #378ADD;
	outline-offset: 3px;
}
.screen-fill {
	position: fixed;
	top: 0;
	left: 0;
	width: 0;
	height: 0;
	border-radius: 50%;
	background: var(--text-primary-color);
	transform: translate(-50%, -50%);
	pointer-events: none;
	z-index: 999;
	transition: width 0.7s ease, height 0.7s ease;
}
@media only screen and (max-width: 768px) {
	.fill-btn-large {
		height: 80px;
		padding: 20px 30px;
		font-size: 32px;
		line-height: 40px;
	}
}
/* /Fill Button */


/* Layout */
.layout-1 {
	position: relative;
	width: 100%;
	display: block;
	padding: 0 90px 90px 0;
}
.layout-1-image-1 {
	display: block;
	width: 100%;
	height: auto;
}
.layout-1-image-2 {
	position: absolute;
	display: inline-block;
	width: 75%;
	height: auto;
	right: 0;
	bottom: 0;
}
.layout-2 {
	position: relative;
	width: 100%;
	display: block;
	padding-bottom: 65%;
}
.layout-2-image {
	position: absolute;
	display: inline-block;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.layout-2-image-1 {
	left: 0%;
	top: 30px;
	right: calc(75% + 15px);
	bottom: calc(50% - 30px);
}
.layout-2-image-2 {
	left: calc(25% + 15px);
	top: 0;
	right: calc(50% + 15px);
	bottom: 50%;
}
.layout-2-image-3 {
	left: calc(50% + 15px);
	top: 60px;
	right: 0%;
	bottom: 0%;
}
.layout-2-image-4 {
	left: calc(25% + 75px);
	top: 40%;
	right: calc(50% - 50px);
	bottom: 100px;
}
.layout-2-content {
	position: absolute;
	display: inline-block;
	left: 0;
	top: calc(50% + 90px);
	right: calc(75% + 15px);
	bottom: 0;
}
@media only screen and (max-width: 1280px) {
	.layout-2-image-1 {
		left: 0%;
		top: 30px;
		right: calc(50% + 15px);
		bottom: calc(50% - 30px);
	}
	.layout-2-image-2 {
		left: calc(50% + 15px);
		top: 0;
		right: 30px;
		bottom: 50%;
	}
	.layout-2-image-3 {
		display: none;
	}
	.layout-2-image-4 {
		left: calc(50% + 75px);
		top: 40%;
		right: 0;
		bottom: 100px;
	}
	.layout-2-content {
		position: absolute;
		display: inline-block;
		left: 0;
		top: calc(50% + 60px);
		right: calc(50% - 30px);
		bottom: 0;
	}
}
@media only screen and (max-width: 768px) {
	.layout-2 {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: auto;
		grid-column-gap: 30px;
		grid-row-gap: 30px;
		padding: 0;
	}
	.layout-2-image-1 { grid-area: 1 / 1 / 2 / 2; padding-bottom: 150%; position: static; }
	.layout-2-image-2 { grid-area: 1 / 2 / 2 / 3; padding-bottom: 150%; position: static; }
	.layout-2-image-3 { grid-area: 2 / 1 / 3 / 2; padding-bottom: 150%; position: static; display: inline-block; }
	.layout-2-image-4 { grid-area: 2 / 2 / 3 / 3; padding-bottom: 150%; position: static; }
	.layout-2-content { grid-area: 3 / 1 / 4 / 3; position: static; } 	
}
.layout-3 {
	position: relative;
	width: 100%;
	display: block;
	padding: 0 0 90px 90px;
}
.layout-3-image-1 {
	display: block;
	width: 100%;
	height: auto;
}
.layout-3-image-2 {
	position: absolute;
	display: inline-block;
	width: 75%;
	height: auto;
	left: 0;
	bottom: 0;
}
.layout-4 {
	position: relative;
	width: 100%;
	display: block;
	padding-bottom: 20%;
}
.layout-4-image {
	position: absolute;
	display: inline-block;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.layout-4-image-1 {
	left: 0%;
	width: 25%;
	top: 15px;
	bottom: 15px;
}
.layout-4-image-2 {
	left: calc(25% - 15px);
	width: 25%;
	top: 0;
	bottom: 30px;
}
.layout-4-image-3 {
	left: calc(50% - 90px);
	width: calc(25% + 60px);
	top: 30px;
	bottom: 0;
}
.layout-4-image-4 {
	right: 0;
	width: 25%;
	top: 0;
	bottom: 30px;
}
/* /Layout */


.bottom-negative-space {
	margin-bottom: -60px
}
.top-negative-space {
	margin-top: -60px
}


/* Box */
.box-1 {
	position: relative;
	width: 100%;
	display: block;
}
.box-1-inner {
	display: block;
	width: 100%;
	height: auto;
	background-color: #fff;
	border-radius: 45px;
	padding: 0;
}
.box-1-inner .c-content-inner {
	margin: 0 -20px;
}
.box-1-top {
	position: relative;
	z-index: 9;
	padding: 0 20px;
}
.box-1-bg {
	position: absolute;
	top: 50%;
	right: 0;
	bottom: 0;
	left: 0;
}
.box-2 {
	position: relative;
	width: 100%;
	display: block;
}
.box-2-inner {
	display: block;
	width: 100%;
	height: auto;
	background-color: #fff;
	border-radius: 45px;
	padding: 0;
}
.box-2-inner .c-content-inner {
	margin: 0 -20px;
}
.box-2-top {
	position: relative;
	z-index: 9;
	padding: 0 20px;
}
.box-2-bg {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 50%;
	left: 0;
}
.box-3 {
	position: relative;
	width: 100%;
	display: block;
}
.box-3-inner {
	display: block;
	width: 100%;
	height: auto;
	background-color: #fff;
	border-radius: 45px;
	padding: 0;
}
.box-3-inner .c-content-inner {
	margin: 0 -20px;
}
.box-3-top {
	position: relative;
	z-index: 9;
	padding: 0 20px;
}
@media only screen and (max-width: 768px) {
	.box-1-inner .c-content-inner {
		margin: 0;
	}
	.box-2-inner .c-content-inner {
		margin: 0;
	}
	.box-3-inner .c-content-inner {
		margin: 0;
	}
}
/* /Box */


/* News */
.blog-items {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: auto;
	grid-column-gap: 30px;
	grid-row-gap: 60px; 
}
.blog-item-image {
	padding-bottom: 70%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
@media only screen and (max-width: 1024px) {
	.blog-items {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media only screen and (max-width: 768px) {
	.blog-items {
		grid-template-columns: 100%;
		grid-column-gap: 0;
	}
}
/* /News */


/* Portfolio */
.portfolio-items {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: auto;
	grid-column-gap: 30px;
	grid-row-gap: 40px; 
}
.portfolio-items .portfolio-item {
	flex: 0 1 auto;
	max-width: 100%;
	padding: 0;
}
.portfolio-item-image {
	padding-bottom: 125%;
	background-color: #ccc;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.portfolio-item-content {
	padding: 20px 20px 0 20px;
}
.portfolio-slider {
	margin-left: -20px;
	margin-right: -10px;
}
.portfolio-slider .portfolio-item {
	padding-left: 20px;
	padding-right: 10px;
}
.portfolio-wrapper {
	width: 134%;
}
.portfolio-slide {
	padding-bottom: 60%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
@media only screen and (max-width: 1024px) {
	.portfolio-items {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media only screen and (max-width: 768px) {
	.portfolio-items {
		grid-template-columns: 100%;
		grid-column-gap: 0;
		grid-row-gap: 40px; 
	}
}
/* /Portfolio */


/* Gallery */
.gallery-slider .slick-arrow {
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 24px;
	height: 24px;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
	background-color: transparent;
	border: none;
	transform: translateY(-12px);
	z-index: 2;
	text-indent: -9999em;
	overflow: hidden;
	cursor: pointer;
}
.gallery-slider .slick-prev {
	left: 10px;
	background-image: url('/wp-content/themes/proposition/images/arrow-white-left.svg');
}
.gallery-slider .slick-next {
	right: 10px;
	background-image: url('/wp-content/themes/proposition/images/arrow-white-right.svg');
}
/* /Gallery */


/* Testimonials */
.testimonials-slider {
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	cursor: grab;
	user-select: none;
	-webkit-user-select: none;
}
.testimonials-slider.is-dragging,
.testimonials-track.is-dragging {
	cursor: grabbing;
}
.testimonials-track {
	display: flex;
}
.testimonial-slide {
	flex: 0 0 33.333%;
	max-width: 33.333%;
	padding: 0 16px;
}
@media (max-width: 1600px) {
	.testimonial-slide { flex-basis: 50%; max-width: 50%; }
}
@media (max-width: 1024px) {
	.testimonial-slide { flex-basis: 100%; max-width: 100%; }
}
.testimonial-item-inner {
	background-color: #fff;
	border-radius: 30px;
	overflow: hidden;
	height: 100%;
}
.testimonial-item-inner .c-grid {
	height: 100%;
}
.testimonial-item-content {
	padding: 30px;
}
.testimonial-item-image {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	height: 100px;
    width: 100%;
    max-width: 320px;
    margin: 0 auto;
}
.testimonial-item-quote {
	text-align: center;
}
.testimonial-item-name {
	text-align: center;
}
.testimonial-item-title {
	text-align: center;
}
/* /Testimonials */


/* Pagination */
.navigation.pagination .screen-reader-text {
	display: none;
}
.navigation.pagination .nav-links .page-numbers {
	display: inline-block;
	text-decoration: none;
	padding: 0 20px;
	line-height: 28px;
	height: 32px;
	background-color: transparent;
	color: #333;
	border: 2px solid var(--text-color);
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: bold;
	font-size: 12px;
	margin-right: 10px;
	margin-bottom: 10px;
	cursor: pointer;
}
.navigation.pagination .nav-links .page-numbers.current {
	background-color: var(--text-color);
	color: #fff;
}
.navigation.pagination .nav-links .page-numbers:hover {
	border: 2px solid var(--text-primary-color) !important;
	color: var(--text-primary-color) !important;
}
.navigation.pagination .nav-links .page-numbers.current:hover {
	border: 2px solid var(--text-primary-color) !important;
	background-color: var(--text-primary-color) !important;
	color: #fff !important;
}
/* /Pagination */


/* Animations */
.customAnim.animFadeUp {
	opacity: 0;
	-webkit-transition: opacity 1s;
	transition: opacity 1s;
}
.customAnim.animFadeUp.come-in {
	opacity: 1;
	animation: afu-come-in 1s ease forwards;
	-webkit-transform: -webkit-translateY(200px);
	transform: translateY(200px);
}
@keyframes afu-come-in {
	to {
		-webkit-transform: -webkit-translateY(0);
		transform: translateY(0);
	}
}
/* /Animations */


/* Team */
.team-items {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-template-rows: auto;
	grid-column-gap: 30px;
	grid-row-gap: 60px; 	
}
.team-member-image {
	padding-bottom: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.team-member-contact {
	position: relative;
	padding-left: 24px;
	letter-spacing: 1px;
	font-size: 12px;
	line-height: 20px;
	font-weight: 600;
}
.team-member-contact svg {
	position: absolute;
	display: inline-block;
	top: 0;
	left: 0;
	width: 16px;
	height: 16px;
}
.team-member-contact svg path {
	fill: var(--text-color);
}
.team-member-contact:hover {
	color: var(--text-hover-color);
}
.team-member-contact:hover svg path {
	fill: var(--text-hover-color);
}
.team-member-linkedin {
	position: relative;
	padding-right: 40px;
}
.team-member-linkedin svg {
	position: absolute;
	display: inline-block;
	top: 0;
	right: 0;
	width: 24px;
	height: 24px;
}
.team-member-linkedin:hover {
	color: var(--text-hover-color);
}
.team-member-linkedin:hover svg path {
	fill: var(--text-color);
	transition: all 0.3s;
}
.team-member-linkedin:hover svg path {
	fill: var(--text-hover-color);
}
@media only screen and (max-width: 1280px) {
	.team-items {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media only screen and (max-width: 768px) {
	.team-items {
		grid-template-columns: 100%;
		grid-column-gap: 0;
		grid-row-gap: 60px; 	
	}
}
/* /Team */


/* Post-it */
.post-it {
	position: fixed;
	z-index: 999;
	right: 0;
	width: 0;
	height: 0;
}
.post-it.post-it-top {
	top: 120px;
	bottom: auto;
}
.post-it.post-it-bottom {
	top: auto;
	bottom: 360px;
}
.post-it .post-it-wrapper {
	position: relative;
	width: 0;
	height: 0;
}
.post-it .post-it-inner {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 340px;
	transform: translateX(100%);
	transition: all 0.3s;
	opacity: 0;
	margin: 0;
	padding: 50px 30px;
	background-color: var(--text-secondary-color);
}
.post-it.post-it-top .post-it-inner {
	top: 0;
	right: 0;
	bottom: auto;
}
.post-it .post-it-inner::after {
	content: '✕';
	position: absolute;
	top: 20px;
	right: 20px;
	color: #888;
	cursor: pointer;
}
.post-it .post-it-icon {
	position: absolute;
	top: auto;
	right: 0;
	bottom: 0;
	transform: translateX(100%);
	transition: all 0.3s;
	display: inline-block;
	width: 60px;
	height: 60px;
	background-color: var(--text-secondary-color);
	margin: 0;
	padding: 16px;
	cursor: pointer;
}
.post-it.post-it-top .post-it-icon {
	top: 0;
	right: 0;
	bottom: auto;
}
.post-it .post-it-icon svg {
	display: inline-block;
	width: 28px;
	height: 28px;
}
.post-it.active .post-it-inner {
	opacity: 1;
	transform: translateX(0);
}
.post-it.post-it-small .post-it-inner {
	opacity: 0;
	transform: translateX(100%);
}
.post-it.post-it-small .post-it-icon {
	transform: translateX(0);
}
/* /Post-it */


/* FAQ */
.faq-item {
	background-color: #fff;
	margin-bottom: 10px;
	border-radius: 20px;
}
.faq-item-inner {
	padding: 20px 30px;
}
.faq-item-title {
	position: relative;
	padding-right: 48px;
	cursor: pointer;
}
.faq-item-title h5 {
	transition: color 0.3s;
}
.faq-item-arrow {
	position: absolute;
	top: 6px;
	right: 4px;
	width: 18px;
	height: 18px;
	line-height: 18px;
	pointer-events: none;
	text-align: right;
}
.faq-item-arrow svg {
	display: inline-block;
	width: 18px;
	height: 18px;
	transform: rotate(90deg);
	transition: all 0.3s;
}
.faq-item-arrow svg path {
	fill: var(--text-color);
}
.faq-item-title:hover .faq-item-arrow svg path {
	fill: var(--text-hover-color);
}
.faq-item-title:hover {
	color: var(--text-hover-color);
}
.faq-item-content {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.35s ease;
}
.faq-item-content-inner {
	overflow: hidden;
	min-height: 0;
}
.faq-item.active .faq-item-arrow svg {
	transform: rotate(-90deg);
}
.faq-item.active .faq-item-content {
	grid-template-rows: 1fr;
}
/* /FAQ */


/* Clients */
.client-slider {
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	cursor: grab;
	user-select: none;
	-webkit-user-select: none;
}
.client-slider.is-dragging {
	cursor: grabbing;
}
.client-track {
	display: flex;
}
.client-item {
	flex: 0 0 10%;   /* 10 visible */
	max-width: 10%;
	display: flex;
	padding: 0 15px;
}
.client-item-inner {
	height: 90px;
	width: 100%;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
}

@media (max-width: 1024px) {
	.client-item { flex-basis: 16.666%; max-width: 16.666%; } /* 6 visible */
}
@media (max-width: 768px) {
	.client-item { flex-basis: 33.333%; max-width: 33.333%; } /* 3 visible */
}
/* /Clients */


/* CF7 */
.wpcf7 .screen-reader-response {
	display: none;
}
.wpcf7 .hidden-fields-container {
	opacity: 0;
}
.wpcf7 .wpcf7-text {
	display: block;
	width: 100%;
	height: 48px;
	line-height: 48px;
	border: 2px solid #ccc;
	padding: 0 10px;
	background-color: transparent;
}
.wpcf7 .wpcf7-text:focus{
	outline: none;
	border-color: var(--line-color);
}
.wpcf7 .wpcf7-text:not(:placeholder-shown){
	border-color: var(--line-color);
}
.wpcf7 .wpcf7-textarea {
	display: block;
	width: 100%;
	line-height: 24px;
	border: 2px solid #ccc;
	padding: 10px;
	background-color: transparent;
}
.wpcf7 .wpcf7-textarea:focus {
	outline: none;
	border-color: var(--line-color);
}
.wpcf7 .wpcf7-textarea:not(:placeholder-shown) {
	border-color: var(--line-color);
}
.wpcf7 .wpcf7-not-valid-tip,
.wpcf7 .wpcf7-response-output {
	color: red;
}
.wpcf7 .wpcf7-response-output {
	border-color: red !important;
}
.wpcf7 .wpcf7-list-item {
	display: block;
	margin-bottom: 10px;
}
.wpcf7 .wpcf7-submit {
	padding: 0 20px;
	cursor: pointer;
}
.wpcf7 input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
}
.wpcf7 input[type="radio"] {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
}
.wpcf7 .wpcf7-list-item-label {
	position: relative;
	padding-left: 40px;
	line-height: 1.3;
}
.wpcf7 .wpcf7-list-item-label::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 18px;
	height: 18px;
	transform: translateY(-50%);
	border: 2px solid #ccc;
	border-radius: 0;
	background: transparent;
}
.wpcf7 .wpcf7-list-item-label::after {
	content: "×";
	position: absolute;
	left: 2px;
	top: 0px;
	width: 18px;
	height: 18px;
	display: grid;
	place-items: center;
	font-size: 28px;
	font-weight: 600;
	opacity: 0;
	line-height: 18px;
}
.wpcf7 input[type="checkbox"]:checked ~ .wpcf7-list-item-label::after {
	opacity: 1;
}
.wpcf7 input[type="radio"]:checked ~ .wpcf7-list-item-label::after {
	opacity: 1;
}
.wpcf7 input[type="checkbox"]:checked ~ .wpcf7-list-item-label::before {
	border-color: var(--line-color);
}
.wpcf7 input[type="radio"]:checked ~ .wpcf7-list-item-label::before {
	border-color: var(--line-color);
}
input[type="submit"] {
	opacity: 0;
	height: 1px;
	position: absolute;
}
/* /CF7 */


/* Footer */
.footer-logo a {
	display: inline-block;
	height: 48px;
}
.footer-logo a svg {
	display: inline-block;
	width: 172px;
	height: 48px;
}
.footer-logo a svg path {
	transition: all 0.3s;
	fill: #304654
}
.footer-logo a:hover svg path {
	fill: var(--text-hover-color);
}
.footer-social ul {
	display: block;
	text-align: right;
	padding: 0;
	margin-left: -15px;
	margin-right: -15px;
}
.footer-social ul li {
	display: inline-block;
	width: 58px;
	height: 28px;
	text-align: center;
}
.footer-social ul li a svg {
	display: inline-block;
	width: 28px;
	height: 28px;
}
.footer-social ul li a svg path {
	fill: var(--text-color);
	transition: all 0.3s;
}
.footer-social ul li a:hover svg path {
	fill: var(--text-hover-color);
}
.footer-slogan {
	font-weight: 600;
	font-size: 20px;
	line-height: 28px;
}
.footer-menu ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
	columns: 3;
}
.footer-menu ul li {
	display: block;
	padding: 0;
}
.footer-menu ul li a {
	display: inline-block;
	line-height: 26px;
	color: var(--text-color);
	font-size: 18px;
    font-family: 'Big Shoulders', sans-serif;
	font-weight: 700;
	text-decoration: none;
	text-transform: uppercase;
	transition: all 0.3s;
	letter-spacing: 1px;
	margin-bottom: 20px;
}
.footer-menu ul li a:hover {
	display: inline-block;
	line-height: 26px;
	color: var(--text-hover-color);
	font-size: 18px;
	font-weight: 700;
	text-decoration: none;
	text-transform: uppercase;
}
.footer-menu-legal ul {
	display: block;
	list-style-type: none;
	text-align: right;
	padding: 0;
}
.footer-menu-legal ul li {
	display: inline-block;
	height: 20px;
	position: relative;
	padding: 0 0 0 10px;
}
.footer-menu-legal ul li:first-of-type {
	padding: 0 0 0 0;
}
.footer-menu-legal ul li::before {
	content: '•';
	position: absolute;
	top: 0;
	left: 0;
}
.footer-menu-legal ul li:first-of-type::before {
	display: none;
}
.footer-menu-legal ul li a {
	display: inline-block;
	line-height: 20px;
	height: 20px;
	color: var(--text-color);
	font-size: 12px;
	font-weight: 400;
	text-decoration: none;
	transition: all 0.3s;
}
.footer-menu-legal ul li a:hover {
	color: var(--text-hover-color);
	text-decoration: none;
}
.footer-copy-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: auto;
	grid-column-gap: 0;
	grid-row-gap: 0;
}
@media only screen and (max-width: 1024px) {
	.footer-social ul {
		text-align: left;
	}
}
@media only screen and (max-width: 768px) {
	.footer-menu ul {
		columns: 2;
	}
	.footer-menu-legal ul {
		text-align: left;
	}
	.footer-copy-grid {
		grid-template-columns: 100%;
	}
	.footer-copy .c-col-left {
		order: 2;
	}
	.footer-copy .c-col-right {
		order: 1;
	}
}
/* /Footer */


/* Formatting */
.mobileonly {
	display: none;
}
.desktoponly {
	display: block;
}
.wideonly {
	width: 100%;
	overflow: hidden;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
/* /Formatting */


.relative {
	position: relative;
}
.absolute {
	position: absolute;
}
.block {
	width: 100%;
	display: block;
}


.p0 {
	padding: 0 !important;
}
.m0 {
	margin: 0 !important;
}
.p10 {
	padding: 10px !important;
}
.p20 {
	padding: 20px !important;
}
.p30 {
	padding: 20px !important;
}
.pt10 {
	padding-top: 10px !important;
}
.pt20 {
	padding-top: 20px !important;
}
.pt30 {
	padding-top: 30px !important;
}
.pr10 {
	padding-right: 10px !important;
}
.pr20 {
	padding-right: 20px !important;
}
.pr30 {
	padding-right: 30px !important;
}
.pl10 {
	padding-left: 10px !important;
}
.pl20 {
	padding-left: 20px !important;
}
.pl30 {
	padding-left: 30px !important;
}
.pb10 {
	padding-bottom: 10px !important;
}
.pb20 {
	padding-bottom: 20px !important;
}
.pb30 {
	padding-bottom: 30px !important;
}
.px10 {
	padding-right: 10px;
	padding-left: 10px;
}
.px20 {
	padding-right: 20px;
	padding-left: 20px;
}
.px30 {
	padding-right: 30px;
	padding-left: 30px;
}
.py10 {
	padding-top: 10px;
	padding-bottom: 10px;
}
.py20 {
	padding-top: 20px;
	padding-bottom: 20px;
}
.py30 {
	padding-top: 30px;
	padding-bottom: 30px;
}
.mt0 {
	margin-top: 0 !important;
}
.mr0 {
	margin-right: 0 !important;
}
.mb0 {
	margin-bottom: 0;
}
.ml0 {
	margin-left: 0 !important;
}
.mb5 {
	margin-bottom: 5px;
}
.mb10 {
	margin-bottom: 10px;
}
.mb20 {
	margin-bottom: 20px;
}
.mb30 {
	margin-bottom: 30px;
}
.ml10 {
	margin-left: 10px;
}
.ml20 {
	margin-left: 20px;
}
.ml30 {
	margin-left: 30px;
}
.mr10 {
	margin-right: 10px;
}
.mr20 {
	margin-right: 20px;
}
.mr30 {
	margin-right: 30px;
}
.mt10 {
	margin-top: 10px;
}
.mt20 {
	margin-top: 20px;
}
.mt30 {
	margin-top: 30px;
}
.w100 {
	width: 100% !important;
}
.v100 {
	height: 100vh !important;
}


/* Responsive */
@media only screen and (max-width: 1440px) {

	.header-grid {
		grid-template-columns: 182px 0 1fr;
	}
	.header-lang-switch {
		display: none;
	}
	.header-mobile-icon {
		display: inline-block;
	}
	.header-menu {
		display: none;
	}
	#mobilemenu {
		display: block;
	}

}
@media only screen and (max-width: 1024px) {

	/* Formatting */
	h1, .h1 {
		font-size: 48px;
		line-height: 56px;
	}
	h2 {
		font-size: 32px;
		line-height: 40px;
	}
	h3 {
		font-size: 24px;
		line-height: 32px;
	}
	h4 {
		font-size: 20px;
		line-height: 28px;
	}
	h5 {
		font-size: 18px;
		line-height: 26px;
	}
	/* /Formatting */

	/* Content */
	.c-content-inner {
		padding: 0 40px;
	}
	/* /Content */

	/* Grid */
	.c-grid-4-4-4 {
		grid-template-columns: 100%;
		grid-column-gap: 0;
	}
	.c-grid-6-6 {
		grid-template-columns: 100%;
		grid-column-gap: 0;
	}
	.c-grid-3-3-3-3 {
		grid-template-columns: repeat(2, 1fr);
	}
	/* /Grid */

}
@media only screen and (max-width: 768px) {

	body, button, input, select, textarea {
		font-size: 14px;
		line-height: 22px;
	}

	.header-button .fill-btn {
		display: none;
	}

	#header {
		transform: translateY(8px);
	}

	.post-it.post-it-bottom {
		top: auto;
		bottom: 200px;
	}

	/* Content */
	.c-content-inner {
		padding: 0 20px;
	}
	/* /Content */

	/* Formatting */
	.mobileonly {
		display: block;
	}
	.desktoponly {
		display: none;
	}

	.textlarge {
		font-size: 48px;
		line-height: 56px;
	}
	.textgiant {
		font-size: 64px;
		line-height: 72px;
	}

	h1, .h1 {
		font-size: 38px;
		line-height: 46px;
	}
	h2 {
		font-size: 24px;
		line-height: 32px;
	}
	h3 {
		font-size: 22px;
		line-height: 30px;
	}
	h4 {
		font-size: 20px;
		line-height: 28px;
	}
	h5 {
		font-size: 18px;
		line-height: 26px;
	}
	/* /Formatting */

	/* Grid */
	.c-grid {
		clear: both;
		grid-row-gap: 30px;
		width: 100%;
	}
	.c-grid-nested {
		clear: both;
		grid-row-gap: 20px;
		width: 100%;
	}
	.c-grid-1-10-1 {
		grid-template-columns: 100%;
		grid-column-gap: 0;
		grid-row-gap: 60px;
	}
	.c-grid-1-5-1-4-1 {
		grid-template-columns: 100%;
		grid-column-gap: 0;
		grid-row-gap: 0;
	}
	.c-grid-3-3-3-3 {
		grid-template-columns: 100%;
		grid-column-gap: 0;
	}
	.c-grid-2-8-2,
	.c-grid-3-1-8,
	.c-grid-3-3-6,
	.c-grid-3-6-3,
	.c-grid-4-1-7,
	.c-grid-5-2-5,
	.c-grid-5-1-6,
	.c-grid-6-1-5,
	.c-grid-6-2-4,
	.c-grid-6-3-3,
	.c-grid-7-1-4,
	.c-grid-8-1-3 {
		grid-template-columns: 100%;
		grid-column-gap: 0;
	}
	.c-grid-1-11,
	.c-grid-2-10,
	.c-grid-3-9,
	.c-grid-4-8,
	.c-grid-5-7,
	.c-grid-6-6,
	.c-grid-7-5,
	.c-grid-8-4,
	.c-grid-9-3,
	.c-grid-10-2,
	.c-grid-11-1 {
		grid-template-columns: 100%;
		grid-column-gap: 0;
	}
	/* /Grid */

	/* Spacers */
	.c-spacer {
		clear: both;
		height: 20px;
	}
	.c-spacer-halfhalf,
	.c-spacer-small {
		clear: both;
		height: 5px;
	}
	.c-spacer-half {
		clear: both;
		height: 10px;
	}
	.c-spacer-double {
		clear: both;
		height: 40px;
	}
	.c-spacer-section {
		clear: both;
		height: 80px;
	}
	.c-spacer-header {
		height: 80px;
	}
	/* /Spacers */

	.bottom-negative-space {
		margin-bottom: -40px
	}
	.top-negative-space {
		margin-top: -40px
	}

}
/* /Responsive */
