body {
	font-family: "Archivo", sans-serif;
	color: #000;
	font-size: 16px;
}

@media only screen and (min-width: 992px) {
	body {
		font-size: 20px;
	}
}

/* #region Typography START */

.sr-only {
	display: none;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
	font-family: "Archivo", sans-serif;
	font-weight: bold;
}

h1, .h1 {
		font-size: 2.2em;
}
h2, .h2 {
		font-size: 1.8em;
}
h3, .h3 {
		font-size: 1.1em;
}
h3.soft-heading {
    font-weight: 300;
}

@media only screen and (min-width: 992px) {
	h1, .h1 {
		font-size: 3em;
	}

	h2, .h2 {
		font-size: 2.5em;
	}

	h3, .h3 {
		font-size: 2em;
	}
}

a {
	text-decoration: none;
	color: #000;
}

p {
	font-weight: 500;
	margin-bottom: 30px;
}

ul {
	margin-bottom: 30px;
}

@media only screen and (min-width: 576px) {
    .text-sm-left {
        text-align: left!important;
    }
	.text-sm-center {
		text-align: center!important;
	}
    .text-sm-right {
        text-align: right!important;
    }
}

@media only screen and (min-width: 768px) {
    .text-md-left {
        text-align: left!important;
    }
	.text-md-center {
		text-align: center!important;
	}
    .text-md-right {
        text-align: right!important;
    }
}

@media only screen and (min-width: 992px) {
    .text-lg-left {
        text-align: left!important;
    }
	.text-lg-center {
		text-align: center!important;
	}
    .text-lg-right {
        text-align: right!important;
    }
}

@media only screen and (min-width: 1200px) {
    .text-xl-left {
        text-align: left!important;
    }
	.text-xl-center {
		text-align: center!important;
	}
    .text-xl-right {
        text-align: right!important;
    }
}

.white-text, .white-text h1, .white-text h2, .white-text h3, .white-text h4, .white-text h6 {
	color: #FFF;
}

/* #endregion Typography END */

/* #region Rows START */

.row-theme-border {
	background-color: var(--row-theme-border-bg);
    border: 2px solid var(--themeColourP);
    border-radius: var(--row-theme-border-radius);
	padding: 30px;
	margin: 0;
}

@media only screen and (min-width: 992px) {
	.row-theme-border {
		padding: 45px 90px;
	}
}

/* No row to stop padding and margin for controls that need to add their own containers and rows */

.row.no-row {
    margin: 0;
}

.row.no-row > * {
	padding: 0;
}

/* #endregion Rows END */

/* #region Containers START */

.bg-theme-primary {
    background-color: var(--themeColourP);
}
.bg-theme-primary-50 {
    background-color: var(--themeColourP50);
}
.bg-theme-primary-80 {
    background-color: var(--themeColourP80);
}
.bg-theme-secondary {
    background-color: var(--themeColourS);
}
.bg-theme-secondary-50 {
    background-color: var(--themeColourS50);
}
.bg-theme-secondary-80 {
    background-color: var(--themeColourS80);
}
.bg-theme-tertiary {
    background-color: var(--themeColourT);
}
.bg-theme-tertiary-50 {
    background-color: var(--themeColourT50);
}
.bg-theme-tertiary-80 {
    background-color: var(--themeColourT80);
}

.bg-theme-white {
    background-color: var(--themeColourW);
}
.bg-theme-white-50 {
    background-color: var(--themeColourW50);
}
.bg-theme-white-80 {
    background-color: var(--themeColourW80);
}

/* #endregion Containers END */

/* #region Padding Extra START */

.p-20 { padding: 20px!important; }
.pt-20 { padding-top: 20px!important; }
.pe-20 { padding-right: 20px!important; }
.pb-20 { padding-bottom: 20px!important; }
.ps-20 { padding-left: 20px!important; }
.py-20 { padding-top: 20px!important; padding-bottom: 20px!important; }
.px-20 { padding-right: 20px!important; padding-left: 20px!important; }

.p-30 { padding: 30px!important; }
.pt-30 { padding-top: 30px!important; }
.pe-30 { padding-right: 30px!important; }
.pb-30 { padding-bottom: 30px!important; }
.ps-30 { padding-left: 30px!important; }
.py-30 { padding-top: 30px!important; padding-bottom: 30px!important; }
.px-30 { padding-right: 30px!important; padding-left: 30px!important; }

