:root {
	font-size: 13px;
	/* zoom: 90%; */
}

html,
body {
	background: white;
	font-family: var(--font-family-1);
	font-weight: 300;
	letter-spacing: 0;
	padding: 0;
	margin: 0;
	width: 100%;
	color: black;
	overflow-x: hidden;
}
html.lock,
body.lock {
	overflow: hidden;
}

body:not(.index) {
	margin-top: 67px;
}

@media(min-width: 768px) {
	:root {
		font-size: 14px;
    }
}

@media(min-width: 992px) {
	:root {
		font-size: 16px;
	}

	body:not(.index) {
		margin-top: 72px;
	}
}


a, a:hover, a:focus,
button, button:hover, button:focus {
	transition: all ease-in-out .2s;
	-moz-transition: all ease-in-out .2s;
	-webkit-transition: all ease-in-out .2s;
	text-decoration: none;
	cursor: pointer;
	color: currentColor;
	outline: none;
	box-shadow: none;
}
*:focus {
	outline: none;
	box-shadow: none;
}
*::placeholder, *::-webkit-placeholder {
	color: currentColor;
}
*:-ms-input-placeholder {
	color: currentColor;
}


.container,
.container-fluid {
	position: relative;
	width: 100%;
	padding: 0 20px;
}
.container.container-full {
	max-width: 1700px; /* Layouts' fullscreen */
}

.container.container-sm {
	max-width: 870px; /* 830 + 40 padding */
}

@media(min-width: 1200px) {
	.container {
		max-width: 1260px; /* 1220 + 40 padding */
	}
	

}


/*************************************/
/********** BUTTONS / LINKS **********/
/*************************************/

.button,
.button:hover,
.button:focus {
	display: inline-block;
    padding: 14px 30px;
	font-size: 1rem;
	font-weight: bold;
    color: var(--white);
	line-height: normal;
	letter-spacing: 2.4px;
    position: relative;
	border: 2px solid var(--primary);
	background-color: var(--primary);
	margin: 0;
	transition: var(--transition);
	text-transform: uppercase;
}
.button.grey,
.button.grey:hover,
.button.grey:focus {
	color: var(--darkgrey);
	border: 2px solid var(--darkgrey);
	margin: 0;
	transition: var(--transition);
}
.button[disabled] {
	opacity: 0.5;
	pointer-events: none;
}

.button:hover,
.button:focus,
.button.button-fill {
	color: var(--primary) !important;
}
.button.button-fill:hover,
.button.button-fill:focus {
	color: var(--white) !important;
}

.button.button-thin,
.button.button-thin:hover,
.button.button-thin:focus {
	font-size: 1rem;
	border-width: 1px;
}

.button::before,
.button.button-fill:hover::before,
.button.button-fill:focus::before {
	content: "";
	position: absolute;
	top: 0;bottom: 0;
	right: 0;
	left: auto;
	background-color: var(--primary);
	width: 0;
	transition: width .2s ease-in-out;
}
.button.grey::before {
	background-color: var(--darkgrey);
}
.button:hover::before,
.button:focus::before,
.button.button-fill::before {
	left: 0;right: auto;
	width: 100%;
}

.button.full{
	color: white;
	/* background-color: #f9f9f9;
	border: 1px solid #f9f9f9; */

}

.button.full,
.button.full:hover,
.button.full:focus {
	border-width: 1px;
	font-size: 12px;
	font-weight: bold;
	font-stretch: normal;
	font-style: normal;
	line-height: 1;
	letter-spacing: 2.4px;
	padding: 19px 25px;
}

.button.full:hover > span,
.button.full:focus > span{
	color: var(--primary) !important;
}

.template .button.full,
.template .button.full:hover,
.template .button.full:focus {
	padding: 25px 47px 24px;
}

.template .button::before, 
.template .button.button-fill:hover::before, 
.template .button.button-fill:focus::before{
	background-color: #f9f9f9;
}

.button > span {
	position: relative;
	z-index: 2;
	font-size: inherit !important;
	color: inherit !important;
	word-spacing: opacity;
}

.text-center {
    justify-content: center;
}

.text-right {
    justify-content: end;
}

.text-left {
    justify-content: start;
}

@media(min-width: 768px) {
    .button,
	.button:hover,
	.button:focus {
		font-size: .75rem;
		padding: 28px 50px;
	}

	.button.button-thin,
	.button.button-thin:hover,
	.button.button-thin:focus {
		padding: 20px 30px;
	}

	.button.full,
	.button.full:hover,
	.button.full:focus {
		padding: 22px 35px;
	}

	.template .button.full,
	.template .button.full:hover,
	.template .button.full:focus {
		padding: 25px 47px 24px;
	}
}


.link,
.link:hover,
.link:focus {
	display: inline-block;
	position: relative;
	font-family: var(--font-family-1);
	font-size: 11px;
	font-weight: bold;
	color: var(--primary);
	letter-spacing: 2.4px;
	text-transform: uppercase;
}
.link:hover,
.link:focus {
	color: var(--black);
}

.link.link-arrow {
	font-family: var(--font-family-1);
	font-size: 1.125rem;
	font-weight: 400;
	letter-spacing: normal;
	text-transform: none;
	padding-right: calc(1.1em + 15px);
	overflow: visible !important;
}
.link.link-arrow:hover,
.link.link-arrow:focus {
	color: var(--primary);
}
.link.link-arrow.link-reverse {
	padding-right: 0;
	padding-left: calc(1.1em + 15px);
}
.link.link-arrow::after {
	content: "";
	width: 1.1em;
	position: absolute;
	top: 0;bottom: 0;
	right: 0;
	margin: auto;
	background-image: url(/assets/img/arrow-sm-blue.svg);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	transition: var(--transition);
}
.link.link-arrow.link-reverse::after {
	right: auto;
	left: 0;
	transform: rotate(180deg);
}
.link.link-arrow:hover::after,
.link.link-arrow:focus::after {
	transform: translateX(5px);
}
.link.link-arrow.link-reverse:hover::after,
.link.link-arrow.link-reverse:focus::after {
	transform: rotate(180deg) translateX(5px);
}


