/* FONTS
----------------------------------------------------------------------------------------------------*/

html {
    font-family: "Montserrat", Helvetica, Arial, "Lucida Grande", sans-serif;
    font-size:62.50%;
    font-weight:400;
    color:#333333;
}

h1, h2, h3, h4 {
	font-family: "Oswald", Helvetica, Arial, "Lucida Grande", sans-serif;
	font-weight:500;
}

h1, h2 {
	display:inline-block;
	position:relative;
	font-size:3.8rem;
	color:#000;
	margin-bottom:45px;
	line-height:1.2;
}

h2:after {
	content:"";
	position:absolute;
	bottom:-10px;
	left:0;
	display:inline-block;
	width:100%;
	height:2px;
	background:#f00;
}


h3 {
	font-size:2.4rem;
	color:#fff;
}

h4 {
	font-size:2rem;
	color:#fff;
	line-height:1.2;
	margin-bottom:15px;
}

h4 span {
	display:block;
	font-family: "Montserrat", Helvetica, Arial, "Lucida Grande", sans-serif;
	font-size:1.6rem;
	font-weight:400;
}

p {
	font-size:1.6rem;
	font-weight:500;
	line-height:1.4;
	margin-bottom:2rem;
}

p strong {
	font-weight:700;
}

p:last-child {
	margin-bottom:0;
}

p a,
p a:link,
p a:focus {
	color:#29ABE2;
}

u {
	color:#068C3C;
}

/* FONT OPTIONS */

.text-center {
	text-align:center;
}

/* FONT OPTIONS - COLOR */

.font-white {
	color:#fff;
}

/** FONTS RESPONSIVE CSS
*****************************************************************************************************/

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

	h1, h2 {
		font-size:3rem;
	}

}

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

	h1, h2 {
		font-size:2.6rem;
	}

	h3 {
		font-size:1.6rem;
	}

}

/* MAIN LAYOUT
----------------------------------------------------------------------------------------------------*/

body, html {
	height:100%;
}

body::-webkit-scrollbar {
    width: 0.5rem;
}

body::-webkit-scrollbar-track {
    background: none;
}

body::-webkit-scrollbar-thumb {
    background: #333;
}

body::-webkit-scrollbar-thumb:hover {
    background: #555;
}

body::-webkit-scrollbar-button {
    display: none;
}

.content,
section {
	position:relative;
	display:block;
}

.content:after,
section:after {
	display:block;
	content: " ";
	clear: both;
	height:0;
	width:100%;
	*zoom: 1;
}

section {
	width:100%;
	z-index:10;
}

.content {
    padding:45px 15px 100px;
    margin:0 auto;
}

.content.limit-width {
	max-width:1200px;
}

/* FLEXBOX PRESETS */

/* FLEX TWO */

.flex-two {
	display:flex;
	flex-wrap:nowrap;
}

.flex-two > div {
	flex:0 0 50%;
}

/* FLEX FOUR */

.flex-four {
	display:flex;
	flex-wrap:wrap;
	width:calc(100% + 15px);
	gap:15px;
}

.flex-four > div,
.flex-four > a {
	position:relative;
	flex:0 0 calc(25% - 15px);
	max-width:calc(25% - 15px);
}

.flex-four .expand {
	position:absolute;
	top:calc(50% - (16% / 2));
	left:calc(50% - (16% / 2));
	object-fit:contain;
	width:16%;
	height:16%;
	opacity:1;
}

.flex-four img:not(.expand) {
	width:100%;
	height:auto;
}

.flex-four figcaption,
.flex-four figcaption h3,
.flex-four figcaption span,
.flex-four .expand {
	transition: all 200ms;
}

.flex-four figcaption {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	background:rgba(0,0,0,0.9);
	opacity:0;
}

.flex-four figcaption h3 {
	margin-bottom:10px;
	transform:translateY(-50px);
}

.flex-four figcaption span {
	position:relative;
	display:inline-block;
	font-family: "Oswald", Helvetica, Arial, "Lucida Grande", sans-serif;
	font-size:2rem;
	font-weight:300;
	color:#fff;
	padding:5px 0;
	border-bottom:1px solid #f00;
	transform:translateY(50px);
}

.flex-four .slide-link.active figcaption {
	background:rgba(219,29,24,0.9);
	opacity:1;
}

.flex-four .slide-link.active figcaption h3 {
	color:#fff;
}