.p-40 { padding: 40px!important; }
.pt-40 { padding-top: 40px!important; }
.pe-40 { padding-right: 40px!important; }
.pb-40 { padding-bottom: 40px!important; }
.ps-40 { padding-left: 40px!important; }
.py-40 { padding-top: 40px!important; padding-bottom: 40px!important; }
.px-40 { padding-right: 40px!important; padding-left: 40px!important; }

.p-50 { padding: 50px!important; }
.pt-50 { padding-top: 50px!important; }
.pe-50 { padding-right: 50px!important; }
.pb-50 { padding-bottom: 50px!important; }
.ps-50 { padding-left: 50px!important; }
.py-50 { padding-top: 50px!important; padding-bottom: 50px!important; }
.px-50 { padding-right: 50px!important; padding-left: 50px!important; }

.p-75 { padding: 75px!important; }
.pt-75 { padding-top: 75px!important; }
.pe-75 { padding-right: 75px!important; }
.pb-75 { padding-bottom: 75px!important; }
.ps-75 { padding-left: 75px!important; }
.py-75 { padding-top: 75px!important; padding-bottom: 75px!important; }
.px-75 { padding-right: 75px!important; padding-left: 75px!important; }

.p-100 { padding: 100px!important; }
.pt-100 { padding-top: 100px!important; }
.pe-100 { padding-right: 100px!important; }
.pb-100 { padding-bottom: 100px!important; }
.ps-100 { padding-left: 100px!important; }
.py-100 { padding-top: 100px!important; padding-bottom: 100px!important; }
.px-100 { padding-right: 100px!important; padding-left: 100px!important; }

.p-150 { padding: 150px!important; }
.pt-150 { padding-top: 150px!important; }
.pe-150 { padding-right: 150px!important; }
.pb-150 { padding-bottom: 150px!important; }
.ps-150 { padding-left: 150px!important; }
.py-150 { padding-top: 150px!important; padding-bottom: 150px!important; }
.px-150 { padding-right: 150px!important; padding-left: 150px!important; }

@media only screen and (min-width: 576px) {
	.p-sm-20 { padding: 20px!important; }
	.pt-sm-20 { padding-top: 20px!important; }
	.pe-sm-20 { padding-right: 20px!important; }
	.pb-sm-20 { padding-bottom: 20px!important; }
	.ps-sm-20 { padding-left: 20px!important; }
	.py-sm-20 { padding-top: 20px!important; padding-bottom: 20px!important; }
	.px-sm-20 { padding-right: 20px!important; padding-left: 20px!important; }

	.p-sm-30 { padding: 30px!important; }
	.pt-sm-30 { padding-top: 30px!important; }
	.pe-sm-30 { padding-right: 30px!important; }
	.pb-sm-30 { padding-bottom: 30px!important; }
	.ps-sm-30 { padding-left: 30px!important; }
	.py-sm-30 { padding-top: 30px!important; padding-bottom: 30px!important; }
	.px-sm-30 { padding-right: 30px!important; padding-left: 30px!important; }

	.p-sm-40 { padding: 40px!important; }
	.pt-sm-40 { padding-top: 40px!important; }
	.pe-sm-40 { padding-right: 40px!important; }
	.pb-sm-40 { padding-bottom: 40px!important; }
	.ps-sm-40 { padding-left: 40px!important; }
	.py-sm-40 { padding-top: 40px!important; padding-bottom: 40px!important; }
	.px-sm-40 { padding-right: 40px!important; padding-left: 40px!important; }

	.p-sm-50 { padding: 50px!important; }
	.pt-sm-50 { padding-top: 50px!important; }
	.pe-sm-50 { padding-right: 50px!important; }
	.pb-sm-50 { padding-bottom: 50px!important; }
	.ps-sm-50 { padding-left: 50px!important; }
	.py-sm-50 { padding-top: 50px!important; padding-bottom: 50px!important; }
	.px-sm-50 { padding-right: 50px!important; padding-left: 50px!important; }

	.p-sm-75 { padding: 75px!important; }
	.pt-sm-75 { padding-top: 75px!important; }
	.pe-sm-75 { padding-right: 75px!important; }
	.pb-sm-75 { padding-bottom: 75px!important; }
	.ps-sm-75 { padding-left: 75px!important; }
	.py-sm-75 { padding-top: 75px!important; padding-bottom: 75px!important; }
	.px-sm-75 { padding-right: 75px!important; padding-left: 75px!important; }

	.p-sm-100 { padding: 100px!important; }
	.pt-sm-100 { padding-top: 100px!important; }
	.pe-sm-100 { padding-right: 100px!important; }
	.pb-sm-100 { padding-bottom: 100px!important; }
	.ps-sm-100 { padding-left: 100px!important; }
	.py-sm-100 { padding-top: 100px!important; padding-bottom: 100px!important; }
	.px-sm-100 { padding-right: 100px!important; padding-left: 100px!important; }

	.p-sm-150 { padding: 150px!important; }
	.pt-sm-150 { padding-top: 150px!important; }
	.pe-sm-150 { padding-right: 150px!important; }
	.pb-sm-150 { padding-bottom: 150px!important; }
	.ps-sm-150 { padding-left: 150px!important; }
	.py-sm-150 { padding-top: 150px!important; padding-bottom: 150px!important; }
	.px-sm-150 { padding-right: 150px!important; padding-left: 150px!important; }
}