/****************************/
/********** HEADER **********/
/****************************/

header {
	position: fixed;
	top: 0;left: 0;
    width: 100%;

	font-size: 0;
	z-index: 10;
}

header.open {
	z-index: 12;
	transition: none;
}

/********** UPPER SECTION **********/

header .upper {
	display: flex;
	align-items: start;
	position: relative;
	transition: var(--transition);
	z-index: 3;
	background-color: rgba(0, 0, 0, 0);
}

header .upper.filled {
	background-color:var(--darkprimary);
}

header.open .upper.filled {
	background-color:transparent;
}

header .upper a.logo {
    padding: 12px;
}

header .upper a.logo img {
	filter: brightness(0) invert(1);
	width: 138px;
	height: 44px;
	transition: var(--transition);
}

header .upper .social,
header .upper .language,
header .upper .search {
	display: none;
}

header .social {
	margin-top: 40px;
	margin-left: -11px;
}
header .social a {
	display: inline-block;
	padding: 11px;
	font-size: 0;
}
header .social a i {
	font-size: 14px;
	line-height: 1;
	color: white;
	transition: inherit;
}

header .upper .social a i {
    color: white;
}

header .social a:hover i,
header .social a:focus i,
header.open .social a:hover i,
header.open .social a:focus i {
	color: var(--primary);
}


header .language a,
header .search input {
	font-family: var(--font-family-1);
	font-size: 12px;
	font-weight: 300;
	font-stretch: normal;
	font-style: normal;
	letter-spacing: normal;
	text-align: left;
	line-height: 1;
	color: white;
}

header .language a:hover,
header .language a:focus,
header.open .language a:hover,
header.open .language a:focus {
	color: var(--white);
}


header .search {
	position: relative;
	width: 100%;
}
header .search input {
	appearance: none;
	-webkit-appearance: none;
	padding: 13px 10px;
	padding-right: 40px;
	background-color: transparent;
	border: none;
	border-top: 1px solid transparent;
	border-bottom: 1px solid rgb(225, 225, 225, .3);
	width: 100%;
	transition: var(--transition);
}

header .upper.filled .search input {
    border-bottom: 1px solid rgb(225, 225, 225, .3);
}

header .search input:focus {
	border-bottom: 1px solid rgb(225, 225, 225, 1);
}

header.open .upper .search input,
header.open .upper.filled .search input{
	border-bottom: 1px solid rgb(188, 38, 73, .3);
}

header .search button {
	appearance: none;
	-webkit-appearance: none;
	position: absolute;
	top: 0;bottom: 0;
	right: 10px;
	margin: auto;
	width: 29px;
	height: 26px;
	padding: 5px;
	background: transparent;
	border: none;
	border-radius: 0;
}
header .search button svg path {
	fill: white;
	transition: var(--transition);
}
header .search button:hover svg path,
header .search button:focus svg path {
	fill: white;
}

header .upper.filled .search button svg path {
    fill: white;
    transition: var(--transition);
}

header.open .upper.filled .search button svg path{
	fill: var(--primary);
}

header .upper .menu-toggle {
	position: relative;
	margin-left: auto;
	width: 70px;
	height: 67px;
	background-color: var(--primary);
}
header.open .upper .menu-toggle {
	background-color: var(--primary);
}

header .upper .menu-toggle span {
	position: absolute;
	top: 0;bottom: 0;
	left: 0;right: 0;
	margin: auto;
	width: 24px;
	height: 2px;
	background-color: white;
	border-radius: 2px;
	transition: inherit;
}
header .upper .menu-toggle span:first-child {
	transform: translateY(-8px);
}
header .upper .menu-toggle span:last-child {
	transform: translate(-5px, 8px);
	width: 15px;
}

header.open .upper .menu-toggle span {
	width: 28px;
}
header.open .upper .menu-toggle span:first-child {
	transform: rotate(45deg);
}
header.open .upper .menu-toggle span:nth-child(2) {
	opacity: 0;
}
header.open .upper .menu-toggle span:last-child {
	transform: rotate(-45deg);
}


@media(max-width: 991px) {
	header.open .upper {
		background-color: black;
	}

	header .menu > a:first-child {
		display: none;
	}
}

header .upper > div{
	display: flex;
	align-items: center;
	flex: 1;
}

@media(min-width: 768px) {
	
	header .upper.fixed {
		background-color: var(--darkprimary);
	}
	
	header.open .upper.fixed {
		background-color: rgba(0, 0, 0, 0);
	}

}

