@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');

:root {
	--wrap: 1520px;
	--paraheight: 600px;
	--oddcolor: #26493b;
	--evencolor: #242531;
	--pagebg: linear-gradient(to right,  #fafbfd 0%,#dbdbdd 100%);
}

html {
	height: 100%;
}

html, body {
	margin: 0;
	padding: 0;
	font-size: 26px;
	zoom: 1;
}

body {
	font-family: 'Roboto', Arial, sans-serif;
	color: #000;
	background: #fff;
}

h1, h2, h3, h4 {
	font-weight: 700;
}

h1 {
	font-size: 2em;
}

h2 {
	font-size: 1.75em;
}

h3 {
	font-size: 1.5em;
}

h4 {
	font-size: 1.25em;
}

p, table tr td {
	font-size: 1em;
	vertical-align: top;
}

h1, h2, h3, h4, p {
	margin: 15px auto 20px;
}

strong {
	font-weight: 600;
}

button {
	cursor: pointer;
}

a {
	text-decoration: none;
	outline: none;
}

span.br {
	display: block;
	font-size: 0;
}

img {
	max-width: 100%;
	height: auto;
}

#bodyCss {
	margin: 0;
	padding: 0;
	font-family: 'Roboto', Arial, sans-serif;
	font-weight: 300;
	color: #000;
	line-height: 1.3;
	text-align: left;
	background: var(--pagebg);
}

.parallax-mirror {
	text-align: left;
}

.mm-wrapper_opened .parallax-mirror {
	z-index: 2 !important;
}

	.wrapper {
		width: var(--wrap);
		margin: 0 auto;
		padding: 0;
		position: relative;
	}

	.full-width .wrapper {
		width: auto;
	}

#header {
	text-align: right;
	background-color: #fff;
}

	.home #header {
		background-color: transparent;
	}

.customLogo {
	position: absolute;
	width: calc(50% + 32px);
	left: 0;
	top: 0;
	z-index: 999;
}

	.customLogo a {
		text-decoration: none;
		color: inherit;
	}

	.logoImg a {
		position: absolute;
		width: 100%;
		height: 100%;
		z-index: 999;
	}

	.mod-custom span.logoImg {
		float: right;
		margin: .65em 0;
	}

	.logoImg .animate {
		position: absolute;
		right: 0;
	}

	.customLogo span.logoTxt {
		display: block;
		padding: .5em 0;
		font-family: 'Roboto', Arial, sans-serif;
		font-size: 1.25em;
		font-weight: 200;
		text-align: left;
		line-height: .95;
		color: #000;
	}

	.customLogo span.logoTxt:first-line {
		font-size: 1.27em;
		font-weight: 300;
	}


	#bannerBanners {
		position: relative;
	}
	
		#bannerBanners .slideImg {
			height: 700px;
			background-position: center center;
		}

	.dotsContainer {
		position: relative;
		width: 100%;
		height: 200px;
		text-align: center;
		overflow: hidden;
	}

	.owl-dots {
		position: absolute;
		left: 0;
		top: 0;
		width: auto;
		white-space: nowrap;
	}

		.owl-dots > .owl-dot {
			position: relative;
			display: inline-block;
			width: 180px;
			height: 180px;
			margin: 10px 6px;
		}

		.owl-dots > .owl-dot:first-child {
			margin-left: 0;
		}

		.owl-dots > .owl-dot:last-child {
			margin-right: 0;
		}

		.owl-dot > img {
			width: 100%;
			height: auto;
		}

	#captionBanners {
		position: absolute;
		width: auto;
		pointer-events: none;
		z-index: 999;
	}

		#captionBanners .name {
			position: relative;
			z-index: 15;
		}

		#captionBanners .desc {
			position: absolute;
			right: -15px;
			bottom: -15px;
			z-index: 10;
		}

		#captionBanners .desc:after {
			content: '\00a0';
			font-size: 0;
			border-style: solid;
			border-color: #b5b5b6 transparent transparent;
			border-width: 15px 15px 0 0;
		}

.lead-items .item-content {
	position: relative;
	margin: 0 auto;
	padding: 5em 0 7em;
	color: #000;
	font-size: 1.2em;
	text-align: center;
	vertical-align: middle;
	z-index: 1;
}

	.lead-items .item-title {
		font-size: 1.5em;
		font-weight: 800;
	}

