/******* START COLOUR VARIABLES *******/
:root {
    --primary-blue: #005AA9;
	--light-blue: #0088FF;
	--primary-pink: #EA0050;
	--dark-grey: #292929;
	--dark-grey-alt: #363636;
	--mid-grey: #929292;
	--light-grey: #E3E3E3;

	--animation-curve1: cubic-bezier(1,0,0,1);
	--animation-curve2: cubic-bezier(1,0,1,1);
}
/******* END COLOUR VARIABLES *******/

/******* START GENERAL STYLING *******/
.mobile {
	display: none;
}

html, body {
	font-family: "Open Sans", sans-serif;
	font-size: 14px;
	line-height: 1.45;
	margin: 0;
	-webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
	-webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
}

html {
	height: 100%;
}

body {
	min-height: 100%;
	position: relative;
}

*, ::before, ::after {
	box-sizing: border-box;
}

.page-content-wrapper {
	padding-top: 140px;
}

.counter-footer-spacer {
	margin-bottom: -45px;
}

.box-shadow-1 {
	box-shadow: 2px 3px 10px rgba(0,0,0,0.4);
}

.box-shadow-2 {
	box-shadow: 0px 0px 15px rgba(0,0,0,0.6);
}

.box-shadow-3 {
	box-shadow: 6px 6px 8px rgba(0,0,0,0.4);
}

.box-shadow-4 {
	box-shadow: 2px 2px 5px rgba(0,0,0,0.25);
}

.box-shadow-1, .box-shadow-2, .box-shadow-3, .box-shadow-4 {
	border-radius: 5px;
}

.filter-shadow-1 {
	filter: drop-shadow(2px 3px 10px rgba(0,0,0,0.4));
}

.filter-shadow-2 {
	filter: drop-shadow(0px 0px 15px rgba(0,0,0,0.6));
}

.filter-shadow-3 {
	filter: drop-shadow(6px 6px 8px rgba(0,0,0,0.4));
}

.filter-shadow-4 {
	filter: drop-shadow(2px 2px 5px rgba(0,0,0,0.25));
}
.exedy-pink {
    color: var(--primary-pink);
}
.bg-light-blue {
    background-color: #ebf6ff !important;
}
.cursor-pointer {
	cursor: pointer;
}
h1, h2, h3, h4, h5, h6 {
	font-family: Exo, sans-serif;
	font-style: italic;
	color: var(--primary-blue);
	text-transform: uppercase;
	line-height: 1.22;
}

h1 {
	font-size: 42px;
	font-weight: bold;
	margin-bottom: 30px;
}

h2 {
	font-size: 30px;
	font-weight: bold;
	margin-bottom: 25px;
}

h3 {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 25px;
}

h4 {
	font-size: 20px;
	font-weight: 800;
	margin-bottom: 25px;
}

h5 {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 15px;
}

h6 {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 15px;
}

input, select, textarea {
	border: 1px solid var(--mid-grey);
	border-radius: 3px;
	line-height: normal;
}

input, textarea {
	padding: 12px 15px;
}

select {
	padding: 11px 20px 11px 11px;
}

input:focus-visible, select:focus-visible, textarea:focus-visible {
	outline: none;
	border-color: var(--primary-blue);
}