@media(min-width: 992px) {

	
	header::before {
		content: "";
		position: fixed;
		top: 0;bottom: 0;
		left: 0;right: 0;
		background-color: var(--black);
		opacity: 0;
		pointer-events: none;
		transition: var(--transition);
	}
	header.open::before {
		opacity: .75;
		pointer-events: auto;
	}


    header .upper a.logo {
		padding: 20px 25px;
	}

	header .upper.fixed a.logo,
	header .upper.filled a.logo {
		padding: 12px 25px;
	}


    header .upper a.logo img{
		width: 221px;
		height: 70px;
	}

	header .upper.fixed a.logo img,
	header .upper.filled a.logo img{
		width: 154px;
		height: 48px;
	}
	
	header.open .upper a.logo {
		opacity: 0.3;
	}

	header .social,
	header .language,
	header .search,
	header .menu > a:not(:first-child) {
		display: none;
	}
	header .upper .social,
	header .upper .language,
	header .upper .search {
		display: initial;
	}

	header.open .language a,
	header.open .search input {
		color: #9c9b9b;
	}
	header.open .search input:focus {
		border-bottom-color: #9c9b9b;
	}
	header.open .search button svg path,
	header .upper .search button:hover svg path,
	header .upper .search button:focus svg path {
		fill: var(--primary);
	}
	header.open .upper .search button:hover svg path,
	header.open .upper .search button:focus svg path {
		fill: black;
	}

	header .search {
		margin-left: 50px;
		width: auto;
	}
	header .search input {
		width: 295px;
	}

	header .language {
		margin-left: 35px;
	}

	header .social {
		margin-top: 0;
		margin-left: auto;
	}


	header .upper .menu-toggle {
		width: auto;
		height: auto;
		margin-left: 50px;
		padding: 30px 40px;
		padding-right: 88px;
		font-size: .75rem;
		font-weight: bold;
		color: white;
		line-height: 1;
		letter-spacing: 2.4px;
		text-transform: uppercase;
	}
	header .upper .menu-toggle:hover,
	header .upper .menu-toggle:focus {
		background-color: var(--primary);
	}

	header.open .social a i {
		color: var(--primary);
	}

	header .upper .menu-toggle span {
		left: auto;right: 40px;
	}
	header .upper .menu-toggle span:last-child {
		transform: translate(-9px, 8px);
	}
	header:not(.open) .upper .menu-toggle:hover span:last-child,
	header:not(.open) .upper .menu-toggle:focus span:last-child {
		transform: translate(0px, 8px);
	}
}


header .language {
	margin-left: 0;
	padding-right: 27px;
	position: relative;
}

header .language > div {
	position: relative;
	display: flex;
	align-items: center;
	pointer-events: all;
	cursor: pointer;
}

header .language > div p,
header .language ul li {
	font-family: var(--font-family-1);
	font-size: 12px;
	font-weight: normal;
	font-stretch: normal;
	line-height: normal;
	letter-spacing: normal;
	text-align: left;
	color: #fff;
	margin: 0;
	transition: var(--transition);
	text-transform: uppercase;
}

header .language ul li{
	padding: 4px 7px;
}

header .language > div p {
	pointer-events: none;
}

header .menu .language ul{
	margin: 0;
}
header .menu .language ul li{
	margin-bottom: 0;
	padding: 5px;
}

header .language ul {
	margin: 0;
	padding-left: 0;
	max-height: 0;
	list-style: none;
	overflow: hidden;
	position: absolute;
	top: 100%;
	left: -5px;
	transition: var(--transition);
	z-index: 2;
	margin-top: 6px;
}

header .language.open ul {
	background-color: var(--primary);
}

header .language ul li a {
	padding: 5px;
	display: block;
	transition: var(--transition);
	color: white;
}

header .language span {
	position: absolute;
	top: 50%;
	transform: translateY(-30%);
	right: 5px;
	transition: var(--transition);
	cursor: pointer;
	padding: 5px;
	display: inline-block;
	z-index: 1;
}

header .language span::before {
	content: '';
	border-style: solid;
	border-width: 4px 4px 0 4px;
	border-color: #ffffff var(--transparent) var(--transparent) var(--transparent);
}

header .language ul li:hover a {
	color: var(--darkprimary);
}

header.open .language > div p,
header.open .language ul li {
	color: #000;
}

header.open .language.open ul {
	background-color: rgba(0, 0, 0, 1);
}

header.open .language.open ul li {
	color: #fff;
}

header.open .language span::before {
	border-color: #000 var(--transparent) var(--transparent) var(--transparent);
}

@media (min-width: 1200px) {
	header .language {
		margin-left: 46px;
		height: 100%;
	}

	header .language > div {
	height: 100%;
	}

	header .language ul {
		top: 100%;
	}

	
}

@media (min-width: 768px) {
	header .language {
		margin-left: 36px;
	}
}

/*****************************************/
/********** HEADER PRIVATE AREA **********/
/*****************************************/

header .upper .shop-wrapper {
	margin-right: -10px;
	margin-left: 30px;
}

header .upper .shop-wrapper > div {
	position: relative;
	display: inline-block;
	background-color: transparent;
	font-size: 0;
	text-align: center;
	cursor: pointer;
}

header .upper .shop-wrapper > div > a {
	position: relative;
	display: inline-block;
	padding: 10px;
	opacity: 1 !important;
}

header .upper .shop-wrapper > div img {
	height: 20px;
	transition: var(--transition);
	filter: brightness(0) invert(1);
}
header .upper .shop-wrapper > div:hover img,
header .upper .shop-wrapper > div:focus img {
	filter: none;
}


header .upper .shop-wrapper > div span {
	position: absolute;
	top: -2px;right: -2px;
	width: 14px;
	height: 14px;
	background-color: var(--primary);
	border-radius: 100%;
}
header .upper .shop-wrapper > div span::before {
	content: "";
	position: absolute;
	top: 2px;bottom: 0;
	left: 0;right: -6px;
	width: 8px;
	height: 5px;
	margin: auto;
	border-left: 2px solid white;
	border-bottom: 2px solid white;
	transform-origin: bottom left;
	transform: rotate(-45deg);	
}

header .upper .shop-wrapper > div > div {
	position: absolute;
	top: calc(100% - 6px);
	left: 50%;
	padding-top: 22px;
	opacity: 0;
	pointer-events: none;
	transition: var(--transition);
	transform: translateX(-50%);
}
header .upper .shop-wrapper > div:hover > div,
header .upper .shop-wrapper > div:focus > div {
	opacity: 1;
	pointer-events: auto;
}