p.readmore {
	text-align: center;
}

	p.readmore > a {
		display: inline-block;
		margin: 1em auto 0;
		padding: .85em 3.5em;
		color: #fff;
		font-size: .75em;
		text-transform: uppercase;
		background: #bea8a7;
	}

	p.readmore > a:hover {
		background-color: #beb7a7;
	}
	
	.intro-items p.readmore > a {
		margin: 1em 0;
		background: #02bcae;
	}

	figure.item-image {
		position: relative;
		margin: 3em 0 5em;
		max-width: 40%;
	}

		figure.full.item-image {
			width: 100%;
			max-width: 100%;
		}

			figure.full.item-image > img {
				width: 100% !important;
				height: auto !important;
			}

	figure.item-image:before,
	figure.item-image:after {
		content: '\00a0';
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		width: 100%;
		height: 100%;
		z-index: 0;
	}

	figure.item-image img {
		position: relative;
		z-index: 1;
	}

	figure.item-image.left:before {
		left: 2em;
		right: auto;
	}

	figure.item-image.right:before {
		left: auto;
		right: 2em;
	}

	figure.item-image:before {
		top: 2em;
		background: #0002;
	}

	figure.item-image.left:after {
		left: 0;
		right: auto;
	}

	figure.item-image.right:after {
		left: auto;
		right: 0;
	}

	figure.item-image:after {
		top: -1em;
		background: #0001;
	}

aside.left,
figure.item-image.left {
	float: left;
}

aside.right,
figure.item-image.right {
	float: right;
}

figure.item-image.left + .heading {
	margin-left: 30%;
}

	figure.item-image.left img {
		right: -1em;
	}

	figure.item-image.right img {
		left: -1em;
	}

aside {
	width: 30%;
	padding-top: 25px;
	padding-bottom: 25px;
	font-size: initial;
}

	aside.left {
		margin-right: calc(5% - 1px);
		border-right: 1px dashed #000;
	}

	aside.right {
		margin-left: calc(5% - 1px);
		text-align: right;
		border-left: 1px dashed #000;
	}

	.com-content-article__body aside h2 {
		font-size: 2.5em;
		font-weight: 600;
	}

	aside + div {
		margin-left: 35%;
		padding: 25px 0;
	}

	._df_thumb {
		margin: 10px;
		font-size: initial;
	}

h1 em,
h2 em,
h3 em {
	font-style: normal;
	font-weight: 300;
}

.com-content-article__body h2 strong {
	position: relative;
	display: inline-block;
	padding: 0 1em .25em 0;
	font-size: .85em;
	font-weight: 400;
	border-bottom: 1px dotted #000;
}

	.com-content-article__body aside h2 {
		border: 0 none;
	}

.com-content-article__body h2 strong:before {
	position: absolute;
	display: block;
	width: 3.5em;
	height: 4em;
	left: -1.2em;
	top: -1.5em;
	content: '\00a0';
	background: #e8e5e4;
	z-index: -1;
}