button {
	transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.btn {
	font-family: Exo, sans-serif;
    padding: 6px 20px 5px;
    text-transform: uppercase;
    font-weight: bold;
    min-width: 160px;
}

.btn-primary, .btn-bordered-blue:hover, .btn-bordered-blue:focus, .btn-bordered-blue:active, .btn-bordered-blue.active {
	background-color: var(--primary-blue) !important;
	border-color: var(--primary-blue) !important;
	color: #FFF !important;
}

.btn-secondary, .btn-bordered-pink:hover, .btn-bordered-pink:focus, .btn-bordered-pink:active, .btn-bordered-pink.active {
	background-color: var(--primary-pink) !important;
	border-color: var(--primary-pink) !important;
	color: #FFF !important;
}

.btn-bordered-blue {
	border: 2px solid var(--primary-blue);
	color: var(--primary-blue);
}

.btn-bordered-pink {
	border: 2px solid var(--primary-pink);
	color: var(--primary-blue);
}

.btn.btn-bordered-blue, .btn.btn-bordered-pink {
	padding-top: 5px;
	padding-bottom: 4px;
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active {
	background-color: var(--light-blue) !important;
	border-color: var(--light-blue) !important;
	color: #FFF !important;
}

.btn-secondary:hover, .btn-secondary:focus, .btn-secondary:active, .btn-secondary.active {
	background-color: var(--dark-grey) !important;
	border-color: var(--dark-grey) !important;
	color: #FFF !important;
}

.btn.btn-narrow {
	min-width: auto;
	padding-left: 13px;
	padding-right: 13px;
}

a {
	color: var(--primary-blue);
	font-weight: 600;
	transition: all .15s linear;
}

a:hover {
	color: var(--light-blue);
}

.field {
	margin-bottom: 15px;
}

.field label {
	display: block;
    margin-bottom: 3px;
}

.field input, .field select, .field textarea {
	width: 100%;
}

.info-block {
	position: relative;
	vertical-align: top;
	padding: 5px 0 0 48px;
	margin-bottom: 15px;
}

.info-block .icon {
	position: absolute;
	top: 0;
	left: 0;
	width: 35px;
	height: 35px;
	border-radius: 50%;
	background-color: var(--primary-pink);
	color: #FFF;
	display: flex;
    align-items: center;
    justify-content: center;
    font-size: 19px;
}

.info-block h6 {
	font-size: 14px;
	font-style: normal;
	font-weight: 600;
	margin: 4px 0 8px;
}

.styled-list-1,
.styled-list-2 {
	list-style: none;
	padding-left: 40px;
}

.styled-list-1 li,
.styled-list-2 li {
	position: relative;
	margin-bottom: 8px;
}

.styled-list-1 li::before,
.styled-list-2 li::before {
	content: "\f0da";
	font-family: "Font Awesome 6 Free";
	position: absolute;
	left: -20px;
	top: -1px;
	font-size: 1.3em;
	line-height: 1.3em;
	font-weight: bold;
}

.styled-list-1 li::before {
	color: var(--primary-blue);
}

.styled-list-2 li::before {
	color: var(--primary-pink);
}

.blue-section .styled-list-1 li::before,
.blue-section .styled-list-2 li::before {
	color: #FFF;
}

.background-blur {
	position: relative;
	border-radius: 5px;
	border: 1px solid var(--light-grey);
	z-index: 1;
}

.background-blur::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
	box-shadow: inset 0 0 15px 2px rgba(255,255,255,0.25);
	border-radius: 5px;
	z-index: -1;
}

.blue-section .background-blur {
	border-color: rgba(255,255,255,0.4);
	background-color: rgba(255,255,255,0.05);
}
/******* END GENERAL STYLING *******/

/******* START HEADER *******/
header {
	position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    background-color: #FFF;
	border-top: 3px solid var(--primary-blue);
	padding-bottom: 15px;
	transition: padding-bottom .15s linear;
	z-index: 10;
}

.header-top {
	position: relative;
	height: 90px;
	padding: 10px 55px 50px;
	transition: height .15s linear, padding .15s linear;
}

header .site-logo {
	display: inline-block;
	position: relative;
	z-index: 1;
}

header .site-logo img {
	max-height: 75px;
	transition: max-height .15s linear;
}

.header-functions {
	position: absolute;
    right: 45px;
    top: 27px;
	transition: top .15s linear;
}

.header-functions button {
	margin-right: 6px;
}

.header-functions > button:last-child {
	margin-right: 0;
}

header .search {
	display: inline-block;
	position: relative;
	margin-right: 15px;
	vertical-align: bottom;
}

header .search input {
	border-width: 0 0 2px;
    border-radius: 0;
    border-color: var(--primary-blue);
	font-size: 12px;
	width: 180px;
	padding: 4px 30px 4px 0;
}

header .search button {
	color: var(--primary-blue);
	background-color: transparent;
    outline: none;
    border: none;
    font-size: medium;
	line-height: normal;
    position: absolute;
    right: 0;
    bottom: 6px;
	padding: 0;
}

.mobile-nav {
	border-bottom: 5px solid var(--primary-blue);
	position: absolute;
    width: 100%;
	height: 100%;
    left: 0;
    bottom: 8px;
}

.mobile-nav .cart-button {
	display: block;
	font-size: 24px;
	color: var(--primary-blue);
	padding: 3px;
	position: absolute;
    right: 15px;
    top: 54%;
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

label.navIcon {
	width: 22px;
    height: 4px;
    background-color: var(--primary-blue);
    position: absolute;
    left: 15px;
    top: 56%;
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
    cursor: pointer;
    transition: all 0.5s var(--animation-curve1);
    border-radius: 2px;
}

label.navIcon::before,
label.navIcon::after {
	content: "";
	width: 22px;
	height: 4px;
	background-color: var(--primary-blue);
	position: absolute;
	left: 0;
	display: block;
	transform: rotateZ(0deg);
	transition: all .6s var(--animation-curve1);
	border-radius: 2px;
}

label.navIcon::before {
	top: -7px;
	transform-origin: left top;
}

label.navIcon::after {
	bottom: -7px;
	transform-origin: left bottom;
}

#navButton:checked ~ label::before {
	background-color: var(--primary-pink);
	transform: rotateZ(43deg);
}

#navButton:checked ~ label::after {
	background-color: var(--primary-pink);
	transform: rotateZ(-43deg);
}

#navButton:checked ~ label {
	background-color: #FFF;
}

#navButton {
	visibility: hidden;
}

header.collapsed {
	padding-bottom: 2px;
    box-shadow: 0 1px 15px rgba(0, 0, 0, 0.3);
}

header.collapsed nav .active:after {
	color: #FFF;
	bottom: -25px;
	font-size: 3em;
	filter: drop-shadow(0px 3px 4px rgba(0, 0, 0, 0.2));
}

header.collapsed .header-top {
    height: 52px;
    padding: 5px 55px;
}

header.collapsed .site-logo img {
	max-height: 40px;
}

header.collapsed .header-functions {
	top: 9px;
}
/******* END HEADER *******/

/******* START FOOTER *******/
.clear-footer {
	height: 290px;
}