.flex-four .slide-link.active figcaption span {
	display:none;
}

.flex-four > a.mobile-trigger .expand,
.flex-four > a:hover .expand {
	opacity:0;
}

.flex-four > a.mobile-trigger figcaption,
.flex-four > a:hover figcaption {
	opacity:1;
}

.flex-four .slide-link.active figcaption h3,
.flex-four > a.mobile-trigger figcaption h3,
.flex-four > a:hover figcaption h3,
.flex-four > a.mobile-trigger figcaption span,
.flex-four > a:hover figcaption span {
	transform:translateY(0);
}
	
/* GENERAL SPACINGS */

/** MAIN LAYOUT RESPONSIVE CSS
*****************************************************************************************************/

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

	/* FLEX FOUR */

	.flex-four > div,
	.flex-four > a {
		flex:0 0 calc(50% - 15px);
		max-width:calc(50% - 15px);
	}

}

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

	.content {
	    padding:5rem 15px 7em;
	}

	/* FLEX TWO */

	.flex-two {
		flex-direction:column;
	}

	.flex-two > div {
		flex:0 0 100%;
	}

}

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

	/* FLEX FOUR */

	.flex-four > div,
	.flex-four > a {
		flex:0 0 calc(100% - 15px);
		max-width:calc(100% - 15px);
	}

}

/* MAIN NAVIGATION
----------------------------------------------------------------------------------------------------*/

#main-navigation {
	position:fixed;
	top:0;
	width:100%;
	height:7rem;
	background:rgba(255,255,255,0.8);
	z-index:100;
}

#main-navigation .content {
	display:flex;
	flex-direction:column;
	justify-content: center;
	padding:0 15px;
	height:100%;
}

#header-navigation-wrapper {
	display:flex;
	align-items:center;
	justify-content: space-between;
}

#logo {
	display:flex;
	align-items:center;
	gap:20px;
}

#logo img {
	object-fit:contain;
}

#logo img:first-child {
	max-height:50px;
}

#logo img:last-child {
	max-height:15px;
}


/* MAIN NAVIGATION LINKS
----------------------------------------------------------------------------------------------------*/

#navigation-links #wrapper {
	display:flex;
	flex-wrap:nowrap;
	gap:20px;
}

#navigation-links a {
	font-family: "Montserrat", Helvetica, Arial, "Lucida Grande", sans-serif;
	font-size:1.8rem;
	font-weight:700;
	color:#000;
	cursor:pointer;
	text-align:center;
	white-space:nowrap;
	transition: all 200ms;
}

#navigation-links #wrapper > a.active,
.enable-hover #navigation-links #wrapper > a:hover {
	color:#f00;
}


/* HEADER EXPAND BUTTON FOR MOBILE */

a#expand-nav {
	display:none;
	width:40px;
	height:40px;
	padding:13px 11px;
	cursor:pointer;
	z-index:100;
	transition: all 200ms;
}

a#expand-nav div {
	display: flex;
	flex-direction: column;
  	justify-content: space-between;
	width:18px;
	height:14px;
}

a#expand-nav div span {
	display:block;
	width:18px;
	height:2px;
	background:#f00;
	-webkit-transform-origin: 100% 50%;
	-moz-transform-origin: 100% 50%;
	transform-origin: 100% 50%;
	-webkit-transition: all 200ms;
	-moz-transition: all 200ms;
	transition: all 200ms;
}

a#expand-nav.active div span:first-child {
	transform: translateX(-2px) rotate(-45deg) scaleX(1.1);
	right:10px;
}

a#expand-nav.active div span:nth-child(2) {
	opacity:0;
}

a#expand-nav.active div span:last-child{
	transform: translateX(-2px) translateY(2px) rotate(45deg) scaleX(1.1);
}