@media only screen and (min-width: 768px) {
	.p-md-20 { padding: 20px!important; }
	.pt-md-20 { padding-top: 20px!important; }
	.pe-md-20 { padding-right: 20px!important; }
	.pb-md-20 { padding-bottom: 20px!important; }
	.ps-md-20 { padding-left: 20px!important; }
	.py-md-20 { padding-top: 20px!important; padding-bottom: 20px!important; }
	.px-md-20 { padding-right: 20px!important; padding-left: 20px!important; }

	.p-md-30 { padding: 30px!important; }
	.pt-md-30 { padding-top: 30px!important; }
	.pe-md-30 { padding-right: 30px!important; }
	.pb-md-30 { padding-bottom: 30px!important; }
	.ps-md-30 { padding-left: 30px!important; }
	.py-md-30 { padding-top: 30px!important; padding-bottom: 30px!important; }
	.px-md-30 { padding-right: 30px!important; padding-left: 30px!important; }

	.p-md-40 { padding: 40px!important; }
	.pt-md-40 { padding-top: 40px!important; }
	.pe-md-40 { padding-right: 40px!important; }
	.pb-md-40 { padding-bottom: 40px!important; }
	.ps-md-40 { padding-left: 40px!important; }
	.py-md-40 { padding-top: 40px!important; padding-bottom: 40px!important; }
	.px-md-40 { padding-right: 40px!important; padding-left: 40px!important; }

	.p-md-50 { padding: 50px!important; }
	.pt-md-50 { padding-top: 50px!important; }
	.pe-md-50 { padding-right: 50px!important; }
	.pb-md-50 { padding-bottom: 50px!important; }
	.ps-md-50 { padding-left: 50px!important; }
	.py-md-50 { padding-top: 50px!important; padding-bottom: 50px!important; }
	.px-md-50 { padding-right: 50px!important; padding-left: 50px!important; }

	.p-md-75 { padding: 75px!important; }
	.pt-md-75 { padding-top: 75px!important; }
	.pe-md-75 { padding-right: 75px!important; }
	.pb-md-75 { padding-bottom: 75px!important; }
	.ps-md-75 { padding-left: 75px!important; }
	.py-md-75 { padding-top: 75px!important; padding-bottom: 75px!important; }
	.px-md-75 { padding-right: 75px!important; padding-left: 75px!important; }

	.p-md-100 { padding: 100px!important; }
	.pt-md-100 { padding-top: 100px!important; }
	.pe-md-100 { padding-right: 100px!important; }
	.pb-md-100 { padding-bottom: 100px!important; }
	.ps-md-100 { padding-left: 100px!important; }
	.py-md-100 { padding-top: 100px!important; padding-bottom: 100px!important; }
	.px-md-100 { padding-right: 100px!important; padding-left: 100px!important; }

	.p-md-150 { padding: 150px!important; }
	.pt-md-150 { padding-top: 150px!important; }
	.pe-md-150 { padding-right: 150px!important; }
	.pb-md-150 { padding-bottom: 150px!important; }
	.ps-md-150 { padding-left: 150px!important; }
	.py-md-150 { padding-top: 150px!important; padding-bottom: 150px!important; }
	.px-md-150 { padding-right: 150px!important; padding-left: 150px!important; }
}