footer {
	position: absolute;
    bottom: 0;
	left: 0;
	width: 100%;
    min-height: 250px;
    background-color: var(--dark-grey);
	padding: 40px 40px 85px;
	font-size: 12px;
    color: #FFF;
	z-index: 1;
}

footer:after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: url(../images/logos/X-motif-white.svg) no-repeat left -20px top -20px;
    background-size: auto 125%;
    opacity: 0.03;
    overflow: hidden;
    z-index: -1;
}

footer h1, footer h2, footer h3, footer h4, footer h5, footer h6, footer a {
	color: #FFF;
}

.footer-bottom {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	font-size: 0;
	padding: 0 40px 35px;
}

.footer-bottom p {
	font-size: 12px;
	margin: 0;
}

.footer-bottom > div {
	display: inline-block;
	width: 50%;
	vertical-align: bottom;
}

.footer-bottom > div:last-child {
	text-align: right;
}

footer .back-to-top {
	position: absolute;
    top: 40px;
    right: 40px;
	width: 45px;
    height: 45px;
    border-radius: 50%;
    background-color: var(--primary-pink);
    font-size: 24px;
	color: #FFF;
	border: none;
	transition: all .2s linear;
	z-index: 1;
}

footer .back-to-top:hover {
	background-color: #FF5B95;
}

footer .info-block {
	display: inline-block;
	width: 280px;
	max-width: 28%;
	margin-right: 15px;
}

footer .info-block p {
	line-height: 2;
}
/******* END FOOTER *******/

/******* START NAV *******/
nav {
	position: relative;
	background-color: var(--primary-blue);
	font-family: "Exo", sans-serif;
	text-align: center;
}

nav a {
	display: inline-block;
	position: relative;
	font-size: 14px;
	font-weight: bold;
	color: #FFF;
	text-align: center;
	padding: 8px 16px 6px;
	text-decoration: none;
	text-transform: uppercase;
	vertical-align: top;
}

nav .subnav {
	display: inline-block;
	vertical-align: top;
    margin-bottom: 0;
}

nav .subnav .subnavbtn {
	position: relative;
	font-size: 14px;
	font-weight: bold;
	border: none;
	outline: none;
	color: #FFF;
	padding: 8px 16px 6px;
	background-color: inherit;
	font-family: inherit;
	text-transform: uppercase;
	margin: 0;
}

nav a:hover, nav .subnav:hover .subnavbtn {
	color: #FFF;
	background-color: var(--primary-pink);
}

nav .subnav-content {
	display: none;
	position: absolute;
	left: 0;
	background-color: var(--primary-pink);
	width: 100%;
	text-align: center;
	z-index: 5;
}

nav .subnav-content a {
	display: inline-block;
	color: white;
	text-decoration: none;
	vertical-align: top;
}

nav .subnav-content a:hover {
	background-color: #eee;
	color: black;
}

nav .subnav:hover .subnav-content {
	display: block;
}

nav .active:after {
	content: "\f0d7";
	font-family: "Font Awesome 6 Free";
	color: var(--primary-blue);
	position: absolute;
    bottom: -19px;
    left: 50%;
    font-size: 2.5em;
	line-height: normal;
    -ms-transform: translateX(-50%);
	transform: translateX(-50%);
	pointer-events: none;
	transition: all .3s linear;
	z-index: -1;
}
/******* END NAV *******/

/******* START MOBILE NAV *******/
#navLinks {
	width: calc(100% + 4px);
    height: calc(100% - 82px);
    position: fixed;
    left: -105%;
    bottom: -2px;
    background-color: var(--dark-grey);
	padding-bottom: 60px;
    transition: left 0.8s ease;
	overflow: auto;
	z-index: 9999;
}

#navLinks.active {
	left: -2px;
}

#navLinks .fixedButtonBar {
	display: flex;
    gap: 15px;
    position: fixed;
    width: 100%;
    bottom: 0;
    background-color: #FFF;
	padding: 10px 20px;
    z-index: 1;
}

#navLinks .fixedButtonBar button {
	flex: 1 1 0;
}

#navLinks a,
#navLinks .subnavbtn {
	position: relative;
    font-weight: normal;
    display: block;
    color: #FFF;
    font-size: 16px;
    text-align: left;
	text-decoration: none;
    padding-top: 15px;
	padding-bottom: 15px;
	background-color: transparent;
    width: 100%;
}

#navLinks a {
	padding-left: 22px;
	padding-right: 45px;
}

#navLinks > a,
#navLinks .subnav {
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

#navLinks .subnavbtn {
	border: none;
	padding-right: 22px;
	padding-left: 50px;
}

#navLinks .subnav-content {
	height: 0;
	overflow: hidden;
    transition: height .3s ease;
}

#navLinks .subnav-content a {
	padding-left: 50px;
}

#navLinks a::after,
#navLinks .subnavbtn::after {
	font-family: "Font Awesome 6 Free";
    font-weight: 600;
    font-size: 16px;
    position: absolute;
	top: 50%;
	-ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

#navLinks a::after {
	content: "\f054";
	right: 22px;
}

#navLinks .subnavbtn::after {
	content: "\f078";
	left: 22px;
    margin-bottom: 0;
}

#navLinks .subnavbtn.expanded::after {
	content: "\f077";
}
/******* END MOBILE NAV *******/