header .upper .shop-wrapper > div > div > div {
	position: relative;
	padding: 27px 30px;
	background-color: var(--black);
}
header .upper .shop-wrapper > div > div > div::before {
	content: "";
	position: absolute;
	bottom: 100%;
	left: 50%;
	height: 0;width: 0;
	border-bottom: 13px solid var(--black);
	border-left: 13px solid transparent;
	border-right: 13px solid transparent;
	transform: translateX(-50%);
}

header .upper .shop-wrapper > div a {
	display: inline-block;
	font-family: var(--font-family-1);
	font-size: 10px;
	color: white;
	letter-spacing: .1em;
	text-transform: uppercase;
	white-space: nowrap;
	opacity: 0.5;
}
header .upper .shop-wrapper > div a + a {
	margin-top: 15px;
}
header .upper .shop-wrapper > div a:hover,
header .upper .shop-wrapper > div a:focus {
	opacity: 1;
}

header .upper .shop-wrapper > div hr {
	margin: 15px 0;
	border-color: var(--black)
}


@media(max-width: 767px) {
	header .upper .shop-wrapper {
		position: absolute;
		top: 39px;bottom: 0;
		right: 10px;
		height: 40px;
		margin: auto;
	}
}


/*********************************/
/********** HEADER MENU **********/
/*********************************/

header .menu {
	position: fixed;
	height: 100%;
	width: 100%;
    max-width: 100%;
    padding: 100px 20px 60px;
	background-color: black;
	top: 0;
    right: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	transform: translateX(100%);
	transition: var(--transition);
    overflow: auto;
    z-index: 1;
}
header.open .menu {
	transform: translateX(0%);
}

header .menu > a {
	position: relative;
	display: inline-block;
	font-size: 1.125rem;
	color: var(--primary);
	margin-top: 25px;
	padding-right: 40px;
}
header .menu > a:hover,
header .menu > a:focus {
	color: white;
}
header .menu > a svg {
	position: absolute;
	top: 0;bottom: 0;
	right: 0;
	width: 19px;
	height: 16px;
	margin: auto;
	transition: inherit;
}
header .menu > a:hover svg,
header .menu > a:focus svg {
	transform: translateX(5px);
}
header .menu > a svg path {
	fill: var(--primary);
	transition: var(--transition);
}
header .menu > a:hover svg path,
header .menu > a:focus svg path {
	fill: white;
}

/********** MENU **********/

header .menu ul {
	padding: 0;
	margin: 0;
	list-style: none;
	margin: -8px 0;
}
header .menu > ul {
	width: 100%;
	padding-top: 120px;
	padding-bottom: 80px;
}
header .menu ul li {
    font-size: 0;
    padding: 12px 0;
	margin-bottom: 20px;
}
header .menu ul li.sub {
	position: relative;
	padding-right: 16px;
}
header .menu ul li.sub > span {
	position: absolute;
	display: inline-flex;
	width: 19px;
	height: 16px;
	-webkit-mask-image: url("/assets/img/svg/normal-arrow.svg");
	mask-image: url("/assets/img/svg/normal-arrow.svg");
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
	cursor: pointer;
	transition: var(--transition);
	background-color: var(--primary);
	right: 0;
	margin-block: 7px;
}

header .menu ul li.sub.open > span,
header .menu ul li.sub.active > span {
	transform: rotate(90deg);
}

header .menu ul li h2 {
	font-size: 2.25rem;
	font-weight: 300;
	color: white;
	margin: 0;
	display: inline-block;
	letter-spacing: -0.36px;
}
header .menu ul li h3,
header .menu ul li h4 {
	font-size: 16px;
	font-weight: 300;
	color: var(--grey);
	margin: 0;
	display: inline-block;
}
header .menu ul li h2 a:hover,
header .menu ul li h2 a:focus,
header .menu ul li.open > h2 a {
	color: var(--primary);
}
header .menu ul li h3 a:hover,
header .menu ul li h3 a:focus,
header .menu ul li.open > h3 a,
header .menu ul li h4 a:hover,
header .menu ul li h4 a:focus,
header .menu ul li.open > h4 a {
	color: white;
}

header .menu ul li.sub ul {
	margin: 0;
	padding-left: 25px;
}
header .menu > ul > li.sub > ul {
	overflow: hidden;
	max-height: 0;
	transition: var(--transition);
}
header .menu > ul > li.sub.active > ul {
	max-height: 1000px;
}

header .menu ul li.sub ul li {
	padding: 6px 0;
}
header .menu > ul > li.sub > ul > li:first-of-type {
    margin-top: 22px;
}
header .menu > ul > li.sub > ul > li:last-of-type {
    margin-bottom: 6px;
}
header .menu ul li.sub li.sub ul li:first-child {
	padding-top: 12px;
}
header .menu ul li.sub li.sub ul li:last-child {
	padding-bottom: 0;
}


@media(min-width: 768px) {
    header .menu {
		padding: 100px 40px 40px 85px;
	}
}

@media(min-width: 992px) {
	header .menu {
		padding: 72px 40px 40px 85px;
	}

    header .menu {
		background-color: white;
		align-items: flex-end;
		width: 800px;
	}

	header .menu > a {
		margin-top: 50px;
	}
	header .menu > a:hover,
	header .menu > a:focus {
		color: var(--blackgrey);
	}
	header .menu > a:hover svg path,
	header .menu > a:focus svg path {
		fill: var(--blackgrey);
	}

	header .menu > ul {
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding-bottom: 0;
	}

	header .menu ul li.sub {
		padding-right: 0;
	}
	/* header .menu ul li.sub > span {
		display: none;
	} */

	header .menu ul li.sub>span {
		position: relative;
		display: inline-flex;
		width: 36px;
		height: 30px;
		margin-left: 25px;
		margin-block: 0;
		right: unset;
	}

	header .menu ul li h2 {
		color: black;
	}

	header .menu ul li.active h2 {
		color: var(--primary);
	}

	header .menu ul li h2 a:hover {
		color: var(--primary);
	}


	header .menu ul li h3 a:hover,
	header .menu ul li h3 a:focus,
	header .menu ul li.open > h3 a,
	header .menu ul li h4 a:hover,
	header .menu ul li h4 a:focus,
	header .menu ul li.open > h4 a {
		color: black;
	}
}