@media only screen and (min-width: 992px) {
	.p-lg-20 { padding: 20px!important; }
	.pt-lg-20 { padding-top: 20px!important; }
	.pe-lg-20 { padding-right: 20px!important; }
	.pb-lg-20 { padding-bottom: 20px!important; }
	.ps-lg-20 { padding-left: 20px!important; }
	.py-lg-20 { padding-top: 20px!important; padding-bottom: 20px!important; }
	.px-lg-20 { padding-right: 20px!important; padding-left: 20px!important; }

	.p-lg-30 { padding: 30px!important; }
	.pt-lg-30 { padding-top: 30px!important; }
	.pe-lg-30 { padding-right: 30px!important; }
	.pb-lg-30 { padding-bottom: 30px!important; }
	.ps-lg-30 { padding-left: 30px!important; }
	.py-lg-30 { padding-top: 30px!important; padding-bottom: 30px!important; }
	.px-lg-30 { padding-right: 30px!important; padding-left: 30px!important; }

	.p-lg-40 { padding: 40px!important; }
	.pt-lg-40 { padding-top: 40px!important; }
	.pe-lg-40 { padding-right: 40px!important; }
	.pb-lg-40 { padding-bottom: 40px!important; }
	.ps-lg-40 { padding-left: 40px!important; }
	.py-lg-40 { padding-top: 40px!important; padding-bottom: 40px!important; }
	.px-lg-40 { padding-right: 40px!important; padding-left: 40px!important; }

	.p-lg-50 { padding: 50px!important; }
	.pt-lg-50 { padding-top: 50px!important; }
	.pe-lg-50 { padding-right: 50px!important; }
	.pb-lg-50 { padding-bottom: 50px!important; }
	.ps-lg-50 { padding-left: 50px!important; }
	.py-lg-50 { padding-top: 50px!important; padding-bottom: 50px!important; }
	.px-lg-50 { padding-right: 50px!important; padding-left: 50px!important; }

	.p-lg-75 { padding: 75px!important; }
	.pt-lg-75 { padding-top: 75px!important; }
	.pe-lg-75 { padding-right: 75px!important; }
	.pb-lg-75 { padding-bottom: 75px!important; }
	.ps-lg-75 { padding-left: 75px!important; }
	.py-lg-75 { padding-top: 75px!important; padding-bottom: 75px!important; }
	.px-lg-75 { padding-right: 75px!important; padding-left: 75px!important; }

	.p-lg-100 { padding: 100px!important; }
	.pt-lg-100 { padding-top: 100px!important; }
	.pe-lg-100 { padding-right: 100px!important; }
	.pb-lg-100 { padding-bottom: 100px!important; }
	.ps-lg-100 { padding-left: 100px!important; }
	.py-lg-100 { padding-top: 100px!important; padding-bottom: 100px!important; }
	.px-lg-100 { padding-right: 100px!important; padding-left: 100px!important; }

	.p-lg-150 { padding: 150px!important; }
	.pt-lg-150 { padding-top: 150px!important; }
	.pe-lg-150 { padding-right: 150px!important; }
	.pb-lg-150 { padding-bottom: 150px!important; }
	.ps-lg-150 { padding-left: 150px!important; }
	.py-lg-150 { padding-top: 150px!important; padding-bottom: 150px!important; }
	.px-lg-150 { padding-right: 150px!important; padding-left: 150px!important; }
}