/* MAIN NAVIGATION LINKS RESPONSIVE CSS
**************************************************************************************/

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

	/* MAIN NAVIGATION LINKS */

	#navigation-links a {
		font-size:1.4rem;
	}

}

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

	/* MAIN NAVIGATION LINKS */

	#navigation-links #wrapper {
		flex-wrap:wrap;
	    gap: 10px;
	}

	#navigation-links a {
		font-size:1.1rem;
	}

}

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

	/* MAIN NAVIGATION LINKS */

	#navigation-links,
	#navigation-links #wrapper {
		display:flex;
		flex-direction:column;
		justify-content: center;
		align-items:center;
	}

	#navigation-links #wrapper {
		gap:25px;
	}

	#navigation-links {
		position:fixed;
		top:0;
		right:0;
		gap:40px;
		width:100%;
		height:100%;
		z-index:10;
		background-color:#fff;
		pointer-events: none;
		opacity:0;
		transition: all 200ms;
	}

	#navigation-links.active {
		opacity:1;
		pointer-events:all;
	}

	#navigation-links a {
		color:#000;
		font-size:2.4rem;
		font-weight:700;
	}

	/* HEADER EXPAND BUTTON FOR MOBILE */

	a#expand-nav {
		display:block;
	}

}

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

	/* MAIN NAVIGATION LINKS */

	#navigation-links a {
		font-size:2rem;
	}

	#logo {
		gap:10px;
	}

	#logo img:first-child {
		max-height:30px;
	}

	#logo img:last-child {
		max-height:10px;
	}

}

/* CONTENT - GENERAL
----------------------------------------------------------------------------------------------------*/

/* GENERAL CLASS */

a,
a:link,
a:focus {
	outline: 0;
	text-decoration:none;
}

hr {
	margin:0 0 3rem;
	border: none;
    border-bottom: 1px solid #333333;
}

.full-image {
	width:100%;
	height:auto;
}

.hidden {
	display:none;
}

/* BROWSER WARNING */

#browser-warning {
	position:fixed;
	top:0;
	left:0;
	right:0;
	bottom:0;
	width:100vw;
	height:100vh;
	background: rgba(0,0,0,0.95);
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	text-align:center;
	font-size:2rem;
	line-height:1.4;
	color:#ffffff;
	z-index:9999;
}

#browser-warning a {
	color:#ffffff;
	text-decoration:underline;
}

/* LIST STYLE - ARROW LIST */

ul.arrow-list {
	margin-bottom:2.5rem;
}

ul.arrow-list li {
	position:relative;
	font-size:1.6rem;
	line-height:1.2;
	margin-bottom:10px;
	padding-left:24px;
}

ul.arrow-list li:not(.heading):before {
	position: absolute;
    top: 2px;
    left: 0;
	content: "";
	display:inline-block;
	width:14px;
	height:14px;
	border-radius:100%;
	background:#000 url(../images/generic/icon-arrow-grey.svg) no-repeat center center;
	background-size: 5px 8px;
}

ul.arrow-list li.heading {
	padding-left:0;
	font-weight:700;
}

/* LIST STYLE - ICON LIST */

ul.icon-list {
	margin-bottom:2.5rem;
}

ul.icon-list li {
	position:relative;
	font-size:1.4rem;
	line-height:1.4;
	margin-bottom:10px;
	padding-left:24px;
}

ul.icon-list li,
ul.icon-list li a {
	color:#ffffff;
}

ul.icon-list li img {
	position:absolute;
	top:2px;
	left:0;
}

/* LIST STYLE - BULLET LIST */

ul.bullet-list {
	margin-bottom:2rem;
}

ul.bullet-list > li {
	position:relative;
	font-size:1.6rem;
	line-height:1.8;
	text-align:left;
	padding-left:1.5rem;
}

ul.bullet-list > li.heading {
	padding-left:0;
}

ul.bullet-list > li > strong {
	font-weight:700;
}

ul.bullet-list:not(.no-bullet) > li:not(.heading):before {
	position:absolute;
	top:0;
	left:0;
	display:inline-block;
	content: "\2022";
	font-size: 3rem;
    line-height: 0.7;
}

/* PAGE ERROR (404, etc) */

#error {
	text-align:center;
}

/* ERROR POP UP FANCYBOX OVERRIDE */

#error .f-button.is-close-btn {
	top: -50px;
    right: 6px;
	border:none;
	box-shadow:none;
}

#error .f-button.is-close-btn svg {
	display:none;
}

#error .f-button.is-close-btn:before {
	position: absolute;
    top: -10px;
    left: -68px;
	content:"";
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    background:#DB1D18 url(../images/generic/icon-close.svg) no-repeat center center;
    border-radius: 100%;
}

#error .f-button.is-close-btn:after {
	content: "CLOSE";
	font-family: "Oswald", Helvetica, Arial, "Lucida Grande", sans-serif;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.2;
    text-align: center;
    color: #ffffff;
}

