html, body {
	font-size: 17px;
	color: var(--text-color);
}
.toggle.close, .toggle.close:hover, .toggle.close:focus {
	display: inline-block;
	float: none!important;
	width: var(--toggle-width,46px);
	height: var(--toggle-height,46px);
	margin-left: auto;
	padding: 0;
	text-align: center;
}
.toggle.close [class^="bi-"]::before, .toggle.close [class*=" bi-"]::before,
.toggle.close [class^="si-"]::before, .toggle.close [class*=" si-"]::before {
	font-size: 32px;
	line-height: var(--toggle-height,46px);
}

.toggle-wrap .collapsing,
.toggle-wrap .collapse {
	position: absolute;
	top: 100%;
	z-index: 9100;
	padding: 1rem;
}
.toggle-wrap .collapsing ul,
.toggle-wrap .collapse ul {
	display: block;
	list-style: none;
	margin: 0;
	padding: 0;
	min-width: 200px;
}

.list-inline {
	display: inline-flex;
	list-style: none;
	margin: 0;
	padding: 0;
}
.list-inline li + li {
	margin-left: 1rem;
}

.logo img {
	display: block;
	max-width: 50%;
	width: auto;
	height: auto;
}

.nav-root .caption {
	color: #ffffff;
}

.breadcrumb {
	font-size: .875rem;
	font-weight: 400;
	margin: 0;
	padding: 1rem 0;
	line-height: 1.7;
	color: #ffffff;
}
.breadcrumb .divider {
	display: none;
}
.breadcrumb li + li::before {
	content: '›';
	display: inline-block;
	padding: 0 .5rem;
	color: var(--secondary-color);
}
.breadcrumb a, .breadcrumb a:hover, .breadcrumb a:focus {
	font-size: .75rem;
	font-weight: 700;
	text-decoration: none;
	text-transform: uppercase;
	transition: color var(--speed);
}
.breadcrumb a:hover, .breadcrumb a:focus {
	color: var(--primary-light-color);
}
.arrow-pipe .breadcrumb li + li::before { content: '|'; }
.arrow-slash .breadcrumb li + li::before { content: '/'; }
.arrow-greater .breadcrumb li + li::before { content: '›'; }
.arrow-play .breadcrumb li + li::before { content: '►'; }


.contact ul {
	list-style: none;
	margin: 1rem 0;
	padding: 0;
}
.contact ul li {
	list-style: none;
	padding-top: .25rem;
	padding-bottom: .25rem;
}
#map, .map {
	height: 400px;
}

footer {
	position:relative;
	padding: 5rem 0 3rem;
	color: var(--footer-color);
	background: var(--footer-background);
}
footer .shape {
	display: none;
}

footer a, footer a:hover, footer a:focus {
	color: var(--footer-link-color);
	text-decoration: none;
	transition: all var(--speed);
}
footer a:hover, footer a:focus {
	color: #ffffff;
}
footer img {
	max-width: 180px;
	max-height: 180px;
	width: auto;
	height: auto;
}
footer .caption {
	padding: .5rem 1rem;
	font-weight: 700;
	font-size: 1.25rem;
	color: #ffffff;
}
footer .si::before {
	color: var(--primary-color);
	font-size: 20px;
}
footer .contact .caption {
	padding: .5rem 0;
}

.nav-flat a, .nav-flat a:hover, .nav-flat a:focus {
	transition: all .3s;
}
.nav-flat a:hover, .nav-flat a:focus {
	background: none;
}
.wrap-copyright {
	text-align: center;
	font-size: 0.875rem;
}

#search-cover {
	position: fixed;
	inset: 0;
	z-index: 10;
	align-items: center;
	justify-content: center;
	display: none;
	color: #ffffff;
	background: var(--primary-alpha80-color);
}
#search-cover.open {
	display: flex;
}
#search-cover .nav-head {
	position: absolute;
	top: 1rem;
	right: 1rem;
}
.btn-search, .btn-search:hover {
	color: #ffffff;
	border: 0;
}

@media (min-width:992px) {

	nav.alter,
	nav.alter.collapse:not(.show) {
		display: block;
		order: 1;
		flex: 1 0 100%;
		background: var(--primary-color);
	}
	.form-search {
		display: inline-flex;
		order: initial;
		width: auto;
	}
	.form-search input {
		padding: 1rem 2rem;
		width: 400px;
		font-size: 1.5rem;
	}
	nav.alter > .container, nav.alter > .container-fluid {
		padding-top: 7px;
		padding-bottom: 7px;
	}
	nav.alter, nav.alter a, nav.alter a:hover, nav.alter a:focus {
		color: #ffffff;
	}


	/*footer {
		padding-bottom: 5rem;
	}*/
	footer {
		overflow: hidden;
	}
	footer .shape {
		position: absolute;
		bottom: 0;
		left: 170px;
		z-index: 0;
		display: block;
		width: 587px;
		height: 476px;
		/*
		background: url(/images/asset-2.png);
		animation: moveLeftRight 4s infinite alternate;
		*/
	}
	footer .shape + .shape {
		top: -9%;
		left: auto;
		right: 0;
		max-width: 276px;
		max-height: 266px;
		/*
		background: url(/images/asset-3.png);
		animation: moveUpDown 2.5s infinite alternate;
		*/
	}
	footer > .container {
		position: relative;
		z-index:1;
	}
	footer .collapse:not(.show),
	footer .collapsing,
	footer .collapsing:not(.show) {
		display: block;
		height: auto;
		overflow: auto;
	}
	.nav-flat .nav-body {
		column-count: 2;
	}
	.wrap-copyright {
		text-align: left;
	}
}
@media (min-width:1200px) {
	.nav-flat .nav-body {
		column-count: 3;
	}
}

.hover-fade-bottom {
	position: relative;
}

.hover-fade-bottom .hover-target {
	display: none;
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translate(-50%,-50%);
	opacity: 0;
	transition: all var(--speed);
	pointer-events: none;
}
@media (min-width:992px) {
	.hover-fade-bottom .hover-target {
		display: block;
	}
	.hover-fade-bottom:hover .hover-target {
		top: 50%;
		opacity: 1;
		pointer-events: initial;
	}
}

/**
 * Attached documents
 */