hr {
	position: relative;
	display: block;
	width: 50%;
	margin: 2.5em auto 5em;
	height: 2px;
	background: #999;
	border: 0 none;
	overflow: visible;
}

	hr:before,
	hr:after {
		position: absolute;
		display: inline-block;
		width: 50%;
		height: inherit;
		content: '\00a0';
		vertical-align: top;
	}

	hr:before {
		left: -50%;
		background-image: -ms-linear-gradient(to left, #999, #fff0); 
		background-image: -o-linear-gradient(to left, #999, #fff0);
		background-image: linear-gradient(to left, #999, #fff0);
	}

	hr:after {
		right: -50%;
		background-image: -ms-linear-gradient(to right, #999, #fff0); 
		background-image: -o-linear-gradient(to right, #999, #fff0);
		background-image: linear-gradient(to right, #999, #fff0);
	}

div.heading {
	display: block;
	margin: 3em auto 5em;
}

	div.heading p {
		margin: 0;
	}

	div.heading p > img {
		margin: 25px 0 0;
	}

	div.heading p + hr {
		display: block;
		margin: 1.5em 0;
		width: calc(100% - 1em);
		height: 5px;
		background: #000;
	}

		div.heading p + hr:before,
		div.heading p + hr:after {
			display: none;
		}


	div.heading p + hr + h2 {
		display: block;
		margin: 25px 0 0;
		font-size: 1.5em;
		font-weight: 300;
		border: 0 none;
	}

.intro-items .item-content {
	padding: 3em 0;
	text-align: left;
}

	.neat h1.item-title {
		position: relative;
		display: inline-block;
		min-width: 8em;
		padding: .5em 0 .35em;
		border-bottom: 7px solid #fdd326;
		font-size: 2em;
	}

	.neat h1.item-title:before,
	.neat h1.item-title:after {
		position: absolute;
		right: -7px;
		bottom: -7px;
		width: 35px;
		height: 7px;
		content: '\00a0';
		font-size: 0;
		background: #fdd326;
		border-left: 10px solid white;
	}

	.neat h1.item-title:after {
		right: -30px;
		width: 20px;
	}

.intro-items .item-content.parallax {
	padding: 2.5em 0 3.5em;
	color: #fff;
	text-align: center;
}

	.intro-items h1 {
		padding: 1em 0;
		font-size: 2em;
	}

#footer {
	padding: 2em 0 3em;
	color: #535353;
	font-size: initial;
	background: #fff;
}

.customCopyright table td {
	font-size: 1em;
	text-align: left;
	white-space: nowrap;
	vertical-align: top;
}

	.customCopyright > table td {
		padding: 1em;
	}

	.customCopyright > table tr td:first-child {
		text-align: center;
	}

	.customCopyright table tr td:first-child strong {
		font-weight: 400;
	}

	table.contact td {
		padding: 0;
	}

	table.contact tr td:first-child {
		padding-right: .5em;
		text-align: left;
	}

.soc {
	display: inline-block;
	width: 42px;
	height: 42px;
	font-size: 0;
	vertical-align: top;
	background-image: url(../images/soc.png);
}

	.soc.fb {
		margin: 0 7px 0 0;
		background-position: 0 0;
	}

	.soc.tw {
		margin: 0 7px;
		background-position: 50% 0;
	}

	.soc.ig {
		margin: 0 0 0 7px;
		background-position: 100% 0;
	}

form.mod-finder {
	display: inline-block;
	margin-left: 1em;
}

	.mod-finder input.form-control {
		display: inline-block;
		margin: 0 1em 0 0;
		padding: .85em 1.5em;
		border: 0 none;
		vertical-align: middle;
	}

	.mod-finder button.btn-primary {
		display: inline-block;
		padding: 0;
		font-size: 0;
		border: 0 none;
		background: none;
		vertical-align: middle;
	}
	
		.mod-finder .btn-primary .icon-search {
			display: block;
			font-size: initial;
			width: 2em;
			height: 2em;
			background: transparent url(../images/s.png) no-repeat center center;
		}


#footer {
	font-size: 0;
	text-align: left;
}

	#footer .no-card {
		display: inline-block;
		width: 25%;
		margin: 2.5em 0;
		text-align: left;
		font-size: initial;
	}

		#footer .no-card:first-child {
			width: 50%;
		}

	#footer h3 {
		font-weight: 800;
		font-size: 1.5em;
	}

	#footer p {
		font-size: 1.15em;
		font-weight: 400;
	}

	#footer a {
		text-decoration: none;
		color: #144962;
	}

		#footer a:hover {
			color: #5489a2;
		}

	#footer h3,
	#footer p {
		margin: .35em auto;
	}

	#footer .no-card.copyright {
		text-align: right;
	}

	.flooring h3 {
		color: #000;
	}

video {
	width: 100%;
	height: auto;

}


/* DFLIP Button Override */

._df_button {
	display: inline-block;
	margin: .25em auto;
	min-width: 80%;
	font-size: inherit;
	color: inherit;
	border: 1px dashed #ccc;
	vertical-align: top;
	
	background: none;
}

	._df_button:hover {
		border-color: #fff;
		background: #ddd;
	}


/* Tweaks */

.wrapper:before,
.wrapper:after {
	content: "\00a0";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}

.visually-hidden {
	display: none;
}

/* profile */

section .newsflash {
	font-size: 0;
}

	section .newsflash .mod-articlesnews__item {
		display: inline-block;
		width: 30.33%;
		margin: 1em 1.5%;
		font-size: initial;
		vertical-align: top;
		background: #e8e5e4;
	}

	section .newsflash .newsflash-image {
		position: relative;
		display: block;
		margin: 0;
		font-size: initial;
		text-align: center;
	}

		section .newsflash .newsflash-image:before {
			min-height: 150px; /* set min-height for image block */
			font-size: 100%;
			content: '\00a0';
			width: 1px;
			margin-right: -1px;
			background: transparent;
		}

		section .newsflash .newsflash-image:before,
		section .newsflash .newsflash-image img {
			display: inline-block;
			vertical-align: middle;
		}

		section .newsflash .newsflash-image:after {
			display: block;
			position: absolute;
			left: 50%;
			bottom: 0;
			margin: -22px -20px;
			width: 40px;
			height: 40px;
			content: '\00a0';
			font-size: 0;
			background: #bea8a7;
		}

	section .newsflash .newsflash-content {
		padding: 1em 1.5em;
		font-size: 1.25em;
		background: #ccc;
		border-top: 5px solid #000;
	}