@media only screen and (min-width: 1200px) {
	.p-xl-20 { padding: 20px!important; }
	.pt-xl-20 { padding-top: 20px!important; }
	.pe-xl-20 { padding-right: 20px!important; }
	.pb-xl-20 { padding-bottom: 20px!important; }
	.ps-xl-20 { padding-left: 20px!important; }
	.py-xl-20 { padding-top: 20px!important; padding-bottom: 20px!important; }
	.px-xl-20 { padding-right: 20px!important; padding-left: 20px!important; }

	.p-xl-30 { padding: 30px!important; }
	.pt-xl-30 { padding-top: 30px!important; }
	.pe-xl-30 { padding-right: 30px!important; }
	.pb-xl-30 { padding-bottom: 30px!important; }
	.ps-xl-30 { padding-left: 30px!important; }
	.py-xl-30 { padding-top: 30px!important; padding-bottom: 30px!important; }
	.px-xl-30 { padding-right: 30px!important; padding-left: 30px!important; }

	.p-xl-40 { padding: 40px!important; }
	.pt-xl-40 { padding-top: 40px!important; }
	.pe-xl-40 { padding-right: 40px!important; }
	.pb-xl-40 { padding-bottom: 40px!important; }
	.ps-xl-40 { padding-left: 40px!important; }
	.py-xl-40 { padding-top: 40px!important; padding-bottom: 40px!important; }
	.px-xl-40 { padding-right: 40px!important; padding-left: 40px!important; }

	.p-xl-50 { padding: 50px!important; }
	.pt-xl-50 { padding-top: 50px!important; }
	.pe-xl-50 { padding-right: 50px!important; }
	.pb-xl-50 { padding-bottom: 50px!important; }
	.ps-xl-50 { padding-left: 50px!important; }
	.py-xl-50 { padding-top: 50px!important; padding-bottom: 50px!important; }
	.px-xl-50 { padding-right: 50px!important; padding-left: 50px!important; }

	.p-xl-75 { padding: 75px!important; }
	.pt-xl-75 { padding-top: 75px!important; }
	.pe-xl-75 { padding-right: 75px!important; }
	.pb-xl-75 { padding-bottom: 75px!important; }
	.ps-xl-75 { padding-left: 75px!important; }
	.py-xl-75 { padding-top: 75px!important; padding-bottom: 75px!important; }
	.px-xl-75 { padding-right: 75px!important; padding-left: 75px!important; }

	.p-xl-100 { padding: 100px!important; }
	.pt-xl-100 { padding-top: 100px!important; }
	.pe-xl-100 { padding-right: 100px!important; }
	.pb-xl-100 { padding-bottom: 100px!important; }
	.ps-xl-100 { padding-left: 100px!important; }
	.py-xl-100 { padding-top: 100px!important; padding-bottom: 100px!important; }
	.px-xl-100 { padding-right: 100px!important; padding-left: 100px!important; }

	.p-xl-150 { padding: 150px!important; }
	.pt-xl-150 { padding-top: 150px!important; }
	.pe-xl-150 { padding-right: 150px!important; }
	.pb-xl-150 { padding-bottom: 150px!important; }
	.ps-xl-150 { padding-left: 150px!important; }
	.py-xl-150 { padding-top: 150px!important; padding-bottom: 150px!important; }
	.px-xl-150 { padding-right: 150px!important; padding-left: 150px!important; }
}

/* #endregion Padding Extras END */

/* #region Border Radius START */

.br-30 {
    border-radius: var(--standard-radius);
    overflow: hidden;
}

.br-50 {
    border-radius: var(--large-radius);
    overflow: hidden;
}

.br-left-30 {
	border-radius: var(--standard-radius) var(--standard-radius) 0 0; /* Assumes we need it top to bottom on mobile */
}
.br-right-30 {
	border-radius: 0 0 var(--standard-radius) var(--standard-radius); /* Assumes we need it top to bottom on mobile */
}
.br-left-50 {
	border-radius: var(--large-radius) var(--large-radius) 0 0; /* Assumes we need it top to bottom on mobile */
}
.br-right-50 {
	border-radius: 0 0 var(--large-radius) var(--large-radius); /* Assumes we need it top to bottom on mobile */
}

@media only screen and (min-width: 992px) {
    .br-left-30 {
		border-radius: var(--standard-radius) 0 0 var(--standard-radius);
    }
    .br-right-30 {
		border-radius: 0 var(--standard-radius) var(--standard-radius) 0;
    }
    .br-left-50 {
		border-radius: var(--large-radius) 0 0 var(--large-radius);
    }
    .br-right-50 {
		border-radius: 0 var(--large-radius) var(--large-radius) 0;
    }
}

/* #endregion Border Radius END */

/* #region Buttons START */

.btn {
	background-color: var(--btn-bg);
	border: var(--btn-border);
	border-radius: var(--btn-radius);
	color: var(--btn-color);
	font-size: 0.8em;
	font-weight: 700;
	height: 35px;
	line-height: 1.25rem;
	letter-spacing: 0.9px;
	padding: 5px 15px;
	text-decoration: none;
	transition: background-color 0.2s linear;
}
.btn:active, .btn:hover {
	background-color: var(--btn-hover-bg);
	border: var(--btn-hover-border);
	color: var(--btn-hover-color);
}

.btn.btn-purple {
    border: 3px solid #5E51A3;
}
.btn.btn-purple:hover {
    background-color: #5E51A3;
}

.white-text .btn {
	background-color: var(--btn-white-bg);
	border: var(--btn-white-border);
	color: var(--btn-white-color);
}