/* LINKS AND BUTTONS */

.link-btn {
	display:inline-block;
	font-family: "Oswald", Helvetica, Arial, "Lucida Grande", sans-serif;
    font-size:2rem;
    font-weight:500;
    line-height:1.2;
    text-align: center;
    color:#ffffff;
    cursor:pointer;
    padding:10px 20px;
    background-color:#DA1D18;
    border-radius:5px;
	transition: all 200ms;
}

.enable-hover .link-btn:hover {
	background:#E1A01C;
}

.link-btn.close-popup {
	display:flex;
	flex-wrap:nowrap;
	gap:8px;
	align-items:center;
	color:#000;
	background:none;
	border-radius:0;
	padding:0;
}

.link-btn.close-popup:hover {
	background:none;
}

.link-btn.close-popup div {
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	width:50px;
	height:50px;
	background-color:#DB1D18;
	border-radius:100%;
}

/* SLICK SLIDER OVERRIDES */

.slider .slide {
	margin:120px auto 75px;
}

.slider figure {
	margin:0 0 45px;
}

.slider figure,
.slider figure div,
.slider figcaption {
	transition: all 200ms;
}

.slider figure img {
	width:100%;
	height:auto;
}

.slider figcaption {
	display:block;
	font-size:1.6rem;
	font-weight:400;
	line-height:1.4;
	color:#ffffff;
	padding:1rem 1rem 0;
}

.slider .slick-next,
.slider .slick-prev {
	width:40px;
	height:40px;
	background-color:#333;
	border-radius:100%;
	top: 450px;
}

.slider .slick-next:after,
.slider .slick-prev:after {
	content:"";
	display:inline-block;
	width:12px;
	height:12px;
	border-top:2px solid #fff;
	border-left:2px solid #fff;
}

.slider .slick-next:after {
	transform:rotate(135deg);
	margin-left:-4px;
}

.slider .slick-prev:after {
	transform:rotate(-45deg);
	margin-left:4px;
}

.slider .slick-next img,
.slider .slick-prev img {
	width:100%;
	height:auto;
}

.slider .slick-next {
	right:50px;
}

.slider .slick-prev {
	left:50px;
}

.slider .slick-next img {
	transform:rotate(180deg);
}

.slider .slick-next:before,
.slider .slick-prev:before {
	display:none;
}

.slider .slick-arrow.slick-disabled {
	opacity:0.4;
}


/* SLICK SLIDER CUSTOM ELEMENTS */

.slider-content {
	display:block;
	width:100%;
	max-width:800px;
	margin:0 auto;
}

.slider-content h2 {
	display:block;
	text-align:center;
	margin-bottom:30px;
}

.slider-content h2:after {
	display:none;
} 

.slider-content figure {
	margin-bottom:40px;
}

.slider-content figcaption {
	font-size:1.6rem;
	font-weight:400;
	text-align:center;
	color:#000;
}

/* SLICK SLIDER CUSTOM ELEMENTS - FLEXBOX */

.slider-flex {
	display:flex;
	justify-content:space-between;
}

/* SLICK SLIDER CUSTOM ELEMENTS - GRID */

.slider-grid {
	display:grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	grid-gap:25px;
}

.slider-grid img {
	border:1px solid #c9c9c9;
}

/* SLICK SLIDER CUSTOM ELEMENTS - CLOSE BUTTON */

#close-product-info {
	position:absolute;
	top:35px;
	left:calc(50% - 25px);
	display:flex;
	align-items:center;
	justify-content:center;
	width:50px;
	height:50px;
	border-radius:100%;
	background-color:#DB1D18;
	z-index:10;
	transition: all 200ms;
}

#close-product-info img {
	max-width:15px;
	object-fit:contain;
}

/* GENERAL CLASS RESPONSIVE CSS
**************************************************************************************/

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

	/* SLICK SLIDER OVERRIDES */

	.slider .slick-next,
	.slider .slick-prev {
		top: 400px;
	}

	/* SLICK SLIDER CUSTOM ELEMENTS - FLEXBOX */

	.slider-flex {
		flex-direction:column;
	}

}

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

	/* SLICK SLIDER OVERRIDES */

	.slider .slick-next,
	.slider .slick-prev {
		width:30px;
		height:30px;
		top: 320px;
	}

	.slider .slick-next:after,
	.slider .slick-prev:after {
		width:10px;
		height:10px;
	}

	.slider .slick-next {
		right:30px;
	}

	.slider .slick-prev {
		left:30px;
	}

}