.com-content-article__body {
	text-align: inherit;
}

.com-content-article__body > table > tbody > tr > td > img {
	margin-bottom: 20px;
}

.contact .misc {
	margin: 3em auto 1em;
	width: 65%;
	font-size: 1.2em;
}

	.contact-form form {
		width: 65%;
		margin: 3em auto;
		padding: 1.5em 2em;
		text-align: justify;
		background: #fff;
	}

	.contact-form .control-group {
		display: inline-block;
		width: 49%;
	}

	.contact-form input[type="text"],
	.contact-form input[type="email"],
	.contact-form textarea,
	.contact-form select {
		font-family: 'Roboto', Arial, sans-serif;
		font-size: 1em;
		font-weight: 400;
		background: #f0f0f0;
	}

		.contact-form input[type="text"]:focus,
		.contact-form input[type="email"]:focus,
		.contact-form textarea:focus,
		.contact-form select:focus {
			background: #cdd;
		}

	.contact-form input[type="text"],
	.contact-form input[type="email"] {
		width: 92%;
		margin: 0;
		padding: .75em 4%;
		border: 0 none;
	}

	.contact-form div.text {
		margin: .35em 0;
		border-bottom: 2px solid #cde;
	}

	.contact-form select {
		width: 100%;
		margin: 0;
		padding: .45em 2.5% .45em;
		border: 0 none;
	}

	.contact-form div.textarea {
		width: 100%;
	}

		.contact-form textarea.textarea {
			display: block;
			width: 97.5%;
			margin: 0;
			padding: .5em 1.25%;
			border: 0 none;
			resize: none;
		}

	.contact-form div.button,
	.contact-form div.check {
		width: auto;
	}
	
			.contact-form div.check .controls,
			.contact-form div.check .control-label {
				display: inline-block;
				vertical-align: middle;
			}

			.contact-form input.check,
			.contact-form div.check .control-label {
				font-size: .7em;
				text-transform: uppercase;
			}

	.contact-form div.button {
		float: right;
		margin-top: .5em;
	}

		.contact-form button {
			padding: 1em 2em;
			color: #fff;
			font-size: 1em;
			background-color: #09f;
			border: 0 none;
		}

.catalogue td {
	text-align: left;
}


/* CSS Hacks */
.clearFix:after {
	content: "\0020";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}

.clearFix {
	display: inline-block;
}

html[xmlns] .clearFix {
	display: block;
}

* html .clearFix {
	height: 1%;
}

@media only screen and (max-width: 1600px) {
	:root {
		--wrap: 95%;
	}

	figure.item-image.right {
		margin-right: -2.5%;
	}

	figure.item-image.left {
		margin-left: -2.5%;
	}

	figure.item-image.left img {
		right: -2.5vw;
	}

	figure.item-image.right img {
		left: -2.5vw;
	}

	.hide-mobile {
		display: none !important;
	}

	.mobile-only {
		display: initial !important;
	}
}

@media only screen and (max-width: 1200px) {
	aside.left p {
		font-size: 2vw;
	}

	#bannerBanners .slideImg {
		height: 80vh;
		background-position: center center;
	}

	.dotsContainer {
		height: 30vh;
	}

	.owl-dots > .owl-dot {
		width: 25vh;
		height: 25vh;
		margin: 2.5vh 1.25vh;
	}

	#captionBanners[style] {
		top: 50% !important;
	}

	#captionBanners img {
		width: 85%;
	}

	figure.full.item-image {
		margin: .5em 0;
		overflow: hidden;
	}

	figure.full.item-image:before,
	figure.full.item-image:after {
		display: none;
	}

	figure.full.item-image > img {
		width: 200% !important;
		max-width: 200%;
		height: auto !important;
		margin: 0 -50%;
	}

	#footer .no-card {
		display: block;
		width: auto !important;
		text-align: center !important;
	}
}