/******* START PAGE TITLE SECTIONS *******/
.page-title-section {

}

.page-title-section img.lower-overlapped {
	position: relative;
	display: block;
	max-width: 100%;
    margin-bottom: -80px;
    z-index: 3;
}
/******* END PAGE TITLE SECTIONS *******/

/******* START PARALLAX BANNER *******/
.parallax-banner {
	position: relative;
	height: 35vh;
	overflow: hidden;
	z-index: 1;
}

.parallax-banner .image-wrapper {
	position: absolute;
	width: 100%;
	height: calc(100% + 100px);
	left: 0;
	top: -50px;
	overflow: hidden;
	z-index: -1;
}

.parallax-banner .image-wrapper img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100.2%;
	height: 100.2%;
	object-fit: cover;
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.parallax-banner.dark .image-wrapper::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background-color: rgba(0,0,0,0.3);
}

.parallax-banner.dark * {
	color: #FFF;
}
/******* END PARALLAX BANNER *******/

/******* START GENERIC SLIDER STYLING *******/
.slider-section {
	overflow: hidden;
}

.slick-slider {
	margin-bottom: 60px;
}

.slick-nav {
	position: absolute;
    bottom: -50px;
    left: 50%;
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
}

.slick-arrow {
	position: relative;
    display: inline-block;
	border: none;
    background-color: transparent;
    font-size: 0;
	line-height: 0;
    width: 22px;
    height: 26px;
	padding: 0;
}