.white-text .btn:active, .white-text .btn:hover {
	background-color: var(--btn-white-hover-bg);
	border: var(--btn-white-hover-border);
	color: var(--btn-white-hover-color);
}

@media only screen and (min-width: 992px) {
	.btn {
		border-width: 3px!important;
		font-size: 0.9em;
		height: 50px;
		padding: 12px 25px;
	}
}

/* #endregion Buttons END */

/* #region Basic Functions START */

.hide {
  display: none !important;
}

.show {
  display: block !important;
}

/* This will remove the padding at the bottom of any element of a HTML block */
.rawhtml > div > *:last-child, .userrawhtml > div > *:last-child {
	margin-bottom: 0;
}

/* #endregion Basic Functions END */

/* #region Video Modal START */

.video-modal .popContent {
  max-width: 1138px;
}
.video-modal .popContent .modal-content {
  background-color: unset;
  border: unset;
}
.video-modal .popContent .modal-body {
  position: relative;
  padding: unset;
}
.video-modal .popContent .modal-body .vm-thumb {
  cursor: pointer;
}
.video-modal .popContent .modal-body .vm-thumb img {
  width: 100%;
  height: auto;
}
.video-modal .popContent .modal-body .vm-close {
  position: absolute;
  right: 26px;
  top: 27px;
  cursor: pointer;
}
.video-modal .popContent .modal-body .vm-close#Video-Close_Btn {
  z-index: 1;
}
.video-modal .popContent .modal-body .vm-close img {
  width: 30px;
}

/* #endregion Video Modal END */

/* #region Header START */

.header-wrapper {
	-webkit-box-shadow: 1px 1px 10px -2px #000;
	-moz-box-shadow: 1px 1px 10px -2px #000;
	box-shadow: 1px 1px 10px -2px #000;
	z-index: 2;
	position: relative;
}
.header-wrapper a:hover {
	color: var(--header-color);
}

.main-header {
	padding: 0;
}
.main-header .header-logo {
	display: block;
	padding: 25px 0;
}
.main-header .header-logo img {
	height: 50px;
}

ul.main-navbar {
    align-items: stretch;
	height: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    display: flex;
    justify-content: end;
}

ul.main-navbar > li {
	height: 100%;
	padding: 0;
}

ul.main-navbar > li > .main-menu-link {
	align-items: center;
	display: flex;
	height: 100%;
}

ul.main-navbar > li > .main-menu-link > a {
	border-bottom: 4px solid transparent;
	color: var(--header-link-color);
	display: inline-block;
	font-size: 0.8em;
	font-weight: 700;
	line-height: 21px;
	margin: 0 22px;
	padding: 15px 0;
	text-transform: uppercase;
}
ul.main-navbar > li:last-child > .main-menu-link > a {
	margin-right: 0px;
}
ul.main-navbar > li > .main-menu-link > a.active-main, 
ul.main-navbar > li > .main-menu-link > a.active-sub, 
ul.main-navbar > li:hover > .main-menu-link > a {
	border-bottom-color: var(--header-link-active-color);
	color: var(--header-link-active-color);
}

ul.main-navbar > li > .main-menu-link .menu-open {
	display: none;
}


/* Dropdown settings */
ul.main-navbar li .dropdown-submenu {
	display: none;
	position: absolute;
	width: 100%;
	background-color: var(--header-dropdown-bg);
	top: 100%;
	left: 0;
	padding: 30px 0;
	-webkit-box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.3);
	-moz-box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.3);
	box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.3);
	transition: top 300ms cubic-bezier(0.17, 0.04, 0.03, 0.94);
}
ul.main-navbar li:hover .dropdown-submenu {
	display: block;
	height: auto;
}

/* List Menu */
ul.main-navbar ul.list-menu {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3,1fr);
	grid-column-gap: 50px;
	grid-row-gap: 10px;
}

ul.main-navbar ul.list-menu > li > a {
	margin-bottom: 15px;
	font-size: 12px;
	line-height: 18px;
	display: inline-block;
	text-transform: none;
}
ul.main-navbar ul.list-menu > li > a.active-sub, ul.main-navbar ul.list-menu > li > a:hover {
	border-bottom-color: var(--header-dropdown-link-border-color);
}

ul.main-navbar ul.list-menu.mobile-products {
	display: block;
}