/* SECTIONS - HERO
----------------------------------------------------------------------------------------------------*/

#hero,
#hero .content,
#hero .content > div {
	display:flex;
	flex-direction:column;
	align-items:center;
}

#hero,
#hero .content {
	height:100vh;
}

#hero {
	background:url(../images/hero.webp) no-repeat center top;
	background-attachment: fixed;
	background-size:cover;
}

#hero .content {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	padding:0 15px;
	display:flex;
	flex-direction:column;
	justify-content:center;
}

#hero .content > div {
	padding-top:70px;
	gap:25px;
}

#hero .content > div h1 {
	font-family: "Montserrat", Helvetica, Arial, "Lucida Grande", sans-serif;
	font-size:5rem;
	font-weight:700;
	text-align:center;
	margin:0;
}

#hero .content > div img {
	width:50%;
	min-width:145px;
	max-width:260px;
}

/** SECTIONS - HERO RESPONSIVE CSS
*****************************************************************************************************/

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

	#hero .content > div h1 {
		font-size:4rem;
	}

	#hero .content > div img {
		max-width:180px;
	}

}

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

	#hero .content > div h1 {
		font-size:3rem;
	}

}


/* SECTIONS - ABOUT US
----------------------------------------------------------------------------------------------------*/

#about-us .content {
	padding:110px 15px;
}

#about-us .flex-two > div {
	overflow:hidden;
}

#about-us .flex-two > div:first-child {
	padding-right:55px;
}

#about-us .flex-two > div:last-child {
	display:flex;
	justify-content:center;
}


/** SECTIONS - ABOUT US RESPONSIVE CSS
*****************************************************************************************************/

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

	#about-us .flex-two img {
		width:auto;
		height:100%;
		max-height:375px;
	}

}

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

	#about-us .content {
		text-align:center;
	    padding: 40px 15px;
	}

	#about-us .flex-two {
		gap:30px;
	}

	#about-us .flex-two > div:first-child {
		padding-right:0;
	}

	#about-us .flex-two img {
		width:100%;
		height:auto;
		max-height:unset;
	}

}

/* SECTIONS - PRODUCT INFO
----------------------------------------------------------------------------------------------------*/

#product-info {
	overflow:hidden;
	transition: all 800ms;
}

#product-info.close {
	max-height:0 !important;
}

/* SECTIONS - OUR PRODUCTS
----------------------------------------------------------------------------------------------------*/

#products {
	background:url(../images/bg-our-products.webp) no-repeat center top;
	background-attachment: fixed;
	background-size:cover;
}

/* PRODUCT INFO SECTION (INTEGRATED WITH SLICK SLIDER. SEE SLICK CSS CUSTOM ELEMENTS) */

#product-info {
	background-color:#E3E3E3;
}

#product-slider {
	padding:0 15px;
}

.product-flex {
	display:flex;
	justify-content: space-between;
	gap:;
}

.product-flex img {
	width:100%;
	height:auto;
	object-fit:contain;
}

/* SECTIONS - OUR PRODUCTS RESPONSIVE CSS
**************************************************************************************/


/* SECTIONS - OUR CLIENTS
----------------------------------------------------------------------------------------------------*/

#clients .content {
	padding-left:0;
	padding-right:0;
}

#client-carousel .item {
	display:flex;
	flex-direction:column;
	justify-content: center;
	height:150px;
}

#client-carousel .owl-item img {
    object-fit: contain;
}

/* SECTIONS - OUR CLIENTS RESPONSIVE CSS
**************************************************************************************/

/* SECTIONS - GALLERY
----------------------------------------------------------------------------------------------------*/

#gallery {
	background-color:#f9f9f9;
}

#gallery-slider {
	width:calc(100% + 18px);
	margin-left:-9px;
	overflow:hidden;
	padding-bottom:30px;
}

#gallery-slider .slick-slide {
	padding:0 9px;
}

#gallery-slider img {
	width:100%;
	heigh:auto;
	object-fit: contain;
}

#gallery-slider .slick-dots {
	bottom:0;
}

#gallery-slider .slick-dots li button {
	width:8px;
	height:8px;
	border:none;
	background:#e3e3e3;
}