@media only screen and (max-width: 980px) {
	html,body {
		font-size: 4vw;
	}

	.customLogo {
		font-size: 26px;
	}

	h1, h2, h3, h4, p {
		margin: .5em auto .75em;
	}
	
	hr {
		margin: 1em auto 3em;
	}

	div.heading p + hr {
		width: auto;
	}

	p.readmore > a {
		padding: .85em 2.5em;
	}

	.com-content-article__body aside h2 {
		font-size: 4.5vw;
	}

	aside.right h2 {
		font-size: 4vw;
	}

	section .newsflash .mod-articlesnews__item {
		width: 47%;
	}

	div.heading {
		margin: 1em 0 2em;
		width: 70%;
	}

	figure.item-image {
		width: 30%;
		margin: 2em 0 3em;
	}

	div.heading p > img {
		width: 50%;
	}

	div.heading p + hr {
		margin: 1em auto;
	}

	div.heading p + hr + h2 {
		font-size: 4vw;
	}

	#bannerBanners #sliderBanners {
		margin-top: 0;
	}

	p > img.float-none[style] {
		width: auto !important;
		height: 1.5em !important;
	}

	.contact-form input[type="text"],
	.contact-form input[type="email"] {
		padding: .5em 4%;
	}

	.contact-form input[type="text"],
	.contact-form input[type="email"],
	.contact-form select {
		font-size: 3vw;
	}
}

@media only screen and (max-width: 640px) {
	:root {
		--wrap: 90%;
	}

	h1 {
		font-size: 7vw;
	}

	h2 {
		font-size: 6.75vw;
	}

	h3 {
		font-size: 6.25vw;
	}

	h4, p, table tr td {
		font-size: 4.75vw;
		vertical-align: top;
	}

	h1 em, h2 em, h3 em, h4 em {
		font-weight: 500;
	}

	div.heading p + hr + h2 {
		font-size: 5vw;
	}

	div.heading p > img {
		width: 70%;
	}

	.customLogo {
		font-size: 22px;
	}

	.mod-custom span.logoImg {
		float: left;
		width: 2.5em;
		margin: .5em 0;
	}

	.mod-custom span.logoImg img {
		width: 100%;
	}
	
		.customLogo span.logoTxt {
			margin-left: 2.5em;
			padding: .5em 0;
			font-size: 1.15em;
		}

	#bannerBanners .slideImg {
		height: 60vh;
		background-size: auto 100%;
	}

	#captionBanners[style] {
		top: auto !important;
		bottom: 1em !important;
		right: -5% !important;
		padding-right: 15px;
		overflow: hidden;
	}

	#captionBanners img {
		width: 50%;
	}

	.dotsContainer {
		height: 1em;
		margin-top: -1em;
	}

	.owl-dots {
		right: 0;
		left: auto;
		bottom: 0;
	}

	.owl-dots > .owl-dot:first-child {
		margin-left: .35em;
	}

	.owl-dots > .owl-dot:last-child {
		margin-right: .35em;
	}

	.owl-dots > .owl-dot {
		margin: .3em .15em;
		width: .4em;
		height: .4em;
		border-radius: .5em;
	}

	.owl-carousel .owl-nav button.owl-next,
	.owl-carousel .owl-nav button.owl-prev,
	.owl-carousel button.owl-dot {
		background: #9995;
		border: 1px solid #ccc7;
	}

	.owl-carousel .owl-dot.active {
		background: #ccc8;
		border: 1px solid #fff8;
	}

	.owl-dots > .owl-dot img,
	.owl-dot:after,
	#captionBanners .desc {
		display: none;
	}

	.com-content-article__body aside h2 {
		font-size: 7vw;
	}

	.com-content-article__body h2 strong {
		font-size: inherit;
	}

	section .newsflash .mod-articlesnews__item {
		width: 97%;
	}

	aside.left,
	aside.right {
		display: block;
		float: none;
		width: auto;
		margin: 0 auto;
		padding: .25em;
		border: 0 none;
	}

		aside.left p {
			text-align: center;
		}

		aside.left br {
			display: inline-block;
			content: '\00a0';
			width: .25em;
			height: .25em
		}

	aside + div {
		margin: 0 auto;
	}

	figure.item-image.right {
		margin-right: -5%;
	}

	figure.item-image.left {
		margin-left: -5%;
	}

	figure.item-image.left img {
		right: -5vw;
		top: .5em;
	}

	figure.item-image.right img {
		left: -5vw;
		top: .5em;
	}

	figure.item-image.right:after {
		right: 2.5vw;
	}
	
	figure.item-image.left:after {
		left: 2.5vw;
	}
	
	table[style] {
		width: 100% !important;
	}

	.com-content-article__body > table > colgroup {
		display: none;
	}

	.com-content-article__body > table > tbody > tr > td {
		display: block;
	}

	#footer .no-card {
		font-size: 2.85vw;
	}

	table.catalogue td {
		display: block;
		margin: 0 !important;
		padding: 0 !important;
		font-size: 0 !important;
	}

	._df_thumb {
		display: inline-block;
		width: 31.33%;
		height: 35vw;
		margin: 1vw 1% 2vw;
	}
}