/* Products Menu */
ul.main-navbar .products-menu {
    align-items: center;
    display: none;
}
ul.main-navbar .products-menu .product-types {
    display: none;
    flex-direction: column;
	gap: 20px;
	margin-bottom: 34px; /* To stop the centered item forcing the buttons to be too far down due to the product titles. */
}

ul.main-navbar .products-menu .product-types .btn {
    border-bottom-width: 3px;
}
ul.main-navbar .products-menu .products {
    display: flex;
	gap: 30px;
	justify-content: center;
    list-style: none;
    padding: 0 0 0 100px;
    margin: 0;
	width: 100%;
}
ul.main-navbar .products-menu .products li {
}

ul.main-navbar .products-menu .products li.hidden {
	display: none;
}

ul.main-navbar .products-menu .products li a {
    display: flex;
    flex-direction: column;
	text-align: center;
}

ul.main-navbar .products-menu .products li a .product-image {
	border: var(--header-dropdown-product-border);
	border-width: 1px!important;
	border-radius: 30px;
	height: 150px;
	padding: 15px;
	text-align: center;
	width: 150px;
}
ul.main-navbar .products-menu .products li a .product-image img {
	max-width: 120px;
	max-height: 120px;
}
ul.main-navbar .products-menu .products li a .product-title {
	font-size: 0.8em;
	font-weight: 700;
	padding: 10px 0 0;
}

.mobile-menu {
    align-items: center;
    width: auto;
    padding: 10px 0;
    display: flex;
    justify-content: space-between;
    padding-right: 15px;
    position: relative;
}

.menu-btn {
	align-items: center;
	background-color: transparent;
	color: var(--header-menu-btn-color);
	cursor: pointer;
	display: flex;
	font-size: 2.5em;
	height: 40px;
	justify-content: center;
	width: 40px;
}

@media only screen and (min-width: 992px) {
	.mobile-menu {
		display: none;
	}
	.filter-mobile-head {
		display: none;
	}

	.main-header .header-logo img {
		width: 120px;
	}
	
	ul.main-navbar ul.list-menu.mobile-products {
		display: none;
	}

	ul.main-navbar ul.list-menu  > li > a {
		font-size: 0.8em;
		font-weight: 600;
	}

    ul.main-navbar .products-menu {
        align-items: center;
        display: flex;
        justify-content: space-between;
    }
}

@media only screen and (max-width: 991px) {

	.main-header .main-navbar-wrapper {
		background-color: var(--header-bg);
		-webkit-box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.3);
		-moz-box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.3);
		box-shadow: 1px 2px 4px rgba(0, 0, 0, 0.3);
		display: none;
		left: 0;
		position: absolute;
		top: 100%;
		width: 100%;
	}

	ul.main-navbar {
		flex-direction: column;
	}

	ul.main-navbar li.has-submenu {
		align-items: center;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		position: relative;
		width: 100%;
	}

	ul.main-navbar li.has-submenu:not(:last-child) {
		border-bottom: var(--header-sub-menu-border);
	}

    ul.main-navbar > li:not(:first-child) {
		margin-left: 0px;
	}

	ul.main-navbar > li > .main-menu-link {
		align-items: center;
		display: flex;
		justify-content: space-between;
		padding: 0;
		position: relative;
		width: 100%;
	}
	ul.main-navbar > li > .main-menu-link > a {
		padding: 15px 0;
		width: 100%;
	}

	ul.main-navbar > li > .main-menu-link > .menu-open {
		color: var(--header-sub-menu-trigger-color);
		display: block;
		font-size: 23px;
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
	}

	ul.main-navbar li .dropdown-submenu {
		box-shadow: none;
		display: none;
		margin-top: 10px;
		padding: 0;
		position: relative;
	}

	ul.main-navbar li .dropdown-submenu.active {
		display: block;
	}

	ul.main-navbar li .dropdown-submenu .container {
		max-width: 100%;
		padding-left: 15px;
	}

	ul.main-navbar li .dropdown-submenu ul.dropmenu {
		grid-template-columns: repeat(1,1fr);
	}
}

/* #endregion Header END */

/* #region Footer START */

footer {
	background-color: var(--footer-bg);
	color: var(--footer-color);
	padding: 0 0 10px;
}

footer a {
    color: var(--footer-color);
    text-decoration: none;
}
footer a:hover {
	text-decoration: underline;
}

footer .footer-content-row {
    border-bottom: none;
	padding: 40px 0 0 0;
}