#gallery-slider li.slick-active button {
	background:#f00;
}


/* SECTIONS - CONTACT US
----------------------------------------------------------------------------------------------------*/

#contact-us {
	color:#fff;
	background:url(../images/bg-contact-us.webp) no-repeat center center;
	background-attachment: fixed;
	background-size:cover;
}

#contact-us h2 {
	margin-bottom:70px;
}

#contact-us .flex-two {
	text-align:left;
}

#contact-us .flex-two > div {
	max-width:50%;
}

/* GOOGLE MAPS */

#map-canvas {
	height:600px;
}

/* SECTIONS - CONTACT US RESPONSIVE CSS
**************************************************************************************/

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

	#contact-us .flex-two {
		gap:30px;
	}

	#contact-us .flex-two > div {
		max-width:100%;
	}

	#contact-us br {
		display:none;
	}

}

/* CONTENT - FORMS
----------------------------------------------------------------------------------------------------*/

#ajax-form-container,
#ajax-form {
    width:100%;
}

#ajax-form-success-message {
	display:none;
}

#ajax-form-container .show {
	display:block;
}

#ajax-form-container section {
	background: url(../images/pattern.png) no-repeat top right;
	padding:0 15px;
}

#ajax-form-success-message p {
	color:#fff;
}

.form-success img {
	width:100%;
	height:auto;
	object-fit:contain;
	max-width:400px;
}

#personal-details .form-control {
	margin-right:0;
}

.form {
	position:relative;
	display:block;
	padding:0;
}

.form-row {
	margin-bottom:25px;
	justify-content: flex-start;
}

.form .field > div {
	display:flex;
	flex-wrap:nowrap;
}

.form .field > div {
	gap:0 1rem;
	margin-bottom:10px;
}

.form .field {
	position:relative;
	text-align:left;
	min-width:inherit;
	background:none;
	margin-bottom:10px;
	clear:both;
}

.form .field:last-child {
	margin-bottom:0;
}

.form #captcha {
	overflow:hidden;
	margin:11px 0 0;
}

.form label,
.form-control,
.form .button {
	font-family: "Montserrat", Helvetica, Arial, "Lucida Grande", sans-serif;
	font-size:1.6rem;
	color:#000000;
	height:40px;
	line-height:3rem;
}

.form label,
.form-control {
	font-weight:400;
}

.form label {
	white-space:nowrap;
}

.form label span {
	color:#f00;
}

.form-control {
	display:block;
	padding:0 12px;
	border:none;
	border:none;
	outline:none;
	width:100%;
}

.form-control.email {
	width:75%;
}

.form-control.phone {
	width:60%;
}

#ajax-form-recaptcha {
	margin-bottom:20px;
}

textarea.form-control {
	padding:10px;
	line-height:1.2;
	height:120px;
} 

select.form-control {
	min-width:120px;
	padding: 0 30px 0 8px;
	background:url(../images/generic/icon-down-arrow.svg) no-repeat calc(100% - 1rem) center;
	-moz-appearance:none;
    -webkit-appearance:none;
    appearance:none;
}

.form-control::-ms-expand {
	background-color: transparent;
	border: 0;
}

.form-control:focus {
	border-color: #FBB03B;
	outline: 0;
}

.form-control::-webkit-input-placeholder {
	color: #6c757d;
	opacity: 1;
}

.form-control::-moz-placeholder {
	color: #6c757d;
	opacity: 1;
}

.form-control:-ms-input-placeholder {
	color: #6c757d;
	opacity: 1;
}

.form-control::-ms-input-placeholder {
	color: #6c757d;
	opacity: 1;
}

.form-control::placeholder {
	color: #6c757d;
	opacity: 1;
}

.form-control:disabled, .form-control[readonly] {
	background-color: #e9ecef;
	opacity: 1;
}

select.form-control:focus::-ms-value {
	color: #495057;
	background-color: #fff;
}

.form div#spamtrap {
	visibility:hidden
}

.form .error {
	position:relative;
	display:block;
	width:100%;
	margin:0;
	z-index:2;
	float:none;
	clear:both;
}

.form #ajax-form-server-errors {
	position:relative;
	color:#f00;
	visibility:visible;
}

.form #ajax-form-server-errors.error div {
	padding: 0 3rem;
}