@media(min-width: 992px) {	
    
}


/****************************/
/********** FOOTER **********/
/****************************/

footer {
	margin-top: 60px;
	padding: 75px 0;
	background-color: var(--darkprimary);
}

/********** FOOTER UPPER **********/
footer .footer-logo {
	position: absolute;
	width: 155px;
	height: 36px;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
}

footer .footer-logo img {
	position: relative;
	width: auto;
	height: 18px;

	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
}


footer .upper ul {
	display: block;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0;
	text-align: center;
	flex: 1;
}

footer .upper ul + ul {
	margin-top: 20px;
}
footer .upper ul li:not(:last-child) {
	margin-bottom: 20px;
}
footer .upper ul li h3 {
	font-family: var(--font-family-1);
	font-size: 10px;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 2.4px;
	color: white;
	text-transform: uppercase;
	margin: 0;
}
footer .upper ul li h3 a:hover {
	opacity: 0.5;
}

footer .upper .contact-us {
	padding-top: 65px;
	text-align: center;
}

footer .upper .contact-us a {
	display: inline-block;
	font-size: 1.875rem;
	font-weight: 600;
	color: var(--primary);
	line-height: 1;
	border-bottom: 4px solid transparent;
}
footer .upper .contact-us a:first-child {
	margin-bottom: 15px;
}
footer .upper .contact-us a:hover,
footer .upper .contact-us a:focus {
	border-color: var(--primary);
}

/********** FOOTER LOWER **********/

footer .lower {
	margin-top: 0;
	display: flex;
	flex-direction: column-reverse;
	align-items: center;
	padding: 10px;
    gap: 10px;
}

footer .lower > span {
	font-size: 12px;
	color: white;
	text-align: center;
	margin-top: 0;
	color: var(--white);
}
footer .lower > span span::before {
	content: " | ";
	padding-inline: 5px;
}
footer .lower > span a {
	display: inline-block;
	margin-top: 10px;
}
footer .lower > span a:hover,
footer .lower > span a:focus {
	opacity: 0.5;
}

footer .social {
	font-size: 0;
}
footer .social a {
	font-size: 18px;
	color: var(--white);
}
footer .social a:not(:last-child) {
	margin-right: 30px;
}
footer .social a:hover {
	opacity: 0.5;
}


@media(min-width: 768px) {
	footer {
		padding: 95px;
		margin-top: 130px;
	}

	footer .upper {
		display: flex;
		flex-wrap: wrap;
	}

	footer .footer-logo {
		position: relative;
	}
	

	footer .upper > span {
		display: flex;
		flex-wrap: wrap;
		width: 40%;
		justify-content: space-between;
	}
	footer .upper > span:first-of-type{
		width: 60%;
	}
	footer .upper ul {
		text-align: left;
		max-width: fit-content;
	}
	footer .upper ul + ul {
		margin-top: 0;
	}
	footer .upper ul li:not(:last-child) {
		margin-bottom: 25px;
	}
	footer .upper ul li h3 {
		font-size: 12px;
	}

	footer .upper .contact-us {
		padding-top: 60px;
		min-width: 100%;
		max-width: 100%;
	}
	footer .upper .contact-us a:first-child {
		margin-bottom: 5px;
	}

	footer .lower {
		margin-top: 80px;
		align-items: flex-end;
		flex-direction: initial;
		padding: 0;
		gap: 0;
	}
	footer .lower > span {
		margin: 0;
	}
	footer .lower > span i {
		display: inline-block;
	}
	/* footer .lower > span i::before {
		content: "|";
		padding: 0 .5em;
	} */

	footer .social {
		margin-left: auto;
	}
	footer .social a {
		font-size: 20px;
	}

	footer .lower {
		margin-top: 65px;
	}

	/* footer .lower > span {
		margin-top: 50px;
	} */

	footer .footer-logo img {
		width: 155px;
		height: 36px;
	}

}

@media(min-width: 992px) {
	footer .upper .contact-us {
		padding-top: 0;
		margin-left: auto;
		flex: 1;
		min-width: auto;
		max-width: fit-content;
		text-align: end;
		width: fit-content;
	}

	footer .lower {
		margin-top: 120px;
		align-items: flex-end;
		flex-direction: initial;
	}
}


/************************************/
/********** NEWSLETTER BAR **********/
/************************************/

.newsletter-bar {
	padding: 60px 0 50px;
	position: relative;
}
.newsletter-bar::before {
	content: "";
	position: absolute;
	top: 0;bottom: 0;
	left: 0;right: 0;
	background-color: black;
	opacity: .75;
}