.attached-docs ul { display: block; margin: 0; padding: 0; margin-top: 30px; list-style: none; }
.attached-docs ul li:before { display: none; }
.attached-docs a { display: block; font-size: 1.2em; }
.attached-docs a[href$='.pdf'],
.attached-docs a.icon-PDF {
	background:transparent url(//static.torus.gr/icons/filetypes/pdf/pdf-32_32.png) no-repeat 1rem center / auto 1.5rem; padding:.5rem 0 .5rem 3rem; }
.attached-docs a[href$='.xls'],
.attached-docs a[href$='.xlsx'],
.attached-docs a[href$='.csv'],
.attached-docs a[href$='.xlw'],
.attached-docs a[href$='.xlt'] {
	background:transparent url(//static.torus.gr/icons/filetypes/xlsx_win/xlsx_win-32_32.png) no-repeat 1rem center / auto 1.5rem; padding:.5rem 0 .5rem 3rem; }
.attached-docs a[href$='.doc'],
.attached-docs a[href$='.docx'],
.attached-docs a[href$='.rtf'],
.attached-docs a[href$='.wps'],
.attached-docs a[href$='.txt'] {
	background:transparent url(//static.torus.gr/icons/filetypes/docx_win/docx_win-32_32.png) no-repeat 1rem center / auto 1.5rem; padding:.5rem 0 .5rem 3rem; }
.attached-docs a[href$='.pps'],
.attached-docs a[href$='.ppt'],
.attached-docs a[href$='.ppsx'],
.attached-docs a[href$='.pptx'] {
	background:transparent url(//static.torus.gr/icons/filetypes/pptx_win/pptx_win-32_32.png) no-repeat 1rem center / auto 1.5rem; padding:.5rem 0 .5rem 3rem; }
.attached-docs a[href$='.zip'] {
	background:transparent url(//static.torus.gr/icons/filetypes/zip/zip-32_32.png) no-repeat 1rem center / auto 1.5rem; padding:.5rem 0 .5rem 3rem; }
.attached-docs a[href$='.7z'],
.attached-docs a[href$='.rar'] {
	background:transparent url(//static.torus.gr/icons/filetypes/rar/rar-32_32.png) no-repeat 1rem center / auto 1.5rem; padding:.5rem 0 .5rem 3rem; }
.attached-docs a[href$='.jpg'],
.attached-docs a[href$='.jpe'],
.attached-docs a[href$='.jpeg'] {
	background:transparent url(//static.torus.gr/icons/filetypes/jpeg/jpeg-32_32.png) no-repeat 1rem center / auto 1.5rem; padding:.5rem 0 .5rem 3rem; }
.attached-docs a[href$='.gif'] {
	background:transparent url(//static.torus.gr/icons/filetypes/gif/gif-32_32.png) no-repeat 1rem center / auto 1.5rem; padding:.5rem 0 .5rem 3rem; }
.attached-docs a[href$='.png'] {
	background:transparent url(//static.torus.gr/icons/filetypes/png/png-32_32.png) no-repeat 1rem center / auto 1.5rem; padding:.5rem 0 .5rem 3rem; }
.attached-docs a[href$='.tif'],
.attached-docs a[href$='.tiff'] {
	background:transparent url(//static.torus.gr/icons/filetypes/tiff/tiff-32_32.png) no-repeat 1rem center / auto 1.5rem; padding:.5rem 0 .5rem 3rem; }
/* mailto and external links
a[href^="mailto:"] {
	background:transparent url(../images/mailto.png) center left no-repeat; padding-left:20px; line-height:15px; }
 */
.attached-docs a, .attached-docs a:hover {
	text-decoration: none;
	background-color: var(--nav-lg-root-bg-color,#333333)!important;
	margin-bottom: 1rem;
	transition: all var(--speed);
}
.attached-docs a:hover { color: #ffffff; background-color: var(--secondary-color)!important; }
.attached-docs .filetitle { font-weight: bold; }
.attached-docs .filelocation { display: block; font-weight: normal; text-style: italic; font-size: .875rem; clear: both; }

/**
 * Language
 */
.lang-select {
	display: block;
	text-align: center;
}
.btn-lang-select {
	display: block;
	width: 42px;
	height: 42px;
	background: none;
	border: 0;
	font-size: 1.2rem;
	line-height: 42px;
}
.btn-lang-select {
	line-height: 18px;
}
.btn-lang-select:before {
	content: '';
	display: inline-block;
	width: 20px;
	height: 14px;
	background: url(//static.torus.gr/tinyflags/gr.png) 0 0 / 20px 14px no-repeat;
}
.lang-select .dropdown-toggle::after {
	display: none;
}
.lang-item,
.lang-item:hover {
	padding: 15px;
	line-height: 18px;
}
.lang-item:before {
	content: '';
	display: inline-block;
	width: 20px;
	height: 14px;
	background: url(//static.torus.gr/tinyflags/gr.png) 0 0 / 20px 14px no-repeat;
	margin-right: .5rem;
}
.lang-item-en:before,
.btn-lang-select.curr-lang-en:before { background-image: url(//static.torus.gr/tinyflags/gb.png); }
.lang-item-el:before,
.btn-lang-select.curr-lang-el:before { background-image: url(//static.torus.gr/tinyflags/gr.png); }

@media (min-width:768px) {
	.btn-lang-select {
		width: 68px;
	}
}

/**
 * Thumbnails
 */
.thumb {
	position: relative;
	display: block;
	width: 100%;
	height: 0;
	padding: 0;
	padding-bottom: 100%;	/* Default to 1:1 */
	overflow: hidden;
	background: none;
}
.thumb img {
	position: absolute;
	top: 50%; left: 50%;
	transform: translate(-50%,-50%);
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;
}
.thumb.cover {
	overflow: hidden;
}
.thumb.cover img {
	width: 100%;
	max-width: none;
	object-fit: cover;
	aspect-ratio: 1;
}
.thumb.cover img.portrait {
	width: 100%;
	height: auto;
	max-height: none;
}
.thumb img.bottom {
	top: auto;
	bottom: 0;
	transform: translate(-50%,0);
}
.thumb.round {
	border-radius: 50%;
	overflow: hidden;
}
.thumb.sq,
.thumb.aspect1x1 { padding-bottom: 100%; }
.thumb.aspect2x1 { padding-bottom: 50%; }
.thumb.aspect16x9 { padding-bottom: 56.25%; }
.thumb.aspect4x3 { padding-bottom: 75%; }

.thumb .caption {
	position: absolute;
	z-index: 2;
	left: 50%;
	bottom: -100%;
	transform: translate(-50%,50%);
	transition: all .3s;
	color: #ffffff;
	font-size: 1.5rem;
	font-weight: normal;
}
.thumb:hover .caption {
	bottom: 50%;
}

/* effects */
.thumb.overlay::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1;
	display: block;
	background: var(--brand-secondary-color-fade50);
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
	opacity: 0;
}
.thumb.overlay:hover::after {
	opacity: 1;
}
.thumb.bw2color img {
	transition: filter .5s;
	-webkit-filter: grayscale(100%); /* Safari 6.0 - 9.0 */
	filter: grayscale(100%);
}
.thumb.bw2color:hover img {
	-webkit-filter: grayscale(0); /* Safari 6.0 - 9.0 */
	filter: grayscale(0);
}

.thumb.border-in {
}
.thumb.border-in::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1;
	background-color: var(--brand-secondary-color-fade50);
	-webkit-transition: .3s;
	-o-transition: .3s;
	transition: .3s;
	opacity: 0;
}
.thumb.border-in:hover::after {
	opacity: 1;
}
.thumb.border-in .caption {
	position: absolute;
	z-index: 2;
	top: 0; bottom: 0; left: 0; right: 0;
	padding: 10px;
	background-color: rgba(47, 56, 71, 0.45);
	border: 2px solid white;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	margin: 0;
	transition: .3s ease-out;
	-webkit-transform: rotate(2deg);
	-ms-transform: rotate(2deg);
	transform: rotate(2deg);
}
.thumb.border-in:hover .caption {
	opacity: 1;
	-webkit-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
	transform: rotate(0deg);
	margin: 10px;
}

.thumb.stack-3-left {
	display: inline-block;
	position: relative;
	max-width: 100%;
	-webkit-perspective: 1600px;
	perspective: 1600px;
}
.thumb.stack-3-left img {
	-webkit-transform: translateZ(0) translateX(0) rotateY(0);
	transform: translateZ(0) translateX(0) rotateY(0);
	max-width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	-webkit-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
	outline: 1px solid transparent;
}
.thumb.stack-3-left img:last-child {
	position: relative;
}
.thumb.stack-3-left:hover img:first-child {
	-webkit-transform: translateZ(-300px) translateX(20%) rotateY(-45deg);
	transform: translateZ(-300px) translateX(20%) rotateY(-45deg);
}
.thumb.stack-3-left:hover img:nth-child(2) {
	-webkit-transform: translateZ(-300px) rotateY(-45deg);
	transform: translateZ(-300px) rotateY(-45deg);
}
.thumb.stack-3-left:hover img:nth-child(3) {
	-webkit-transform: translateZ(-300px) translateX(-20%) rotateY(-45deg);
	transform: translateZ(-300px) translateX(-20%) rotateY(-45deg);
}

.thumb.framed {
	display: block;
	padding: 0;
	height: auto;
	aspect-ratio: 10 / 7;
	background: url(/images/frame-landscape1.svg) 100% 100% / cover no-repeat
			  , var(--bg-image) center / cover no-repeat;
}
.thumb.framed .border-cover {
	position: absolute;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	border: 1px solid #ffffff;
}

@media (min-width:992px) {
	.thumb.border-in:hover .caption {
		margin: 2rem;
	}
}

/**
 * Hover effects
 */
.he {
	position: relative;
	transition: all var(--speed);
}
.he:hover {
	z-index: 2;
}
.he-zoomin {
	will-change: transform;
}
.he-zoomin:hover {
	transform: scale(1.1);
}
.he-shadow-3 {
	will-change: opacity;
}
.he-shadow-3:hover {
	box-shadow: 0 0 1rem rgba(0,0,0,.5);
}
.he-mid2bot {
	position: absolute;
	bottom: 50%;
	left: 50%;
	transform: translate(-50%,50%);
}
.he-wrap:hover .he-mid2bot {
	bottom: 0;
	transform: translate(-50%,0);
}

.theme-photo {
	position: relative;
}
.theme-photo::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 2;
	background-color: var(--primary-alpha20-color);
	transition: background-color var(--speed);
}
.theme-photo:hover::after {
	background-color: var(--primary-alpha50-color);
}

.region-tile {
	display: block;
	width: 100%;
	padding: 0;
	aspect-ratio: 2 / 1;
	overflow: hidden;
	background: url(/images/rhombuses.svg) center / cover, var(--bg-image) center / contain;
}

.area-prefecture {
	padding: 3rem 0;
}
.area-prefecture:nth-child(2n) {
	color: #ffffff;
	background-color: var(--primary-verydark-color);
}
.area-prefecture:nth-child(2n) h2,
.area-prefecture:nth-child(2n) a,
.area-prefecture:nth-child(2n) a:hover,
.area-prefecture:nth-child(2n) a:focus {
	color: #ffffff;
}
.area-prefecture .row > *:first-child {
	margin-bottom: 3rem;
}
.area-prefecture .row > *:last-child {
	padding: 0 3rem;
}
.area-prefecture:nth-child(2n) .region-tile {
	background: url(/images/rhombuses-ondark.svg) center / cover, var(--bg-image) center / contain;
}
@media (min-width: 768px) {
	.area-prefecture {
		padding: 5rem 0;
	}
	.area-prefecture .row > *:first-child {
		margin-bottom: 0;
	}
	.area-prefecture:nth-child(2n) .row > *:last-child {
		order: 1;
		text-align: right;
	}
	.area-prefecture:nth-child(2n) .row > *:first-child {
		order: 2;
	}
}

/**
 * Map
 */
#map-wrap {
	position: relative;
}
#map-canvas {
	height: calc(100vh - 120px);
}
#map-panel {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	display: block;
	padding: 1rem;
	background-color: #fffc;
	background-color: #22445fcc;
	color: #ffffff;
	transform: translateX(calc(1rem - 100%));
	transition: all var(--speed);
}
#map-panel.visible {
	transform: translateX(0);
}
#toggle-button {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(100%, -50%);
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 36px;
	height: 36px;
	background-color: #fffc;
	background-color: #22445fcc;
	color: #ffffff;
}
#toggle-button button {
	color: #ffffff;
	background: none;
	border: 0;
}
#map-panel .bi-chevron-left {
	display: none;
}
#map-panel.visible .bi-chevron-left {
	display: inline;
}
#map-panel.visible .bi-chevron-right {
	display: none;
}
#map-panel h2, #map-panel .h2 {
	color: #ffffff;
}

@media (max-width: 991px) and (orientation: landscape) {
	#map-canvas {
		height: calc(100vh - 65px);
	}
}
@media (min-width: 992px) {
	#map-canvas {
		height: 500px;
	}
}
@media (min-width: 1200px) {
	#map-canvas {
		height: 600px;
	}
}

/**
 * Video
 */
.video-section {
	max-width: 640px;
	margin: 30px auto;
	border: 8px solid #ffffff;
	overflow: hidden;
}
.video-container {
	padding: 15px;
	background: rgba(0,0,0,0.5);
	position: relative;
	width: 100%;
	height: 0;
	padding: 0;
	padding-bottom: 56.25%; /* The height of the item will now be 56% of the width. */
	margin: auto;
	overflow: hidden;
}
.video-container iframe,
.video-container video,
.video-container object,
.video-container embed {
	display: block;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	border: 0;
}
.product-video {
	display: flex;
	flex-flow: column wrap;
	justify-content: center;
}
.product-video iframe {
	width: 90vw;
	height: 50vw;
	margin: 0 auto 2rem;
}
@media (min-width:992px) {
	.product-video iframe {
		width: 45vw;
		height: 25vw;
	}
}

/**
 * Forms
 */
 
.form-tbl, .form-tbl fieldset { display: table; border-collapse: collapse; width: 100%; }
.form-tbl table { width: 100%; }
.form-tbl .fieldwrap { display: table-row; width: 100%; }
.form-tbl label, .form-tbl .control, .form-tbl td, .form-tbl th {
	display: table-cell;
	vertical-align: top;
	float: none;
	height: 100%;
	margin: 0;
	padding: 7px 15px;
	border: 1px solid var(--line-color);
}
.form-tbl label.radioLabel { display: inline; }
.form-tbl .ajaxHint { display: none; }
.form-tbl td { width: 70%; font-weight: bold; }
.form-tbl th { width: 30%; font-weight: normal; text-transform: uppercase; }
.form-tbl label { font-weight: normal; text-transform: uppercase; }
.form-tbl .control { font-weight: bold; }
.form-tbl fieldset .control { width: 70%; }
.form-tbl .fieldwrap label { border-right: 0; }
.form-tbl .fieldset label { border: 1px solid #f0f0f0; border-right: 0; }
.form-tbl .fieldset label h4 { text-transform: uppercase; color: #66aaff; font-size: 13px; font-weight: bold; margin: 0; }
.form-tbl .fieldwrap + .fieldwrap label, .form-tbl .fieldwrap + .fieldwrap .control { border-top: 0; }
.form-tbl .btn { margin-top: 15px; }
.form-tbl fieldset .fieldwrap + .fieldwrap label, .form-tbl fieldset .fieldwrap + .fieldwrap .control { border-top: 1px solid #f0f0f0; }
.form-tbl .info-box { display: table-cell; margin: 0; display: none; }
.form-tbl .form-tbl .fieldwrap { width: 100%; }
.form-tbl legend { display: table-row; color: #f02727; text-transform: uppercase; font-size: 12px; font-weight: bold; margin: 0; }
.form-tbl legend span { display: table-cell; }

.form-inner { margin: 0 3em; }

/*
.form-control {
	border-radius: 15px;
	-webkit-box-shadow: 0 0 0 transparent;
	box-shadow: 0 0 0 transparent;
}
*/
.form-control, .form-control:focus, .form-control:hover {
	 border-color: #c0c0c0;
}
.form-control:focus, .form-control:hover {
	 border-color: var(--brand-color);
}
.form-control:focus {
	 border-color: var(--brand-color-alt);
}

.map-selector { height: 200px; }
.map-selector label { width: auto; display:inline; }
.map-selector img { max-height: none; max-width: none; }

.validResult { display: none; }
.control-display { }
.form-horizontal .control-label { text-align: left; }
.form-inner h3 { margin: .5em 0; }
.radio-group { display: table-row; }
.radio-group .control, .radio-group label { display: table-cell; vertical-align: top; padding: 5px; position: static; }

.empty-message,
.error-message { display: none; }

.alert-danger {
	color: #cc0077;
};
.invalid .error-message { display: block; }
.empty .empty-message,
.invalid.empty .empty-message { display: block; }

.form-group { position: relative; }
.form-group .alert-danger { background: none; border: 0; border-radius: 0; }
.form-group .alert { box-shadow: 0 0 0 transparent; font-size: 14px; margin: 0; padding: 7px; }

.info-box {
	font-size: 14px;
	font-style: italic;
}
.asterisk:after {
	content: '*';
	color: #cc0077;
}

.form-control,
.form-control:hover,
.form-control:focus,
.form-select,
.form-select:hover,
.form-select:focus,
.input-group > .input-group-text { border-radius: var(--control-border-radius); box-shadow: 0 0 0 transparent; }

.form-buttons { margin-top: 15px; }

.form-material {
	max-width: 100%;
	margin: 0;
	padding: 1rem;
	background: #eef0ff;
	background: #ffffff;
	border: 1px solid var(--brand-color-alt);
}
.form-material .well {
}
.form-material .form-group {
	position: relative;
	margin: 1rem 0;
}
.form-material .form-group label {
	position: absolute;
	top: -0.6rem;
	left: 2.5rem;
	font-size: .9rem;
	font-weight: bold;
	padding: 0 0.8rem;
	background: #ffffff;
}
.form-material .form-group .control label,
.form-material .form-group.control-checkbox label {
	position: static;
}
.form-material .form-control,
.form-material .control-display {
	height: auto;
	padding: 1rem 2rem;
	border: 1px solid var(--line-color);
}
.form-material .form-control:focus {
	border-color: var(--brand-primary-color);
}
.form-material .form-link {
	margin: 0.375rem 0;
}
.form-material .form-link .fa, .form-material .form-link .fas {
	display: inline-block;
	width: 2rem;
}

.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-select ~ label {
	z-index: 10;
}
.form-floating > .input-group > .form-control {
	height: calc(3.5rem + 2px);
	padding: 1rem .75rem;
}
.form-floating > .input-group > .form-control:focus,
.form-floating > .input-group > .form-control:not(:placeholder-shown) {
	padding-top: 1.625rem;
	padding-bottom: .625rem;
}
.form-floating > .input-group > label {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	padding: 1rem .75rem;
	pointer-events: none;
	border: 1px solid transparent;
	transform-origin: 0 0;
	transition: opacity .1s ease-in-out,transform .1s ease-in-out;
}
.form-floating > .input-group > .form-control::placeholder {
	color: transparent;
}
.form-floating > .input-group > .form-control:focus ~ label,
.form-floating > .input-group > .form-control:not(:placeholder-shown) ~ label {
	opacity: .65;
	transform: scale(.85) translateY(-.5rem) translateX(.15rem);
	z-index: 10;
}
.form-floating > textarea {
	min-height: 6rem;
}
.btn-group {
	width: auto;
}

@media (min-width:768px) {
	.form-material {
		max-width: 400px;
		margin: 0 auto;
		padding: 2rem;
	}
	.form-material.form-wide {
		max-width: 600px;
	}
}
@media (min-width:992px) {
	.form-material.form-wide {
		max-width: 800px;
	}
}



/**
 * Parsley
 */
.parsley-errors-list {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
	padding: 0;
	color: #aa0000;
	list-style: none;
}
.parsley-errors-list li:before {
	display: block;
	float: left;
	margin-right: 5px;
	width: 16px;
	height: 16px;
	font: normal 16px/20px var(--icons-font);
	content: '\F33B';
}
.parsley-errors-list.filled:before {
	display: table;
	content: '';
	clear: both;
	height: 1px;
}
.parsley-error:after,
.parsley-error:before {
	content: '';
	display: block;
	height: 0;
	clear: both;
}
.parsley-errors-list li {
	border-radius: 12px;
	padding: 2px 10px;
	background: #ffffff;
}

/**
 * Ajax
 */
.ajax-container {
	position: relative;
	display: block;
	min-height: 100px;
}
.ajax-inline { display: inline-block; }
.working {
	position: relative;
}
.working:after {

	position: absolute;
	top: 50%;
	left: 50%;
	margin: 0;
	padding: 0;
	margin-top: -24px;
	margin-left: -24px;

	content: ' ';
	width: 48px;
	height: 48px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' xml:space='preserve'%3E%3Cpath fill='%23dd0733' d='M31.6 3.5C5.9 13.6-6.6 42.7 3.5 68.4a49.93 49.93 0 0 0 64.9 28.1l-3.1-7.9a41.46 41.46 0 1 1-30.5-77.1l-3.2-8z'%3E%3CanimateTransform attributeName='transform' attributeType='XML' type='rotate' dur='2s' from='0 50 50' to='360 50 50' repeatCount='indefinite'/%3E%3C/path%3E%3Cpath fill='%2300f' d='M42.3 39.6c5.7-4.3 13.9-3.1 18.1 2.7 4.3 5.7 3.1 13.9-2.7 18.1l4.1 5.5a19.8 19.8 0 0 0-23.6-31.8l4.1 5.5z'%3E%3CanimateTransform attributeName='transform' attributeType='XML' type='rotate' dur='1s' from='0 50 50' to='-360 50 50' repeatCount='indefinite'/%3E%3C/path%3E%3Cpath fill='%2300f' d='M82 35.7C74.1 18 53.4 10.1 35.7 18S10.1 46.6 18 64.3l7.6-3.4c-6-13.5 0-29.3 13.5-35.3s29.3 0 35.3 13.5l7.6-3.4z'%3E%3CanimateTransform attributeName='transform' attributeType='XML' type='rotate' dur='2s' from='0 50 50' to='360 50 50' repeatCount='indefinite'/%3E%3C/path%3E%3C/svg%3E")
		50% 50% no-repeat;
	min-height: 48px;
}
.ajax-container th {
	font-weight: normal;
	text-align: right;
	font-size: 85%;
}
.ajax-container th h4 {
	text-align: center;
}
.ajax-container .btn {
}

.ajaxLookup { position: relative; }
.ajaxLookup > input {
	position: absolute;
	top: 0;
	left: 15px;
	z-index: -1;
}

.ajaxLookupResults {
	max-height: 300px;
	overflow-y: auto;
}
.ajaxLookupResults table {
	width: 100%;
	border-collapse: collapse;
}
.ajaxLookupResults table tr {
	border-bottom: 1px solid var(--line-color);
	cursor: pointer;
}
.ajaxLookupResults table tr:hover td {
	color: #ffffff;
	background: var(--primary-color);
}
.ajaxLookupResults table tr td {
	padding: 3px;
	vertical-align: top;
	font-size: 85%;
}

/**
 * Modal
 */
.modal-content {
    -webkit-border-radius: 0;
    -webkit-background-clip: padding-box;
    -moz-border-radius: 0;
    -moz-background-clip: padding;
    border-radius: 15px;
    background-clip: padding-box;
    -webkit-box-shadow: 0 0 40px rgba(0,0,0,.5);
    -moz-box-shadow: 0 0 40px rgba(0,0,0,.5);
    box-shadow: 0 0 40px rgba(0,0,0,.5);
}
.modal-message .modal-dialog {
    width: 450px;
}
.modal-message .modal-body, .modal-message .modal-footer, .modal-message .modal-header, .modal-message .modal-title {
    background: 0 0;
    border: none;
    margin: 0;
    padding: 0 20px;
    text-align: center!important;
    font-size: 14px;
}
.modal-message label {
	font-size: 12px;
}
.modal-message .btn {
	font-size: 12px;
}
.modal-message .modal-title {
    font-size: 17px;
    color: #666666;
    margin-bottom: 3px;
}

.modal-message .modal-body {
    color: #999999;
}
.modal-message .modal-header {
    color: #ffffff;
    margin-bottom: 10px;
    padding: 15px 0 8px;
}
.modal-message .modal-header .fas, 
.modal-message .modal-header .fab, 
.modal-message .modal-header .glyphicon {
    font-size: 30px;
}

.modal-message .modal-footer {
    margin: 25px 0 20px;
    padding-bottom: 10px;
}

.modal-backdrop.in {
    zoom: 1;
    filter: alpha(opacity=40);
    -webkit-opacity: .10;
    -moz-opacity: .40;
    opacity: .40;
}
.modal-backdrop {
	background-color: #000000;
}
.modal-message .modal-header {
	justify-content: center;
	font-size: 40px;
}
.modal-message.modal-success .modal-header {
    color: #5cb85c;
    border-bottom: 3px solid #5cb85c;
}

.modal-message.modal-info .modal-header {
    color: #1FA9FF;
    border-bottom: 3px solid #1FA9FF;
}

.modal-message.modal-danger .modal-header {
    color: #FF0000;
    border-bottom: 3px solid #FF0000;
}

.modal-message.modal-warning .modal-header {
    color: #EFB03B;
    border-bottom: 3px solid #EFB03B;
}
.modal-message .form-group {
	display: flex;
	flex-wrap: wrap;
}
.modal-message .control {
	order: 1;
	flex-basis: 30px;
}
.modal-message .control-label {
	order: 2;
	flex-basis: calc(100% - 30px);
	text-align: left;
}
/**
 * Marquee
 */
.marquee {
	z-index: 10;
	position: relative;
	width: 100%;
	height: 60px;
	margin: 0 auto;
	padding: 15px;
	border-radius: 15px;
	overflow: hidden;
	background: #777777;
}
@keyframes marquee {
	from { margin-left: 100%; }
	to { margin-left: -850px; }
}
.marquee h3 {
	position: absolute;
	color: #ffffff;
	display: inline-block;
	width: 850px;
	margin: 0;
	line-height: 30px;
	font-size: 22px;
	animation: marquee 20s linear 0s infinite;
}
.marquee h3:hover {
	-moz-animation-play-state: paused;
	-webkit-animation-play-state: paused;
	animation-play-state: paused;
}

/**
 * Cookies box
 */
.cb-cookiesbox {
	position: fixed;
	top: auto; left: 0; right: 0; bottom: 0;
	z-index: 1010;
	display: block;
	padding: 8px;
	margin: 0;
	color: #ffffff;
	background: var(--primary-darker-color);
	font-size: .75rem;
}
.cb-cookiesbox p {
	margin: 0;
	text-align: center;
	line-height: 1em;
}
.cb-cookiesbox .btn {
	margin: .5rem 0;
	font-size: .75rem;
	color: #ffffff;
	background: none;
	border: 1px solid var(--primary-verydark-color);
}
.cb-cookiesbox .btn-close {
	position: absolute;
	top: 0;
	right: 0;
	display: inline-block;
	width: 24px;
	height: 24px;
	font-size: 24px;
	line-height: 24px;
	text-align: center;
	text-decoration: none;
	color: #ffffff;
	background: none;
}
.cb-cookiesbox .btn-close::before {
	font-family: 'bootstrap-icons';
	content: '\f659';
}
@media (orientation: landscape) {
	.cb-cookiesbox {
		right: 55%;
	}
}
@media (min-width:992px) {
	.cb-cookiesbox {
		left: 2rem; right: auto; bottom: 3rem;
		width: 470px;
		padding: 1rem 2rem;
	}
	.cb-cookiesbox p {
		padding-right: 4rem;
	}
	.cb-cookiesbox .btn:hover {
		background-color:  var(--primary-verydark-color);
	}
}

/**
 * owl carousel
 */
.owl-carousel.owl-drag .owl-item {
	overflow: hidden;
}
.owl-carousel .slide {
	position: relative;
	display: flex;
	flex-flow: column wrap;
	justify-content: center;
	background: var(--slide-bg) 50% 50% / cover var(--darkgrey-color);
	height: 100%;
	/*
	animation: scale 20s linear infinite;
	*/
}
@-webkit-keyframes zoomInOut {
	50% {
		-webkit-transform: scale(1.2);
	}
}
@keyframes scale {
	50% {
		transform: scale(1.2);
	}
}

.owl-carousel .owl-stage-outer,
.owl-carousel .owl-stage,
.owl-carousel .owl-item {
	height: 100%;
}
/*
.owl-carousel .slide:before {
	content: '';
	position: absolute;
	inset: 0 0 0 0;
	z-index: 1;
	background: rgba(0,0,0, .5);
}
*/
.owl-carousel .slide-caption {
	position: relative;
	z-index: 2;
	color: #ffffff;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	text-transform: uppercase;
}
.owl-carousel .h2 {
	font-size: 2.5rem;
	font-weight: 700;
}
.owl-carousel .btn:hover {
	color: #000000;
	background: #ffffff;
}
.owl-product-photos {
	height: 50vh;
}
.owl-carousel.owl-product-photos .slide::before {
	background: none;
}
.owl-theme.owl-product-photos .owl-nav {
	position: absolute;
	top: 40%;
	z-index: 10;
	margin: 0;
	width: 100%;
}
.owl-carousel.owl-product-photos .owl-nav button.owl-next,
.owl-carousel.owl-product-photos .owl-nav button.owl-prev,
.owl-carousel.owl-product-photos button.owl-dot {
	position: absolute;
	right: 2rem;
	display: inline-flex;
	margin: 0;
	color: #ffffff;
	font-size: 100px;
}
.owl-carousel.owl-product-photos .owl-nav button.owl-prev {
	left: 2rem;
	right: auto;
}
.owl-home .container {
	position: relative;
	color: #ffffff;
	font-weight: bold;
	font-size: 40px !important;
	transition: all 0s ease 0s;
	min-height: 0px;
	min-width: 0px;
	line-height: 1.2;
	border-width: 0px;
	padding: 0px 0px 60px!important;
	letter-spacing: 0px;
}
.owl-home .hero-title {
	position: relative;
	padding: 0px 1rem 2rem;
	text-shadow: 0 0 10px rgba(0,0,0,.4);
}
/*
.owl-home .hero-title::after {
	content: '';
	background: #ffffff;
	width: auto;
	height: 1px;
	left: 100px;
	right: 100px;
	position: absolute;
	bottom: 1rem;
}
*/
.owl-theme .owl-nav.disabled + .owl-dots {
	margin: 0;
	position: absolute;
	inset: auto auto 1rem 1rem;
}
.owl-theme .owl-dots {
	display: flex;
	flex-flow: column;
}
.owl-theme .owl-dots .owl-dot span {
	width: 19px;
	height: 19px;
	border-radius: 0;
	background-color: #ffffff;
}
.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
	background-color: #000000;
}
a.btn-theme {
	color: #ffffff;
	text-transform: uppercase;
	font-size: 1.5rem !important;
	font-weight: bold;
	margin: auto !important;
	float: none;
	display: table;
}
a.btn-theme::after {
	content: ' +';
}

.buttons {
	margin-top: 1rem;
}
.btn-circle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	color: #ffffff;
	background-color: var(--primary-color);
	text-decoration: none;
	border-radius: 17px;
}
.btn-circle:hover {
	color: #ffffff;
	background-color: #000000;
}
.btn-circle .bi {
	font-size: 16px;
}

@media (orientation:landscape) {
	.owl-home {
		height: 100vh;
	}
}
@media (min-width: 992px) {
	.owl-home .container {
		font-size: 60px !important;
	}
	.owl-carousel .slide {
		background-image: var(--slide-lg-bg);
	}
	.owl-carousel .h2 {
		font-size: 3.5rem;
	}
	.owl-product-photos {
		height: 40vw;
	}
	.owl-product-photos .owl-item {
		margin: 0 .5rem;
	}
	.owl-product-photos .slide {
		width: calc(40vw * var(--aspectratio));
	}
	.owl-home {
		height: 100vh;
	}
	.col .btn-circle {
		transform: translateY(100%);
		opacity: 0;
		transition: all var(--speed);
	}
	.col:hover .btn-circle {
		transform: translateY(0);
		opacity: 1;
	}
}

/**
 * vbox
 */
.vbox-container img {
	max-height: 100vh;
}

/**
 * Swiper slider
 */
.swiper {
	/*
	color: #ffffff;
	background: (--dark-color);
	*/
}
.swiper-slide {
	height: 67vw;
	background-position: 50% 50%;
}
@media (min-width:768px) {
	.swiper-slide {
		height: 60vw;
	}
}
@media (max-width:991px) and (orientation: landscape) {
	.swiper-slide {
		height: calc(100vh - 42px);
	}
}
@media (min-width:1200px) {
	.swiper-slide {
		height: 33.33vw;
	}
}

/**
 * Signature
 */
.signature {
	display: block;
	width: auto;
	text-align: center;
	font-size: .75rem;
	font-weight: bold;
}
.torus { display: inline-block; }
.torus a { display: inline-block; padding: .5rem 1rem; }

@media print {
	header .top-bar,
	header .top-bar2,
	#toolbox, #searchbox, #cartsummary, #headmenu,
	.brand-carousel-container,
	.newsletter
	{ display: none; }
}



.banner-container {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
}
.flex-break {
	flex-basis: 100%;
}
.banner,
.banner-sm {
	position: relative;
	margin-bottom: .5rem;
}
.banner {
	width: 180px;
	height: 90px;
}
.banner-sm {
	width: 90px;
	height: 30px;
}
.banner-sm.aspect-3x1 { width: 90px; }
.banner-sm.aspect-2x1 { width: 60px; }
.banner-sm.aspect-1x1 { width: 30px; }
.banner + .banner,
.banner + .banner-sm,
.banner-sm + .banner,
.banner-sm + .banner-sm {
	margin-left: 1rem;
}
.banner::before,
.banner-sm::before {
	content: '';
	position: absolute;
	top:50%;
	left: 50%;
	transform: translate(-50%,-50%);
	background: var(--bg-image) 50% 50% / contain no-repeat;
	width: 100%;
	height: 100%;
}

.product-details .banner-sm {
	width: 45px;
	height: 20px;
}

.price {
	display: block;
	color: var(--primary-color);
	font-size: 2rem;
	text-align: center;
}



/**
 * products list
 */

.product-card {
	height: calc(100% - calc(var(--bs-gutter-x)));
	margin-bottom: calc(var(--bs-gutter-x));
	text-align: center;
}
.product-card h2,
.product-card .h2 {
	font-size: 1rem;
	font-weight: bold;
}

.product-card .card-header {
	border-bottom: 0;
}
.product-list.list [class^="col-"], .product-list.list [class*=" col-"] {
	width: 100%!important;
}
.product-list.list .product-card {
	flex-direction: row;
}
.product-list.list .product-card .thumb {
	min-width: 120px;
}

/**
 * products details
 */
.product-photo,
.product-thumb {
	display: block;
	border: 1px solid var(--line-color);
}
.product-photos-carousel {
	margin-top: .5rem;
}

.product-details .table,
table.specs {
	border: 1px solid var(--line-color);
	border-left: 0;
	border-right: 0;
	width: 100%;
}
.product-details .table tbody, .product-details .table tr,
table.specs tbody, table.specs tr,
table.specs th, table.specs td {
	border: inherit;
}
.product-details .table th, .product-details .table td,
table.specs th, table.specs td {
	padding: .5rem 1rem;
	border-width: 0;
}
table.specs td.data {
	font-weight: 700;
}

/*
@media (min-width:992px) {
	.nav-root {
		max-width: 960px!important;
		padding: 0!important;
		margin-left: auto!important;
		margin-right: auto!important;
		padding-right: var(--bs-gutter-x,.75rem)!important;
		padding-left: var(--bs-gutter-x,.75rem)!important;
	}
	.nav-root > li:first-child {
		margin-right: auto;
	}
	.nav-root > li:first-child > span {
		left: auto!important; bottom: auto!important;
		top: calc(50% - 24px); right: 0;
		width: 48px!important;
		height: 48px!important;
		background-image: url("data:image/svg+xml,%3Csvg width='10' height='10' viewBox='0 0 1792 1792' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23ffffff' d='M1363 877l-742 742q-19 19-45 19t-45-19l-166-166q-19-19-19-45t19-45l531-531-531-531q-19-19-19-45t19-45l166-166q19-19 45-19t45 19l742 742q19 19 19 45t-19 45z'/%3E%3C/svg%3E")
			!important;
		background-size: 24px 24px !important;
	}
	.nav-root > li:first-child > a {
		background-color: var(--secondary-color);
		color: #ffffff;
		width: 300px;
	}
	.nav-root > li:first-child ul {
		width: 300px!important;
	}
	.nav-root > li:first-child ul li {
		width: 100%!important;
	}

	.tab-pane.scroll-container {
		height: 380px;
		overflow: auto;
	}

	.nav-productgroup h2 {
		font-size: 1.5rem;
	}
	.bottom-message .message {
		margin: 3rem auto;
		padding: 2rem;
		max-width: 900px;
		font-size: 1.5rem;
	}
	table.specs .label-cell {
		width: 25%;
	}

}

@media (min-width:1200px) {
	.nav-root {
		max-width: 1140px!important;
	}
	footer .nav-flat .nav-body {
		column-count: 3;
	}
}
@media (min-width:1400px) {
	.nav-root {
		max-width: 1400px!important;
	}
}
@media (min-width:1600px) {
	.nav-root {
		max-width: 1600px!important;
	}
}
*/

.social-buttons {
	display: flex;
	justify-content: center;
	align-items: baseline;
}
.social-buttons .fb-like > span,
.social-buttons .fb-like > span > iframe {
	display: flex;
	align-items: start;
	width: 220px!important;
}

.videocenter {
	position: absolute;
	top: 0; left: 50%;
	transform: translateX(-50%);
	width: 711px;
	height: 400px;
}

.cat-banner,
.cat-banner:hover,
.cat-banner:focus {
	position: relative;
	display: flex;
	align-items: end;
	padding: 2rem;
	width: 100%;
	height: 100%;
	min-height: 240px;
	color: #ffffff;
	font-size: 1.5rem;
	text-decoration: none;
	text-transform: uppercase;
	overflow: hidden;
	background-color: rgba(0,0,0,.2);
}
.cat-banner::before {
	content: '';
	position: absolute;
	inset: 0 0 0 0;
	z-index: -1;
	display: block;
	width: 100%;
	height: 100%;
	background: var(--bg-image) center / cover;
	transition: transform .5s;
}
.cat-banner:hover::before {
	transform: scale(1.2);
}

.categories {
	display: grid;
	grid-template-columns: 1fr;
	grid-gap: 1rem;
	height: 2800px;
}


@media (min-width:576px) {
	.categories {
		grid-template-columns: 1fr 1fr;
		height: 1600px;
	}
	.categories a:last-child {
		grid-column-start: 1;
		grid-column-end: 3;
		grid-row: 6/6;
	}
}

@media (min-width:992px) {
	.categories {
		grid-template-columns: 1fr 1fr 1fr 1fr;
		grid-gap: 2rem;
		height: 1200px;
	}
	.categories a:nth-child(1) {
		grid-column-start: 1;
		grid-column-end: 3;
		grid-row: 1/1;
	}
	.categories a:nth-child(5) {
		grid-column-start: 2;
		grid-column-end: 4;
		grid-row: 2/2;
	}
	.categories a:nth-child(7) {
		grid-row-start: 3;
		grid-row-end: 5;
	}
	.categories a:nth-child(8) {
		grid-column-start: 2;
		grid-column-end: 4;
		grid-row: 3/3;
	}
	.categories a:nth-child(10) {
		grid-column-start: 2;
		grid-column-end: 2;
		grid-row: 4/4;
	}
	.categories a:last-child {
		grid-column-start: 3;
		grid-column-end: 5;
		grid-row: 4/4;
	}
	.cat-banner,
	.cat-banner:hover,
	.cat-banner:focus {
		min-height: 260px;
	}
	.cat-banner::before {
		background-image: var(--bg-lg-image);
	}
}

@media (min-width:1200px) {
	.categories {
		height: 1800px;
	}
	.cat-banner,
	.cat-banner:hover,
	.cat-banner:focus {
		font-size: 2rem;
		min-height: 320px;
	}
}

.banner-espa {
	display: block;
	position: relative;
	z-index: 1;
	bottom: 120px;
	padding: 0 1rem;
}
.banner-espa img {
	display: block;
	max-width: 100%;
	width: auto;
	height: auto;
}
@media (orientation: landscape) or (min-width: 768px) {
	.banner-espa {
		right: 0;
		bottom: 70px;
		text-align: right;
	}
	.banner-espa img {
		display: inline-block;
		max-width: 50vw;
	}
}
@media (min-width:992px) {
	.banner-espa {
		bottom: 80px;
	}
	.banner-espa img {
		max-width: 30vw;
	}
}

/**
 * Areas
 */
.area {
	position: relative;
	padding-top: 120px;
	padding-bottom: 90px;
}

/** 
 * Home Welcome
 */
.area-welcome {
	background-color:var(--lightgrey-bg);
	background-color: #ffffff;
}
.area-welcome > .shape {
	position: absolute;
	top: 0;
	z-index: 0;
	width: 100vw;
	height: 160vw;
	background: url(/images/asset.png) center / contain no-repeat;
	animation: moveUpDown 3s infinite alternate;
}
.area-welcome .parent {
	position: relative;
	top: 0;
	left: 0;
	text-align: right;
	padding-right: 60px;
}
.area-welcome .parent > .shape {
	position: absolute;
	top: -30px;
	right: 25px;
	z-index: 0;
	width: 224px;
	height: 242px;
	background: url(/images/dots.png) center / contain no-repeat;
}
.area-welcome .primary-photo {
	position: relative;
	z-index: 1;
	max-width:80%;
}
.area-welcome .secondary-photo {
	position: absolute;
	z-index: 1;
	top: 55%;
	left: 0;
	max-width:65%;
}

@media (orientation: landscape) {
	.area-welcome > .shape {
		width: 50vw;
		height: 80vw;
	}
}
@media (min-width:768px) {
	.area-welcome > .shape {
		width: 33vw;
		height: 53vw;
	}
}
.about-bt {
	text-decoration: none!important;
	padding: 0 40px;
	font-size: 14px;
	font-weight: 700;
	height: 48px;
	line-height: 48px;
	display:inline-block;
	text-transform: uppercase;
	text-align: center;
	color: #ffffff;
	background-color: black;
	position: relative;
	transition: all 0.5s ease-in-out;
}
.about-bt > span {
	position: relative;
	z-index: 1;
	color: #ffffff;
}
@media (max-width:575px){
	.about-bt{
		text-decoration: none!important;
		padding: 0 40px;
		font-size: 14px;
		font-weight: 700;
		height: 48px;
		line-height: 48px;
		text-transform: uppercase;
		color: #ffffff;
		background-color: black;
		transition: all 0.5s ease-in-out;
	}
	.about-bt span {
		position: relative;
		z-index: 1;
	}
}

.about-bt::after{
	content: "";
	position: absolute;
	top: 0px;
	right: 0px;
	z-index: 0;
	width: 0%;
	height: 100%;
	color: #ffffff;
	height: 48px;
	background-color: var(--primary-color);
	transition: all 500ms ease-in-out;
	
}
.about-bt:hover::after {
	left: 0%;
	right: auto;
	width: 100%;
}

.aa {
	position:absolute;
}

/** 
 * Home Services
 */
.area-services {
}
.features {
	padding: 1rem;
}
.features-i {
	position: relative;
	padding: 80px 32px;
	margin-top: 50px;
	margin-bottom: 60px;
	box-shadow: 2px 3.5px 40px 0px rgba(35, 35, 49, 0.08);
}
.features-i .icon {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%,-50%);
	display: inline-block;
	width: 100px;
	height: 0;
	padding: 0;
	padding-top: 100px;
	border-radius: 100%;
	overflow: hidden;
	background: var(--primary-color);
}
.features-i:hover .icon {
	background: #000000;
}
.icon::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	background: url(/images/icon-1.svg) center / 50% no-repeat;
}
.features-i:hover .icon::before {
	animation: iconBounce 0.8s 1;
}
.icon-2::before {
	background-image: url(/images/icon-2.svg);
}
.icon-3::before {
	background-image: url(/images/icon-3.svg);
}
.icon-4::before {
	background-image: url(/images/icon-4.svg);
}
.features-title {
	font-size: 1.75rem;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 1rem;
}
.features-title a {
	color: #000000;
}
.features-subtitle {
	font-size: .875rem;
}
.features-text {
	margin-left: 1rem;
}
.features-text a {
	color: #ffffff;
}
.step-number {
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translate(-50%,50%);
	display: inline-block;
	padding: 8px 35px;
	background-color: var(--primary-dark-color);
}
.step-number span {
	color:var(--primary-reverse-color);
}
.step-number::before{
	position: absolute;
	content: "";
	bottom: 0;
	left: -16px;
	height: 22px;
	width: 16px;
	background-color: var(--primary-darker-color);
	clip-path: polygon(100% 100%, 100% 0, 0 0);
}
.step-number::after {
	position: absolute;
	content: "";
	top: 0;
	right: -16px;
	height: 22px;
	width: 16px;
	background-color: var(--primary-darker-color);
	clip-path: polygon(100% 100%, 0 0, 0 100%);
}

@media (min-width:992px) {
	.area-services [class*="col-"]:nth-child(2n+1) > .features-i {
		margin-top: 120px;
	}
	.features-i {
		height: calc(100% - 120px);
		padding: 0 32px;
		padding-top: 0px;
		padding-top: 80px;
		background-color: var(--tp-common-white);
		box-shadow: 2px 3.464px 40px 0px rgba(35, 35, 49, 0.08);
	}
	.features-text a {
		color: #000000;
	}

	.icon {
		width: 60%;
		padding-top: 60%;
		transition: all .3s;
	}
}
/* end of services */

/**
 * Info area
 */
.area-info {
	background-color: var(--secondary-dark-color);
}
.area-info .h4 {
	color: #ffffff;
	margin-bottom: 1rem;
}

.area-info .img-info {
	position: relative;
	min-height: 300px;
	background: url("/images/call-us-bg.webp") center / cover no-repeat;
}
.area-info .phone-number {
	position: absolute;
	bottom: 20%;
	right: 15%;
	display: inline-block;
	padding: 1rem 2rem;
	color: #000000;
	background-color: #ffffff;
	font-size: 1.5rem;
	animation: zoomInOut 1.7s infinite alternate;
}
.area-info .phone-number > * {
	position: relative;
	z-index: 1;
}
.area-info .phone-number::after {
	content: "";
	position: absolute;
	bottom: -65%;
	right: -60%;
	z-index: 0;
	height: 115%;
	width: 110%;
	opacity: 0.3;
	transform: translate(-50%, -50%);
	background-color: rgb(194, 180, 180);
}
.area-info .phone-number a {
	font-weight: bold;
}
.area-info .info-text {
	padding-top: 2rem;
}
.area-info .box {
	display: flex;
	align-items: center;
	padding: 1rem;
	margin-bottom: 1rem;
	background: var(--secondary-darker-color);
}
.area-info .icon {
	position: relative;
	flex: 0 0 auto;
	margin-right: 1rem;
	width: 60px;
	padding-top: 60px;
	background-color: var(--primary-color);
	border-radius: 100%;
}
.area-info .icon-1::before{
	background-image: url(/images/icon-5.svg);
}
.area-info .icon-2::before{
	background-image: url(/images/icon-6.svg);
}
.area-info .box p {
	margin: 0;
}
@media (min-width:992px) {
	.area-info .img-info {
		position: absolute;
		inset: 0;
		right: auto;
		width: 45%;
	}
	.area-info .phone-number a {
		font-size: 1.75rem;
	}
	.area-info .info-text {
		padding-top: 0;
	}
	.area-info .box:hover {
		color: #ffffff;
	}
	.area-info .box:hover .icon {
		background-color: #000000;
	}
}
/* end of info*/

.nav-flat .nav-body{
	display:flex;
	flex-direction:column;
}

#directions-form .input-group {
	width: auto;
}

.nav-article {
	position: sticky;
	top: 0;
}

.lead {
	font-size: 1.5em;
}

video {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
}

/**
 * Pages
 */
.page-header {
	position: relative;
	padding: 200px 0 100px;
	background: url(/photos/big/page-typical-bg.webp) center / cover;
}
.page-header > * {
	position: relative;
	z-index: 2;
}
.page-header::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	background: rgba(0,0,0,.7);
}
.page-contact .page-header {
	background-image: url(/photos/big/page-contact-bg.webp);
}
.page-blog .page-header {
	background-image: url(/photos/big/page-projects-bg.webp);
}

.page-heading {
	color: #ffffff;
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: -2px;
}

main.page-presentation {
	color: #ffffff;
	background: var(--primary-color);
	font-size: .875rem;
}
main.page-presentation h1, main.page-presentation h2, main.page-presentation h3 {
	color: #ffffff;
}
main.page-presentation .row {
	margin-bottom: 5rem;
}
.page-contactAgencies main img {
	max-width: 120px;
}
.page-contactAgencies main td {
	vertical-align: middle;
}

.home-regions {
	padding-top: 3rem;
	padding-bottom: 3rem;
	margin-top: 3rem;
	background: var(--primary-verylight-color);
}
.home-regions a {
	display: block;
}

@media (min-width:768px) {
	main.page-presentation ul,
	main.page-presentation ol {
		column-count: 2;
		column-gap: 2rem;
	}
	.home-regions {
		padding-top: 5rem;
		padding-bottom: 5rem;
		margin-top: 5rem;
	}
}
		

/**
 * Animations
 */
@-webkit-keyframes zoomInOut {
	0% {
		box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.6);
	}
	100% {
		box-shadow: 0 0 0 45px rgba(255, 255, 255, 0);
	}
}
@keyframes zoomInOut {
	0% {
		box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.6);
	}
	100% {
		box-shadow: 0 0 0 45px rgba(255, 255, 255, 0);
	}
}
@-webkit-keyframes iconBounce {
	0%, 100%, 20%, 50%, 80% {
		-webkit-transform: translateY(0);
	}
	40% {
		-webkit-transform: translateY(-10px);
	}
	60% {
		-webkit-transform: translateY(-5px);
	}
}
@keyframes iconBounce {
	0%, 100%, 20%, 50%, 80% {
		transform: translateY(0);
	}
	40% {
		transform: translateY(-10px);
	}
	60% {
		transform: translateY(-5px);
	}
}
@keyframes moveUpDown {
	0% {
		-webkit-transform: translateY(0px);
		-moz-transform: translateY(0px);
		-ms-transform: translateY(0px);
		-o-transform: translateY(0px);
		transform: translateY(0px);
	}
	100% {
		-webkit-transform: translateY(-40px);
		-moz-transform: translateY(-40px);
		-ms-transform: translateY(-40px);
		-o-transform: translateY(-40px);
		transform: translateY(-40px);
	}
}
@keyframes moveLeftRight {
	0% {
		-webkit-transform: translateX(0px);
		-moz-transform: translateX(0px);
		-ms-transform: translateX(0px);
		-o-transform: translateX(0px);
		transform: translateX(0px);
	}
	100% {
		-webkit-transform: translateX(40px);
		-moz-transform: translateX(40px);
		-ms-transform: translateX(40px);
		-o-transform: translateX(40px);
		transform: translateX(40px);
	}
}