.form .error div,
.form .error span {
	display:block;
	clear:both;
	font-size:1.2em;
	line-height:1;
	padding:0;
	margin:0;
    color:#E1A01C;
    text-align:left;
}

.form #ajax-form-server-errors span:last-of-type {
	margin-bottom:20px;
}

.form .error:before {
	position:absolute;
	top:0;
	left:0;
	width: 0; 
	height: 0; 
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent; 
	border-right:10px solid blue; 
}

.form fieldset#antispam {
	padding:2px;
	border-top:1px solid #EEE;
	border-left:0;
	border-right:0;
	border-bottom:0;
	width:350px;
}

.form fieldset#antispam legend {
	font-size: 0.8em;
	font-weight:bold;
	color:#333;
}

.form .button {
	position:relative;
    background-color:#DB1D18;
    font-family: "Oswald", Helvetica, Arial, "Lucida Grande", sans-serif;
    font-size:2rem;
    font-weight:500;
    padding:0 20px;
    border:none;
    height:40px;
    width:auto;
    min-width:inherit;
    display:inline-block;
    color:#fff;
	cursor:pointer;
	border-radius:5px;
	border:none;
    -webkit-appearance: none;
    -moz-appearance: none;
	transition: all 200ms;
}

.form .button.processing {
	padding-right:2rem;
}

.form .button.processing > div {
	background: url(../assets/form/images/spinner.gif) no-repeat right 5px;
    background-size: 20px;
    padding-right: 3rem;
}

.form .button + .button {
	margin-left:1rem;
}

.form .button:hover {
	background:#E1A01C;
}

/* spam_trap: This input is hidden. This is here to trick the spam bots*/

.form .spmhidip {
	display:none;
	width:10px;
	height:3px
}

#fg_crdiv {
	font-size: 0.3em;
	opacity: .2;
	-moz-opacity: .2;
	filter: alpha(opacity=20);
}

#fg_crdiv p {
	display:none;
}

.form input[type=submit]:disabled,
.form button:disabled,
.form input[type=submit][disabled=disabled],
.form button[disabled=disabled],
.form input[type=text]:disabled,
.form input[type=text][disabled=disabled],
.form text:disabled,
.form text[disabled=disabled] {
	border-color:#cccccc !important;
    background:#cccccc !important;
}

.form input[type=submit]:disabled,
.form button:disabled,
.form input[type=submit][disabled=disabled],
.form button[disabled=disabled] {
	color:#999999 !important;
}

/* SECTIONS - FORM RESPONSIVE CSS
**************************************************************************************/

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

	.form-control.email {
		width:100%;
	}

	.form-control.phone {
		width:100%;
	}

}

/* CONTENT - ERROR PAGE
----------------------------------------------------------------------------------------------------*/

#error-content h1 {
	text-transform:uppercase;
}

/* CONTENT - ANIMATION STYLES - SELECTED FROM ANIMATE.CSS (ZOOMIN,FADEINUP,FADEINLEFT)
----------------------------------------------------------------------------------------------------*/

.animated {
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-timing-function: ease;
	animation-timing-function: ease;
}

.animated.infinite {
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
}

@keyframes bounce {
	0% {
		transform: translateY(0);
	}
	25% {
		transform: translateY(-5px);
	}
	50% {
		transform: translateY(0);
	}
	100% {
		transform: translateY(0);
	}
}

.bounce {
	-webkit-animation-name: bounce;
	animation-name: bounce;
}

@keyframes pulse {
	0%, 100% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.1);
	}
}

.pulse {
	-webkit-animation-name: pulse;
	animation-name: pulse;
}

@-webkit-keyframes fadeInUp {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, 100%, 0);
		transform: translate3d(0, 100%, 0);
	}

	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, 100%, 0);
		transform: translate3d(0, 100%, 0);
	}

	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

.fadeInUp {
	-webkit-animation-name: fadeInUp;
	animation-name: fadeInUp;
}