.newsletter-bar .container {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.newsletter-bar p {
	font-size: 2.5rem;
	font-weight: 900;
	color: white;
	line-height: 1.05;
	text-align: center;
	text-transform: uppercase;
	margin: 0;
}

.newsletter-bar a.button {
	margin-top: 30px;
}


@supports(mix-blend-mode: multiply) {		
	.newsletter-bar::before {
		background-color: #414040;
		mix-blend-mode: multiply;
		opacity: 1;
	}
}


@media(min-width: 768px) {
	.newsletter-bar {
		padding: 80px 0 70px;
	}
	.newsletter-bar .container {
		align-items: flex-start;
	}

	.newsletter-bar p {
		text-align: left;
		font-size: 3.75rem;
	}

	.newsletter-bar a.button {
		margin-top: 50px;
	}
}

@media(min-width: 992px) {
	.newsletter-bar {
		padding: 120px 0 100px;
	}

	.newsletter-bar .container {
		flex-direction: initial;
		align-items: flex-end;
	}

	.newsletter-bar a.button {
		margin-top: 0;
		margin-left: auto;
	}

	.newsletter-bar p {
		max-width: 460px;
	}
}


/*********************************/
/********** NEWS HEADER **********/
/*********************************/

.content .template .article-header {
    margin-top: -30px;
}

.content .template .article-header p {
    font-family: var(--font-family-1);
    font-size: 11px;
    font-weight: 400;
    color: var(--lightgrey);
    letter-spacing: .1em;
    text-transform: uppercase;
}
.content .template .article-header p span.date {
	display: inline-block;
	color: var(--black);
	margin-right: 10px;
}
.content .template .article-header p span:last-child {
	display: block;
	margin-top: 10px;
}


/**************************/
/********** FORM **********/
/**************************/

.content .template .form {
	position: relative;
	max-width: 540px;
	margin: 0 auto;
}
.content .template > .form:first-child {
	margin-top: 65px;
}

.content .template .form .row {
    margin: -10px;
}
.content .template .form .row .row {
	margin: -7px;
}
.content .template .form .row label:not(.button) + .row {
	margin-top: 20px;
}
.content .template .form .row > div {
    padding: 10px;
    font-size: 0;
}
.content .template .form .row .row > div {
	padding: 7px;
}

.content .template .form label:not(.button) {
	display: block;
	font-size: 16px;
	font-weight: 300;
	color: var(--black);
	line-height: 1.25;
    margin: 0;
}
.hp-news.content .template .form label:not(.button) {
	color: var(--white);
}
.content .template .form label a {
	display: inline;
	color: black;
}
.content .template .form label a:hover,
.content .template .form label a:focus {
	color: var(--primary);
}

.content .template .form .input-wrapper,
.content .template .form .select-wrapper {
    padding-top: 7px;
    position: relative;
}
.content .template .form .input-wrapper label,
.content .template .form .select-wrapper label {
    position: absolute;
    top: 0;
	transform: translateY(26px);
	line-height: 1;
    pointer-events: none;
    transition: var(--transition);
}
.content .template .form .input-wrapper input:focus + label,
.content .template .form .input-wrapper input[placeholder] + label,
.content .template .form .input-wrapper textarea:focus + label,
.content .template .form .input-wrapper textarea[placeholder] + label,
.content .template .form .input-wrapper.filled label,
.content .template .form .select-wrapper.filled label {
    transform: translateY(-5px);
    font-size: 13px;
}
.content .template .form .input-wrapper span {
	display: block;
	font-size: 13px;
	font-weight: 300;
	font-style: italic;
	color: var(--grey);
	text-align: right;
	margin-top: 5px;
}

.content .template .form input,
.content .template .form textarea,
.content .template .form select {
	appearance: none;
	-webkit-appearance: none;
	font-size: 16px;
	font-weight: 400;
	color: black;
	width: 100%;
	padding: 15px 0;
	background-color: transparent;
    border: none;
	border-bottom: 1px solid #d0d1d1;
	border-radius: 0;
    resize: none;
	transition: var(--transition);
	font-family: var(--font-family-1);
}
.content .template .form input.not-filled,
.content .template .form textarea.not-filled,
.content .template .form select.not-filled {
    border-bottom: 1px solid var(--warning);
}
.content .template .form input[disabled],
.content .template .form textarea[disabled],
.content .template .form select[disabled] {
	cursor: not-allowed;
}
.content .template .form select {
	cursor: pointer;
}

.content .template .form .warning {
    font-size: 14px;
    font-weight: 400;
    color: var(--warning);
    height: 20px;
    margin: 0;
    margin-top: 10px;
    line-height: 20px;
    padding-left: 35px;
    position: relative;
}
.content .template .form .warning::before {
    content: "!";
    position: absolute;
    left: 0;
    height: 20px;
    width: 20px;
    background-color: var(--warning);
    border-radius: 100%;
    font-size: 17px;
    font-weight: 500;
    color: white;
    text-align: center;
}

.content .template .form input[type='checkbox'] {
	display: none;
}
.content .template .form input[type='checkbox'] + label {
	display: inline-block;
	vertical-align: middle;
	height: 23px;
	width: 23px;
	background-color: white;
	cursor: pointer;
	position: relative;
	border: 1px solid #d0d1d1;
	transition: var(--transition);
}
.content .template .form input[type='checkbox'].not-filled + label {
	border: 1px solid var(--warning);
}
.content .template .form input[type='checkbox'] + label::before {
	content: "";
	position: absolute;
	top: -3px;bottom: 0;
	left: 0;right: 0;
	width: 14px;
	height: 7px;
	border-bottom: 2px solid white;
	border-left: 2px solid white;
	margin: auto;
	opacity: 0;
	transform: rotate(-45deg);
	pointer-events: none;
	transition: var(--transition);
}
.content .template .form input[type='checkbox']:checked + label::before {
	opacity: 1;
}
.content .template .form input[type='checkbox']:checked + label {
	background: var(--primary);
}
.content .template .form input[type='checkbox'] + label + label {
	display: inline-block;
	vertical-align: middle;
	padding-left: 10px;
	color: var(--grey);
    font-weight: 300;
	line-height: 1.25;
	cursor: pointer;
	transition: var(--transition);
}
.content .template .form.private-area-form input[type='checkbox']:checked + label + label {
	color: black;
}

.content .template .form .file-wrapper {
	position: relative;
	padding-top: 0;
}
.content .template .form .row > div:not(:first-child) .file-wrapper {
    padding-top: 25px;
}
.content .template .form .file-wrapper label:first-child {
	margin-bottom: 15px;
}
.content .template .form input[type='file'] {
	display: none;
}
.content .template .form input[type='file'] + label {
	vertical-align: middle;
	padding-left: 70px;
	padding-right: 70px;
	cursor: pointer;
}
.content .template .form input[type='file'] + label + label {
	display: inline-block;
	margin-left: 20px;
	vertical-align: middle;
	font-size: 13px;
	font-style: italic;
	font-weight: 400;
	color: rgba(0, 0, 0, .4);
}

.content .template .form .lower {
	margin-top: 10px;
}
.content .template .form .lower label {
	font-size: 14px;
	color: var(--grey);
}

.content .template .form [submit] {
	padding-left: 70px;
	padding-right: 70px;
	margin-top: 30px;
}


@media(min-width: 768px) {
    .content .template .form .row {
        margin: -15px -20px;
		justify-content: space-between;
    }
    .content .template .form .row > div {
        padding: 15px 20px;
    }
    .content .template .form .row .col-md-6 {
        max-width: 351px;
    }

}

@media(min-width: 992px) {
	
}


/*************************************/
/********** CONTACT US PAGE **********/
/*************************************/

.content.contact-us-form-wrapper {
	padding-bottom: 0;
}
.content.contact-us-form-wrapper .template {
	padding-bottom: 50px;
}

.content.contact-us-form-wrapper > .template {
	padding-top: 50px;
	background-color: var(--white);
}

.content.contact-us-form-wrapper > .template .form {
	max-width: 700px;
	margin-top: 40px;
}
.content.contact-us-form-wrapper > .template .form .row {
	margin: -15px -40px;
}
.content.contact-us-form-wrapper > .template .form .row > div {
	padding: 15px 40px;
}


@media(min-width: 768px) {
	.content.contact-us-form-wrapper > .template {
		padding-top: 90px;
	}
	.content.contact-us-form-wrapper .template {
		padding-bottom: 100px;
	}
}


/************************************/
/********** THANK YOU PAGE **********/
/************************************/

.content.thank-you .template {
	padding: 0;
	text-align: center;
}

/* .content.thank-you + footer {
	margin-top: 0;
} */

@media(max-width: 991px) {
	.content.thank-you .template {
		padding: 70px 0;
	}

	.content.thank-you .button {
		padding: 20px 25px;
	}
}

@media(max-width: 767px) {
	.content.thank-you .template {
		padding: 50px 0;
	}
}


/************************************/
/********** SEARCH PAGE *************/
/************************************/

.content.search {
	min-height: calc(100vh - 555px);
}

.content.search + footer {
	margin-top: 100px;
}

/***************************************/
/********** BLOG CONTENT PAGE **********/
/***************************************/

/********** LOWER DETAILS SECTION (BLOG LISTING item inherits from here) **********/

.article .lower span {
	display: block;
	font-size: 14px;
	color: #b6b9b9;
	line-height: 1.25;
}
.article .lower span.date {
    padding-left: 20px;
	padding-bottom: 12px;
	position: relative;
}
.article .lower span.date::before {
	content: "\f073";
	font-family: "Font Awesome 5 Free";
	font-weight: 400;
	color: var(--black);
	position: absolute;
	left: 0;
}

.article .lower span a {
	color: var(--primary);
	border-bottom: 1px solid transparent;
}
.article .lower span a:hover, .article span a:focus {
	border-bottom: 1px solid currentColor;
}

.content .article-nav {
	border-top: none;
    margin-top: 20px;
    padding-block: 25px;
	background-color: var(--primary);
}

.content .article-nav .row {
    margin: -10px;
}
.content .article-nav .row > div {
    padding: 9px;
	display: flex;
}
.content .article-nav .row > div:nth-child(2) {
    text-align: center;
    order: 1;
	display: block; 
}
.content .article-nav .row > div:last-child {
	text-align: right;
}
.content .article-nav .row > div a {
	font-size: 1.125rem;
	color: var(--white);
}
.content .article-nav .row > div a:hover,
.content .article-nav .row > div a:focus {
	opacity: .5;
}
.content .article-nav .row > div.disabled a {
	opacity: .25;
	pointer-events: none;
}

.content .article-nav .row > div.prev a,
.content .article-nav .row > div.next a {
	padding-left: 40px;
	position: relative;
}
.content .article-nav .row > div.prev a::before,
.content .article-nav .row > div.next a::after {
	content: '';
	display: inline-block;
	-webkit-mask-image: url(/assets/img/svg/slider-arrow.svg);
	mask-image: url(/assets/img/svg/slider-arrow.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	background-color: var(--white);
	width: 13px;
	height: 26px;
	position: relative;
	transition: var(--transition);
	position: absolute;
	top: 0;
}

.content .article-nav .row > div.prev a {
	padding-left: 30px;
}
.content .article-nav .row > div.prev a::before {
	left: 0;
	transform: rotate(180deg);
}

.content .article-nav .row > div.next a {
	padding-right: 30px;
	padding-left: 0;
}
.content .article-nav .row > div.next a::after {
	right: 0px;
	
}


@media(min-width: 992px) {	
    .content .article-nav .row > div.prev a,
    .content .article-nav .row > div.next a {
		padding-left: 40px;
	}
	.content .article-nav .row > div.next a {
		padding-right: 40px;
	}

	/* .content .article-nav .row > div.prev a::before, .content .article-nav .row > div.next a::after {
		height: 12px;
	    width: 27px;
	} */
}

@media(min-width: 768px) {
	.content .article-nav {
		margin-top: 30px;
		padding-block: 50px;
	}

	.article .lower span.date {
		padding-left: 25px;
	}
	.content .article-nav .row > div:nth-child(2) {
        order: initial;
    }

	.content .article-nav .row>div.prev a:hover::before {
		left: -5px;
	}
	.content .article-nav .row>div.next a:hover::after {
		right: -5px;
	}

	.content .article-nav .row > div {
		padding: 10px;
		display: block;
	}
}

/********************************/
/********** SWEETALERT **********/
/********************************/

.swal-overlay--show-modal .swal-modal {
    border-radius: 0;
}

.swal-text,
.swal-content p {
    font-size: 1.25rem;
    font-weight: 300;
    color: var(--darkgrey);
    margin-top: .75em;
}

.swal-footer {
    margin: 0;
    padding: 30px;
    text-align: center;
}
.swal-footer .swal-button-container {
    margin: 0;
}
.swal-footer .swal-button,
.swal-footer .swal-button:hover,
.swal-footer .swal-button:focus {
    display: inline-block;
    padding: 20px 30px;
    font-size: 1rem;
    font-weight: bold;
    color: var(--primary);
    line-height: 1;
    position: relative;
    background-color: transparent;
    border: 1px solid var(--primary);
    border-radius: 0;
    box-shadow: none;
    margin: 0;
    transition: var(--transition);
}



/*****************************/
/******* NEWS CHANGES ********/
/*****************************/

.content.hp-news .template .advanced-search {
	padding: 35px 60px 59px;
    background: var(--primary);
}

.content.hp-news .template .form {
	display: flex;
    width: 100%;
    gap: 50px;
	max-width: unset;
}

.custom-select.open .options-wrapper, .custom-select.open .options {
	background-color: var(--primary);
}

.custom-select .options > div.selected, .custom-select .options > div:hover {
    color: var(--darkprimary);
}

.custom-select .options > div {
    color: var(--white);
}

.custom-select .placeholder {
	color: var(--white);
	padding: 15px 0 21px;
	border-bottom: 1px solid rgba(255, 255, 255, .4);
}

.content.hp-news .template .form > div{
    width: 50%;
}

.content.hp-news .template .items .article {
	width: 50%;
    max-width: 330px;
    padding: 0;
}

.content.hp-news .listing.listing-article .items {
	flex-wrap: wrap;
	gap: 75px;
	justify-content: space-between;
	margin-top: 80px;
}

.content.hp-news .listing.listing-article .lower {
	margin: 60px 0 0;
}

.content.hp-news .listing.listing-article .lower .article {
    width: fit-content;
	margin: auto;
	padding-bottom: 0;
}

.content.hp-news .listing.listing-article .lower .article .link {
	font-size: 14px;
	font-weight: bold;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.71;
	letter-spacing: normal;
	text-align: center;
}


.custom-select.has-reset .placeholder > div.reset::before, 
.custom-select.has-reset .placeholder > div.reset::after {
    background-color: var(--white);
}

@media(max-width: 768px) {

	.content.hp-news {
		padding: 40px 0;
	}
	.content.hp-news .template .form {
		flex-direction: column;
	}
	.content.hp-news .template .form > div {
		width: 100%;
	}

	.content.hp-news .template .items .article {
		width: unset;
		margin: auto;
	}

	.content.hp-news .listing.listing-article .lower {
		margin: 30px 0 40px;
	}
	.content.hp-news .template .advanced-search {
		margin-left: -20px;
		margin-right: -20px;
	}

}


.content .template .form .honey-input, 
form .honey-input {
    position: fixed;
    top: -100%;
    left: -100%;
}

.content.contacts {
	padding-bottom: 0;
}

.content.contacts + footer {
	margin-top: 0;
}

.content .template.contact {
	background:#fafafa;
}

.content .template.contact .form {
    max-width: 702px;
	padding: 100px 0;
}

.content .template.contact .form .h2{
	text-align: center;
	margin-bottom: 55px;
}

.content .template.contact .form .checkbox-wrapper label {
	font-size: 14px;
}

.content .template.contact .form .checkbox-wrapper label a {
    color: var(--primary);
    display: inline-flex;
    border-bottom: 1px solid var(--primary);
    transition: var(--transition);
	font-size: 14px;
	font-weight: 500;
	font-stretch: normal;
	font-style: normal;
	letter-spacing: normal;
	text-align: left;
	line-height: 1;
}

.content .template.contact .form .checkbox-wrapper label a:hover {
    opacity: 0.7;
}

/* .content .template.contact .form input[type='checkbox'] + label::before {
    border-color: var(--primary);	
}  */

.content .template.contact .form [submit] {
    padding-left: 62px;
    padding-right: 62px;
    margin-top: 60px;
}

.content .template.contact .form .bot-container {
    margin-top: 30px;
} 


.content.news-article + footer {
	margin-top: 0; 
}

.listing.listing-button .button > span{
	color: white !important;
}

.listing.listing-button .button:hover > span{
	color: var(--primary) !important;
}

/******************************/
/********** 404 PAGE **********/
/******************************/

.content.not-found {
	padding: 50px 0px;
}

.content.not-found+footer {
	margin-top: 0;
}

.content.not-found .template .container {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.content.not-found h1 {
	font-size: 4.5rem;
	font-weight: 300;
	line-height: 1;
	margin-bottom: 15px;
}

.content.not-found p {
	font-size: 2.25rem;
	font-weight: 400;
	color: var(--darkblue);
	margin: 0;
}

.content.not-found a {
	margin-top: 60px;
}

.tns-item, 
.tns-item .legend, 
.tns-item .container, 
.tns-item .image.filter::after, 
.tns-item .image.filter::before, 
.tns-item img {
    backface-visibility: hidden;
    transform: translate3d(0, 0, 0);
    -webkit-backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
}