footer .footer-content-row .footer-content-text {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    text-align: center;
}

footer .footer-links-row .footer-links {
	padding: 0 0 30px;
}

footer .footer-links-row .footer-links ul {
    display: flex;
    flex-direction: column;
    list-style: none;
    text-align: center;
    margin: 0;
    padding: 0;
}
footer .footer-links-row .footer-links ul li {
    border-bottom: var(--footer-border);
}
footer .footer-links-row .footer-links ul li:first-child {
    border-top: var(--footer-border);
}
footer .footer-links-row .footer-links ul li a {
	display: block;
	font-size: 0.75em;
	font-weight: 600;
	padding: 15px;
    text-transform: uppercase;
}

footer .footer-legal-row {
	padding: 0 0 30px;
}
footer .footer-legal-row .footer-legal img {
	max-width: 225px;
}
footer .footer-legal-row .footer-legal p {
	font-size: 0.75em;
}
footer .footer-legal-row .footer-legal p:last-child {
	margin-bottom: 0;
}

footer .footer-sub-footer-row {
    padding: 0 0 30px;
}
footer .footer-sub-footer-row .footer-sub-footer ul {
    display: flex;
    flex-direction: column;
    list-style: none;
    text-align: center;
    margin: 0;
    padding: 0;
}
footer .footer-sub-footer-row .footer-sub-footer ul li {
    border-bottom: var(--footer-border);
}
footer .footer-sub-footer-row .footer-sub-footer ul li:first-child {
    border-top: var(--footer-border);
}
footer .footer-sub-footer-row .footer-sub-footer ul li a {
	display: block;
	font-size: 0.75em;
	font-weight: 400;
	padding: 15px;
}

@media only screen and (min-width: 992px) {
	footer {
		padding: 0 0 40px;
	}
	
	footer .footer-content-row {
		border-bottom: var(--footer-border);
		padding: 90px 0 0;
	}
    footer .footer-content-row .footer-content-text {
        flex-wrap: nowrap;
        justify-content: flex-start;
		text-align: left;
    }

    footer .footer-links-row .footer-links {
        border-bottom: var(--footer-border);
        padding: 30px 0;
    }
	
	footer .footer-legal-row {
		padding: 35px 0 45px;
	}

	footer .footer-links-row .footer-links ul {
		flex-direction: row;
		justify-content: center;
	}
	footer .footer-links-row .footer-links ul li {
		border-bottom: none;
		padding: 0 40px;
	}
	footer .footer-links-row .footer-links ul li:first-child {
		border-top: none;
	}
	footer .footer-links-row .footer-links ul li a {
		padding: 0;
	}

	footer .footer-sub-footer-row .footer-sub-footer ul {
		flex-direction: row;
		justify-content: center;
	}
	footer .footer-sub-footer-row .footer-sub-footer ul li {
		border-bottom: none;
		padding: 0 30px;
	}
	footer .footer-sub-footer-row .footer-sub-footer ul li:first-child {
		border-top: none;
	}
	footer .footer-sub-footer-row .footer-sub-footer ul li a {
		padding: 0;
	}
}

/* #endregion Footer END */

/* #region Stats START */

.stats {
	display: flex;
	flex-direction: column;
}

.stats .stat-wrap {
    align-items: center;
    border-bottom: var(--stats-wrap-border);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 50px 0;
    text-align: center;
}

.stats .stat-wrap:last-child {
	border-bottom: none;
}

.stats .stat-wrap .stat-circle {
	align-items: center;
	border: var(--stats-cricle-border);
	border-radius: 50%;
	display: flex;
	font-size: 2em;
	justify-content: center;
	line-height: 1.5em;
	height: 184px;
	margin: 0 0 30px;
	width: 184px;
}
.stats .stat-wrap .stat-circle > span {
    
}
.stats .stat-wrap .stat-circle > span > span {
    font-size: 1.5em;
	font-weight: 700;
	line-height: 1em;
}

.stats .stat-wrap .stat-text {
	font-size: 1.2em;
	flex: 1;
	padding: 0 20px;
}

@media only screen and (min-width: 1200px) {
	
	.stats .stat-wrap {
		flex-direction: row;
		justify-content: initial;
		text-align: left;
	}

	.stats .stat-wrap .stat-circle {
		margin: 0;
	}
}

/* #endregion Stats END */

/* #region MISC START */

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0;
}

.full-height {
	height: 100%;
}

/* #endregion MISC END */