@-webkit-keyframes fadeInLeft {
	from {
		opacity: 0;
		-webkit-transform: translate3d(-100%, 0, 0);
		transform: translate3d(-100%, 0, 0);
	}

	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

@keyframes fadeInLeft {
	from {
		opacity: 0;
		-webkit-transform: translate3d(-100%, 0, 0);
		transform: translate3d(-100%, 0, 0);
	}

	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}

.fadeInLeft {
	-webkit-animation-name: fadeInLeft;
	animation-name: fadeInLeft;
}

@-webkit-keyframes zoomIn {
	from {
		opacity: 0;
		-webkit-transform: scale3d(0.3, 0.3, 0.3);
		transform: scale3d(0.3, 0.3, 0.3);
	}

	50% {
		opacity: 1;
	}
}

@keyframes zoomIn {
	from {
		opacity: 0;
		-webkit-transform: scale3d(0.3, 0.3, 0.3);
		transform: scale3d(0.3, 0.3, 0.3);
	}

	50% {
		opacity: 1;
	}
}

.zoomIn {
	-webkit-animation-name: zoomIn;
	animation-name: zoomIn;
}

/* CUSTOM ANIMATE CSS ADDITION */

.animation-delay-20ms {
	-webkit-animation-delay: .2s;
	animation-delay: .2s;
}

.animation-delay-40ms {
	-webkit-animation-delay: .4s;
	animation-delay: .4s;
}

.animation-delay-60ms {
	-webkit-animation-delay: .6s;
	animation-delay: .6s;
}

.animation-delay-80ms {
	-webkit-animation-delay: .8s;
	animation-delay: .8s;
}

.animation-delay-100ms {
	-webkit-animation-delay: 1s;
	animation-delay: 1s;
}

.animation-delay-120ms {
	-webkit-animation-delay: 1.2s;
	animation-delay: 1s;
}

.animation-delay-140ms {
	-webkit-animation-delay: 1.4s;
	animation-delay: 1s;
}

.animation-delay-160ms {
	-webkit-animation-delay: 1.6s;
	animation-delay: 1s;
}

/* CONTENT - FOOTER
----------------------------------------------------------------------------------------------------*/

#footer-copyright {
	background-color:#00314C;
}

#footer-copyright .content {
	padding:30px 15px 15px;
}

#footer-copyright p,
#footer-copyright a {
	font-size:1.6rem;
	color:#fff;
}

#footer-copyright p span {
	display:block;
}

#footer-copyright p a,
#footer-copyright p span {
	color:#00314C;
}

#footer-copyright a.footer-link {
	display:inline-block;
	padding:5px 0;
	margin-bottom:16px;
	border-bottom:1px solid #5c7a87;
}

/* SECTIONS - FOOTER RESPONSIVE CSS
**************************************************************************************/

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

	#footer-copyright p,
	#footer-copyright a {
		font-size:1.4rem;
	}

}

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

	#footer-copyright p,
	#footer-copyright a {
		font-size:1.2rem;
	}

}

/* CONTENT - COOKIES DISCLAIMER
----------------------------------------------------------------------------------------------------*/

#hidden-content {
	display:none;
}

.popup-controls {
	display:flex;
}

.popup-controls:not(.footer) {
	justify-content:end;
}

.popup-controls.footer {
	padding-top:30px;
}

.cookies-disclaimer-popup .f-button {
	display:none;
}

#site-alert-box {
	position:fixed;
	bottom:0;
	left:0;
	padding:25px 40px 30px;
	width:100%;
	display:flex;
	flex-wrap:nowrap;
	gap:30px;
	align-items:center;
	background:rgba(0,0,0,0.8);
	color:#fff;
	z-index:100;
}

#site-alert-box h4 {
	margin-bottom:5px;
}

#site-alert-box > div:first-child a {
	color:#f00;
}

#site-alert-box .link-btn {
	white-space:nowrap;
}

.popup-content h3 {
	color:#000;
	margin-bottom:10px;
}

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

	#site-alert-box {
		padding:25px 15px 30px;
		gap:20px;
	}

	#site-alert-box h4 {
		font-size:1.6rem;
	}

	#site-alert-box p {
		font-size:1.2rem;
	}

	#site-alert-box .link-btn {
		font-size:1.4rem;
	}

}

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

	#site-alert-box {
		padding:20px 15px 30px;
		flex-direction:column;
		text-align:center;
		gap:10px;
	}

	#site-alert-box h4 {
		font-size:1.4rem;
	}

	#site-alert-box .link-btn {
		font-size:1.2rem;
	}

	.popup-controls:not(.footer) .link-btn.close-popup span {
		display:none;
	}

	.popup-controls:not(.footer) {
	    justify-content: end;
	    position: absolute;
	    right: 15px;
	    top: 10px;
	}

	.popup-controls.footer {
	    padding-top: 20px;
	}

}