.slick-arrow:after {
	content: "";
	font-family: 'Font Awesome 6 Free';
	font-size: 21px;
	color: var(--primary-blue);
	font-weight: 900;
	position: absolute;
    top: 50%;
    left: 50%;
	-ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.slick-arrow.slick-prev:after {
	content: "\f104";
}

.slick-arrow.slick-next:after {
	content: "\f105";
}

.slick-dots {
	display: inline-block;
    list-style: none;
    padding: 0;
    margin: 0 6px;
}

.slick-dots li {
	display: inline-block;
}

.slick-dots li button {
	position: relative;
	border: none;
    background-color: transparent;
    font-size: 0;
    line-height: 0;
    padding: 0;
    width: 18px;
    height: 18px;
}

.slick-dots li button:after {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	border: 1px solid var(--primary-blue);
	position: absolute;
	top: 50%;
    left: 50%;
	-ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.slick-dots li.slick-active button:after {
	background-color: var(--primary-blue);
}
/******* END GENERIC SLIDER STYLING *******/

/******* START HOME BANNER SLIDER *******/
.home-banner-slider,
.home-banner-slider .slick-Track,
.home-banner-slider .slide {
	height: 400px;

}

.home-banner-outer .container {
	max-width: 100%;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0;
	margin-right: 0;
}

.home-banner-outer .row {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.home-banner-outer .col {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.home-banner-outer {
	height: calc(380px + 136px) !important;
    background-color: var(--primary-blue);
    overflow: hidden !important;
	margin-bottom: 30px;
    margin-top: 0 !important;
	padding-top: 136px !important;
	width: 100vw !important;
	position: relative;
	left: 0;
	right: 0;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.home-banner-slider {
	height: 380px !important;
    background-color: #FFF;
	z-index: 1;
	position: relative;
}

.home-banner-slider:before,
.home-banner-slider:after,
.home-banner-slider .image-wrapper.full-cover:before,
.home-banner-slider .image-wrapper.full-cover:after {
	content: "";
	width: 248px;
	height: 100%;
	position: absolute;
	top: 0;
}

.home-banner-slider:before,
.home-banner-slider:after {
	z-index: -1;
}

.home-banner-slider .slide {
	position: relative;
}

.home-banner-slider .image-wrapper.full-cover:before,
.home-banner-slider .image-wrapper.full-cover:after {
	z-index: 1;
}

.home-banner-slider:before,
.home-banner-slider .image-wrapper.full-cover:before {
	left: 0;
	background: linear-gradient(123deg, rgba(0,90,169,1) 0%, rgba(0,90,169,1) 50%, rgba(255,255,255,0) 50%);
}

.home-banner-slider:after,
.home-banner-slider .image-wrapper.full-cover:after {
	right: 0;
	background: linear-gradient(123deg, rgba(255,255,255,0) 50%, rgba(0,90,169,1) 50%, rgba(0,90,169,1) 100%);
}

.home-banner-slider .image-wrapper {
	height: 100%;
    width: 100%;
    position: relative;
    overflow: hidden;
}

.home-banner-slider .image-wrapper img {
	position: absolute;
    top: 50%;
	left: 15px;
	-ms-transform: translateY(-50%);
    transform: translateY(-50%);
    max-width: 55%;
	max-height: 95%;
}

.home-banner-slider .image-wrapper.full-cover img {
	left: 50%;
	-ms-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	object-fit: cover;
}

.home-banner-slider .text-block {
	position: absolute;
	top: 30px;
	right: 50px;
	width: 45%;
	height: 77%;
	background-color: rgba(255,255,255,0.6);
	border-radius: 10px;
	padding: 45px 45px 80px;
	text-align: right;
	overflow: hidden;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
    z-index: 1;
}

.home-banner-slider .text-block:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    box-shadow: inset 0 0 55px rgba(255,255,255,0.5);
    z-index: -1;
}

.home-banner-slider .text-block h2 {
	margin-bottom: 15px;
}

.home-banner-slider .text-block p {
	font-size: 22px;
    font-weight: 600;
}

.home-banner-slider .text-block.more-content p {
	font-size: larger;
}

.home-banner-slider .text-block button {
	margin-top: 10px;
}

.home-banner-slider .slick-nav {
	bottom: 15px;
    left: auto;
	right: 20px;
	-ms-transform: none;
	transform: none;
    z-index: 2;
}

.home-banner-slider .slick-arrow:after {
	color: #FFF;
}

.home-banner-slider .slick-dots li button:after {
	border-color: #FFF;
}

.home-banner-slider .slick-dots li.slick-active button:after {
	background-color: #FFF;
}
/******* END HOME BANNER SLIDER *******/

/******* START ACCORDION SECTIONS *******/
.accordion-outer {
	margin-bottom: 20px;
}

.accordion-toggle {
    position: relative;
    font-family: Exo, sans-serif;
    font-size: 16px;
    font-weight: bold;
	color: var(--primary-blue);
	cursor: pointer;
    padding: 15px 100px 15px 20px;
}

.accordion-toggle::after {
	content: "\f107";
    font-family: "Font Awesome 6 Free";
    color: var(--primary-pink);
    position: absolute;
    right: 20px;
    top: 16px;
    font-size: 22px;
    line-height: 22px;
    font-weight: bold;
}

.accordion-toggle.active::after {
    content: "\f106";
}

.accordion-content {
    position: relative;
    height: 0;
    overflow: hidden;
    transition: height .3s ease-in-out;
}

.accordion-content .inner {
	padding: 10px 20px 20px;
}

.accordion-content p {
	color: var(--dark-grey);
	font-weight: 600;
}

.accordion-content .inner > p:last-child {
	margin-bottom: 0;
}

.blue-section .accordion-toggle,
.blue-section .accordion-toggle::after,
.blue-section .accordion-content p {
	color: #FFF;
}
/******* END ACCORDION SECTIONS *******/

/******* START IMAGE LINK BLOCKS *******/
.image-link-blocks {
	margin-bottom: 80px;
}

@media only screen and (min-width: 992px) {
	.image-link-blocks {
		margin-top: -100px !important;
	}
}

.image-link-blocks .link-block {
	display: block;
	position: relative;
	height: 300px;
	border-radius: 5px;
	box-shadow: 2px 3px 10px rgba(0,0,0,0.5);
	overflow: hidden;
}

.image-link-blocks .link-block.tall-block {
	height: 622px;
}

.image-link-blocks .link-block .image-wrapper {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.image-link-blocks .link-block .image-wrapper img {
	position: absolute;
	top: 50%;
	left: 50%;
	-ms-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	width: 100.5%;
	height: 100.5%;
	object-fit: cover;
	transition: all .3s ease-in-out;
}

.image-link-blocks .link-block:hover .image-wrapper img {
	width: 110%;
	height: 110%;
}

.image-link-blocks .link-block .icon {
	position: relative;
	display: inline-block;
    width: 100px;
    height: 100px;
	background: linear-gradient(135deg, rgba(234,0,80,1) 0%, rgba(234,0,80,1) 50%, rgba(255,255,255,0) 50%);
	z-index: 1;
}

.image-link-blocks .link-block .icon i {
	position: absolute;
	top: 15px;
	left: 15px;
	font-size: 28px;
	color: #FFF;
}

.image-link-blocks .link-block .title {
	position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    min-height: 65px;
	color: #FFF;
	background-color: rgba(0,90,169,0.9);
	padding: 8px 55px 8px 30px;
    margin: 0;
	z-index: 1;
	transition: all .3s linear;
}

.image-link-blocks .link-block:hover .title {
	background-color: var(--primary-blue);
}

.image-link-blocks .link-block .title:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
    z-index: -1;
}

.image-link-blocks .link-block .title i {
	position: absolute;
    right: 25px;
    top: 50%;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    font-size: 22px;
}
/******* END IMAGE LINK BLOCKS *******/

/******* START BLUE / LIGHT GREY / X-MOTIF SECTION *******/
.blue-section {
	background-color: var(--primary-blue);
	padding: 35px 0;
	color: #FFF;
}

.lightGrey-section {
	background-color: #F7F7F7;
	padding: 35px 0;
}

.with-motif,
.with-motif-right {
	position: relative;
	z-index: 1;
}

.with-motif::after,
.with-motif-right::after {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-image: url('../images/logos/X-motif-white.svg');
	background-repeat: no-repeat;
	background-position-y: center;
	background-size: auto 130%;
	opacity: 0.06;
	overflow: hidden;
	z-index: -1;
}

.with-motif::after {
	background-position-x: left;
}

.with-motif-right::after {
	background-position-x: right;
}

.lightGrey-section.with-motif::after,
.lightGrey-section.with-motif-right::after {
	opacity: 1;
}

.blue-section h1, .blue-section h2, .blue-section h3, .blue-section h4, .blue-section h5, .blue-section h6 {
	color: #FFF;
}

.blue-section a {
	color: #FFF;
}

.blue-section a:hover {
	color: var(--light-blue);
}
/******* END BLUE X-MOTIF SECTION *******/

/******* START PROMO SECTION *******/
.promo-section {
	margin-top: 160px;
}

.promo-section .promo-image {
	margin: -110px 0 40px;
	max-width: 100%;
	box-shadow: 2px 3px 10px rgba(0,0,0,0.5);
	border-radius: 5px;
}

.promo-section iframe.promo-image {
	width: 100%;
    height: 500px;
}

.promo-section .promo-disclaimer {
	font-size: 12px;
}

.promo-section .promo-disclaimer a {
	text-decoration: none;
}

.promo-section .promo-disclaimer a {
	text-decoration: none;
}
/******* END PROMO SECTION *******/

/******* START MEDIA RELEASE SECTION *******/
.media-releases .item {
	position: relative;
	min-height: 450px;
	border-bottom: 2px solid var(--light-grey);
	padding: 80px 0;
}

.media-releases .item-wrapper > .item:last-child {
	border-bottom: none;
}

.media-releases .date {
	position: absolute;
	top: -18px;
	left: 45px;
	width: 70px;
	height: 70px;
	font-family: Exo, sans-serif;
	color: #FFF;
	text-align: center;
	background-color: var(--primary-blue);
	border-radius: 2px;
	padding-top: 5px;
	z-index: 1;
}

.media-releases .date .day {
	font-size: 48px;
    line-height: 44px;
    font-weight: 500;
}

.media-releases .date .month {
	font-size: 18px;
    line-height: 16px;
    font-weight: 800;
	text-transform: uppercase;
}

.media-releases .image-wrapper {
	position: relative;
	max-height: 320px;
	max-width: 35%;
	margin-bottom: 20px;
}

.media-releases .item-wrapper > .item:nth-child(odd) .image-wrapper {
	float: left;
    margin-right: 75px;
}

.media-releases .item-wrapper > .item:nth-child(even) .image-wrapper {
	float: right;
    margin-left: 75px;
}

.media-releases .image-wrapper > img {
	max-width: 100%;
	max-height: 100%;
	filter: drop-shadow(2px 4px 6px rgba(0,0,0,0.6));
	border-radius: 5px;
}

.media-releases .text-box {
	padding-top: 10px;
}

.media-releases .buttons {
	text-align: right;
	padding-top: 15px;
}
/******* END MEDIA RELEASE SECTION *******/

/******* START TABBING SECTIONS *******/
.tab-buttons {
	display: grid;
	grid-auto-flow: column;
	gap: 10px;
	margin-bottom: 20px;
}

.tab-buttons .btn {
	font-size: 12px;
    padding-left: 10px;
    padding-right: 10px;
	min-width: auto;
}

.tab-content {
	height: 0;
	opacity: 0;
	visibility: hidden;
	overflow: hidden;
	transition: height 0s, visibility 0s, opacity .5s linear .05s, overflow .5s linear .05s;
}

.tab-content.expanded {
	height: auto;
	opacity: 1;
	visibility: visible;
    overflow: visible;
}
/******* END TABBING SECTIONS *******/

/******* START CATALOGUE SECTIONS *******/
.catalogue-section .filter-block {
	height: 300px;
	font-size: 12px;
	overflow: hidden;
	margin-bottom: 15px;
	display: grid;
    grid-auto-flow: row;
	grid-template-rows: max-content;
}

.catalogue-section .filter-block input,
.catalogue-section .filter-block select {
	border-color: var(--light-grey);
	border-width: 1px;
	width: 100%;
	padding: 8px 10px;
	border-radius: 2px 2px 0 0;
}

.catalogue-section .filter-block input[type=search] {
	padding-right: 30px;
	background-image: url('../images/icons/magnifying-glass-solid.svg');
	background-repeat: no-repeat;
	background-position: center right 7px;
	background-size: 1.3em;
}

.catalogue-section .filter-block-inner {
	overflow: hidden auto;
	scrollbar-width: thin;
	border-radius: 2px;
	background-color: #f9f9f9;
	border: 1px solid var(--light-grey);
	padding-top: 5px;
}

.catalogue-section .filter-block input + .filter-block-inner {
	border-top: none;
}

.catalogue-section .filter-list {
	list-style: none;
    padding-left: 10px;
}

.catalogue-section .filter-list li {
	cursor: default;
}
.catalogue-section .filter-list .active {
    background-color: var(--primary-blue);
    font-weight: bold;
    color: white;
    padding-left: 0;
}
.catalogue-section .filter-list .disabled {
    pointer-events:none;
    opacity:0.2;
}
/******* END CATALOGUE SECTIONS *******/

/******* START PARTNER LOGO SECTION *******/
ul.partner-logos {
	list-style: none;
	font-size: 0;
	padding: 0;
	margin: 0;
}

.partner-logos .logo {
	display: inline-flex;
	align-items: center;
    justify-content: center;
    vertical-align: top;
	width: 80px;
	height: 80px;
	margin: 0 7px;
}

.partner-logos .logo img {
	max-width: 100%;
	max-height: 70%;
}
/******* END PARTNER LOGO SECTION *******/

/******* START LEGEND MARKERS *******/
ul.legend {
	list-style: none;
	padding: 0;
	margin: 0;
}

ul.legend li {
	position: relative;
	font-family: Exo, sans-serif;
	font-weight: bold;
    font-style: italic;
    text-transform: uppercase;
    line-height: 1.22;
	padding-left: 30px;
	margin-bottom: 5px;
}

ul.legend li::after {
	content: "";
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background-color: #FFF;
	position: absolute;
	left: 0;
	top: 45%;
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	border: 1px solid rgba(0,0,0,0.2);
}

.blue-section ul.legend li::after {
	border-color: rgba(255,255,255,0.4);
}

ul.legend li.pink-dot::after {
	background-color: var(--primary-pink);
}

ul.legend li.blue-dot::after {
	background-color: var(--primary-blue);
}

ul.legend li.blue-dot::after {
	background-color: var(--primary-blue);
}

ul.legend.right-aligned {
	text-align: right;
}

ul.legend.right-aligned li {
	padding-left: 0;
	padding-right: 30px;
}

ul.legend.right-aligned li::after {
	left: auto;
	right: 0;
}
/******* END LEGEND MARKERS *******/

/******* START BRAND INFO BLOCKS *******/
.brand-info-blocks {
	display: grid;
	grid-auto-flow: column;
	grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
    grid-gap: 20px;
}

.brand-item {
	position: relative;
	display: grid;
    border: 1px solid var(--light-grey);
    background-color: #FFF;
	min-height: 420px;
    border-radius: 5px;
    padding-top: 5px;
    box-shadow: 4px 5px 15px rgba(0, 0, 0, 0.15);
	overflow: hidden;
	z-index: 1;
}

.brand-info-blocks .brand-item {
	grid-template-columns: 1fr;
    align-content: start;
}

.brand-item .background-image {
	position: absolute;
    top: 130px;
    left: 50%;
    transform: translateX(-50%);
    width: 280px;
    height: auto;
    max-width: calc(100% - 40px);
    max-height: 300px;
    z-index: -1;
}

.brand-item .background-image.small-image {
	width: 220px;
}

.brand-item .logo {
	display: flex;
    height: 130px;
    align-items: center;
    justify-content: center;
	padding: 0 10px;
}

.brand-item .logo img {
	max-width: 100%;
    max-height: 100%;
}

.brand-item .title {
	text-align: center;
	padding: 15px 20px 0;
}

.brand-item .text-block {
	position: relative;
	align-self: end;
	color: #000;
    font-weight: 500;
    border-radius: 0 0 5px 5px;
    background-color: rgba(255,255,255,0.85);
	padding: 5px 20px 20px;
}

.brand-item .text-block::before {
    content: "";
    height: 70px;
    width: 100%;
    position: absolute;
    top: -70px;
    left: 0;
    background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.85) 100%);
}

.brand-item .text-block.no-fade::before {
	content: none;
}

.brand-item .text-block > p:last-child {
	margin-bottom: 0;
}
/******* END BRAND INFO BLOCKS *******/

/******* START BRANDS SLIDER *******/
.brands-slider {
	margin-bottom: 60px;
}

.brands-slider .slick-list {
	overflow: visible;
}

.brands-slider .slide {
	padding: 0 10px;
}

.brands-slider .brand-item {
	height: 550px;
}
/******* END BRANDS SLIDER *******/

/******* START AWARDS SLIDER *******/
.awards-slider .slide {

}
/******* END AWARDS SLIDER *******/

/******* START RESPONSIVE STYLING *******/
@media only screen and (max-width: 1199px) {
	.home-banner-slider .text-block {
		width: 60%;
	}
	.promo-section {
		margin-top: 0;
	}
	.promo-section .promo-image {
		margin-top: 0;
	}
	.promo-section iframe.promo-image {
		height: 400px;
	}
	.brand-item .logo {
		height: 80px;
	}
	.brand-item .background-image {
		top: 80px;
	}
	.brands-slider .brand-item {
		width: 350px;
	}
}

@media only screen and (max-width: 991px) {
	header .desktop {
		display: none;
	}
	header .mobile {
		display: block;
	}
	.header-top {
		height: 75px;
		padding: 7px 0;
		text-align: center;
	}
	header .site-logo img {
		max-height: 60px;
	}
	.header-functions {
		display:none;
	}
	.page-content-wrapper {
		padding-top: 100px;
	}
	.promo-section .desktop {
		display: none;
	}
	.home-banner-outer {
		margin-bottom: 10px;
	}
	.image-link-blocks {
		margin-bottom: 30px;
	}
	.image-link-blocks .link-block,
	.image-link-blocks .link-block.tall-block {
		height: 250px;
	}
	.promo-section .mobile {
		display: block;
	}
	.media-releases .item {
		min-height: auto;
		padding: 40px 0 30px;
	}
	.media-releases .image-wrapper {
		max-width: 50%;
	}
	.media-releases .item-wrapper > .item:nth-child(odd) .image-wrapper {
		margin-right: 25px;
	}
	.media-releases .item-wrapper > .item:nth-child(even) .image-wrapper {
		margin-left: 25px;
	}
	.parallax-banner {
		height: 30vh;
	}
	.brand-info-blocks {
		grid-auto-flow: row;
		grid-template-columns: none;
	}
	.brand-info-blocks .brand-item {
		min-height: auto;
	}
}

@media only screen and (max-width: 800px) {
	.home-banner-slider .text-block {
		width: 70%;
		padding: 30px 30px 80px;
	}
}

@media only screen and (max-width: 767px) {
	.clear-footer {
		height: 30px;
	}
	footer {
		position: relative;
		inset: auto;
	}
	footer .info-block {
		display: block;
		width: auto;
		max-width: none;
		padding-right: 60px;
		margin-right: 0;
	}
	footer .info-block p {
		line-height: 1.5;
	}
	.counter-footer-spacer {
		margin-bottom: -35px;
	}
	.info-block {
		padding: 0 0 0 40px;
		margin-bottom: 20px;
	}
	.info-block .icon {
		width: 30px;
		height: 30px;
		font-size: 16px;
	}
	.info-block h6 {
		margin-bottom: 5px;
	}
	.home-banner-outer {
		background-color: #FFF;
		height: auto !important;
		padding-top: 100px !important;
		margin-bottom: 20px;
	}
	.home-banner-slider {
		height: 400px !important;
	}
	.home-banner-slider:before,
	.home-banner-slider .image-wrapper.full-cover:before {
		background: none;
	}
	.home-banner-slider .image-wrapper img {
		left: 5px;
		max-width: 85%;
	}
	.home-banner-slider .text-block:before {
		-webkit-backdrop-filter: blur(2px);
		backdrop-filter: blur(2px);
	}
	.with-motif::after,
	.with-motif-right::after {
		content: none;
	}
	.tab-buttons {
		display: flex;
	}
	.tab-buttons.mobile-4button-wrap {
		display: grid;
		grid-auto-flow: revert;
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}
	.tab-buttons .btn {
		font-size: 10px;
		padding-left: 2px;
		padding-right: 2px;
		flex-basis: 0;
		flex-grow: 1;
		flex-shrink: 1;
	}
	.page-title-section {
		text-align: center;
	}
}

@media only screen and (max-width: 600px) {
	h1 {
		font-size: 28px;
		font-weight: 600;
		margin-bottom: 30px;
	}
	h2 {
		font-size: 24px;
		font-weight: 600;
		margin-bottom: 20px;
	}
	h3 {
		font-size: 20px;
		font-weight: 600;
		margin-bottom: 20px;
	}
	h4 {
		font-size: 16px;
		font-weight: bold;
		margin-bottom: 20px;
	}
	h5 {
		font-size: 16px;
		font-weight: 600;
		margin-bottom: 12px;
	}
	h6 {
		font-size: 14px;
		font-weight: bold;
		margin-bottom: 12px;
	}
	.home-banner-slider .text-block {
		top: 15px;
		height: calc(100% - 70px);
		padding: 20px 20px 80px;
	}
	.home-banner-slider .text-block.more-content {
		width: calc(100% - 30px);
	}
	.home-banner-slider .text-block p {
		font-size: 18px;
	}
	.image-link-blocks .link-block,
	.image-link-blocks .link-block.tall-block {
		height: 200px;
	}
	.image-link-blocks .link-block .icon {
		width: 70px;
		height: 70px;
	}
	.image-link-blocks .link-block .icon i {
		top: 11px;
		left: 11px;
		font-size: 20px;
	}
	.image-link-blocks .link-block .title {
		font-size: 16px;
		font-weight: bold;
		min-height: 48px;
		padding: 5px 40px 5px 15px;
	}
	.image-link-blocks .link-block .title i {
		right: 15px;
		font-size: 16px;
	}
	.media-releases .image-wrapper,
	.media-releases .item-wrapper > .item:nth-child(odd) .image-wrapper,
	.media-releases .item-wrapper > .item:nth-child(even) .image-wrapper {
		margin: 0 0 20px;
		float: none;
		max-width: none;
	}
	.media-releases .date {
		top: -10px;
		left: 20px;
	}
}

@media only screen and (max-width: 575px) {
	footer {
		padding: 25px 10px;
	}
	footer .back-to-top {
		top: 25px;
		right: 10px;
		background-color: var(--primary-pink) !important;
		color: #FFF !important;
	}
	.footer-bottom {
		position: static;
		padding: 0;
		margin-top: 40px;
	}
	.footer-bottom > div,
	.footer-bottom > div:last-child {
		display: block;
		width: auto;
		text-align: center;
		margin-top: 15px;
	}
	.catalogue-section .filter-block {
		height: auto;
	}
	.catalogue-section .filter-block-inner {
		max-height: 100px;
	}
}

@media only screen and (max-width: 500px) {
	.awards-slider .slide img {
		width: calc(100vw - 50px);
	}
}

@media only screen and (max-width: 410px) {
	.brands-slider .brand-item {
		width: calc(100vw - 60px);
		height: 450px;
	}
	.brands-slider .brand-item .text-block {
		font-size: 12px;
	}
}

@media only screen and (max-width: 350px) {
	.home-banner-slider .text-block.more-content p {
		font-size: medium;
	}
}
/******* END RESPONSIVE STYLING *******/

.part-number-table-col {
	height: 75vh;
	overflow-y: scroll;
}

.warranty{
    padding-top: 20px;
}

