﻿html, body {
	font-size: 17px;
	color: var(--text-color);
}
.h1{
	font-size: calc(1.5rem + 1.5vw);
	margin-bottom: 2rem;
	margin-top: 3rem;
	font-family: var(--header-font);
	line-height: 1.1;
	
}
.page-gallery{
	background-color: #ffffff;
} 
.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;
}
header{
	background: var(--primary-alpha50-color);
	max-width: 100vw;
}
header.is-stuck{
	background: var(--primary-color);
}
.nav-root .caption {
	color: var(--secondary-dark-color);
}
.dot-txt .bi-dot::before{
	font-size: 2rem;
}
.dot-txt{
	place-items:center;
}

@media (min-width: 992px) {
	.nav-tree {
		display: inline-block;
		flex: 1 1 auto;
		text-align: center;
	}
	.nav-tree ul {
		width: auto;
	}
	.nav-tree .nav-root {
		display: inline-flex;
	}
	.nav-tree .nav-body {
		display: inline-block;
	}
	.nav-tree .nav-root ul {
		top: calc(100% + 3px);
		left: 0;
	}
	.nav-tree  ul.nav-root > li > a {
		text-align: left;
		font-weight: bold;
		color: #ffffff;
		text-shadow: 1px 1px #000000;
	}
	header.is-stuck .nav-tree  ul.nav-root > li > a {
		color: #ffffff;
	}
	.nav-tree ul.nav-root > li > a::after {
		content:'|';
		margin-left:2rem; 
	}
	.nav-tree ul.nav-root > li:last-child > a::after {
		content:'';
		margin-left:2rem; 
	}
	.nav-tree  ul.sub-menu > li > a {
		text-align: left;
	}
	.nav-tree li:hover {
		background: transparent;
	}
	.nav-tree .nav-root li li:hover > a {
		transform: translate(0);
	}	
	.nav-tree .nav-root li > a:hover {
		color: var(--primary-light-color);
	}
	.nav-tree .nav-root li > a:hover::after {
		color: #ffffff;
	}
	.nav-tree .nav-root li li:hover > a .caption{
		color: var(--grey-color);
	}
}

.breadcrumb {
	font-size: .875rem;
	font-weight: 400;
	padding: 0 0 1rem;
	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 {
	color: #ffffff;
	text-decoration: none;
	transition: color var(--speed);
}
.breadcrumb a:hover, .breadcrumb a:focus {
	color: var(--grey-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;
	background: var(--footer-background);
}
footer .shape {
	display: none;
}

footer a, footer a:hover, footer a:focus {
	text-decoration: none;
	transition: all var(--speed);
	color: #ffffff;
}
footer a:hover, footer a:focus {
	color: var(--grey-color);
}
footer img {
	max-width: 180px;
	max-height: 180px;
	width: auto;
	height: auto;
}
footer .caption,
footer .nav-flat .caption {
	padding: 2rem 1rem 1.25rem 0;
	font-weight: bold;
	font-size: 1rem;
	color: var(--secondary-color);
	text-transform: uppercase;
}
footer .contact{
	color: #ffffff;
}
footer .wrap-copyright{
	color: var(--secondary-color);
}
footer .si::before {
	color: var(--primary-verylight-color);
	font-size: 20px;
}
footer .bi-phone::before {
	text-align: center;
}
footer .legal,
footer .legal a,
.btn-cookies-manager,
.torus a{
	color: var(--secondary-color);
}
footer li::marker{
	display: none;
}
.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;
}
.brand {
	margin: 0 auto;
}
header .brand img {
	height: 20px;
}
@media (min-width:992px) {

	.toggle-main,
	.toggle-alt,
	.toggle-search {
		display: none;
	}
	nav.alter,
	nav.alter.collapse:not(.show) {
		display: block;
		order: 1;
		flex: 1 0 100%;
		background: var(--primary-color);
	}
	.form-search,
	.form-search.collapse:not(.show) {
		display: inline-flex;
		order: initial;
		width: auto;
		max-width: 240px;
	}
	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;
	}
	.brand {
		height: auto;
		padding: 1rem 0;
	}
	header .brand img {
		max-width: none;
		width: auto;
		height: 48px;
	}
	footer {
		overflow: hidden;
	}
	footer > .container {
		position: relative;
		z-index:1;
	}
	footer .collapse:not(.show),
	footer .collapsing,
	footer .collapsing:not(.show) {
		display: block;
		height: auto;
		overflow: auto;
	}
	footer .logo{
		padding-bottom: 0;
	}
	.nav-flat .nav-body {
		column-count: 2;
	}
	.wrap-copyright {
		text-align: left;
	}
}
@media (min-width:1200px) {
	header .brand img {
		height: 30px;
	}
	.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) center left no-repeat; padding:.8em 0 .8em 48px; }
.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) center left no-repeat; padding:.8em 0 .8em 48px; }
.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) center left no-repeat; padding:.8em 0 .8em 48px; }
.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) center left no-repeat; padding:.8em 0 .8em 48px; }
.attached-docs a[href$='.zip'] {
	background:transparent url(//static.torus.gr/icons/filetypes/zip/zip-32_32.png) center left no-repeat; padding:.8em 0 .8em 48px; }
.attached-docs a[href$='.7z'],
.attached-docs a[href$='.rar'] {
	background:transparent url(//static.torus.gr/icons/filetypes/rar/rar-32_32.png) center left no-repeat; padding:.8em 0 .8em 48px; }
.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) center left no-repeat; padding:.8em 0 .8em 48px; }
.attached-docs a[href$='.gif'] {
	background:transparent url(//static.torus.gr/icons/filetypes/gif/gif-32_32.png) center left no-repeat; padding:.8em 0 .8em 48px; }
.attached-docs a[href$='.png'] {
	background:transparent url(//static.torus.gr/icons/filetypes/png/png-32_32.png) center left no-repeat; padding:.8em 0 .8em 48px; }
.attached-docs a[href$='.tif'],
.attached-docs a[href$='.tiff'] {
	background:transparent url(//static.torus.gr/icons/filetypes/tiff/tiff-32_32.png) center left no-repeat; padding:.8em 0 .8em 48px; }

.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: 80%;	/* 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 {
	height: 100%;
	width: auto;
	max-width: none;
}
.thumb.cover img.portrait {
	width: 100%;
	max-height: none;
}
.page-portfolio img{
	transition: all 1s ease-out;
}
.page-portfolio .projects-item img.portrait:hover{
	transform: scale(1.1) translate(-45.55%, -45.55%);
}
.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);
}


@media (min-width:992px) {
	.thumb.border-in:hover .caption {
		margin: 2rem;
	}
	.nav-tree .nav-root > li > a {
		padding: 1rem 0.5rem;
	}
}
/**
 * Forms
 */
 form .form-floating{border-bottom: solid 1px;}
 #captchaGroup.form-floating{ border-bottom: none;}
.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, .form-control:focus, .form-control:hover {	
	border-bottom-color: #c0c0c0;
}
.form-control:focus, .form-control:hover {
	 border-bottom-color: var(--brand-color);
}
.form-control:focus {
	 border-bottom-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 { 
	box-shadow: none; 
	border: none;
}
.form-control{
	border-bottom: 1px solid var(--primary-verylight-color);
	border-radius: unset;
}
.form-contact-page input,
.form-contact-page textarea{
	background-color:var(--primary-verylight-color);
}
.form-floating {
  margin: 3rem 0;
}
.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;
}
form #sendbutton{
	background-color: var(--primary-darkest-color)!important;
}
form #sendbutton:hover{
	color: var(--primary-dark-color);
	background-color: var(--secondary-dark-color)!important;
	border-color: transparent;
}
@media (min-width:768px) {
	.form-material {
		max-width: 400px;
		margin: 0 auto;
		padding: 2rem;
	}
	.form-material.form-wide {
		max-width: 600px;
	}
	.btn-group {
		margin: 3rem auto;
	}
}
@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: 2rem 8px 0;
	margin: 0;
	color: #ffffff;
	background: #000000;
	font-size: .75rem;
}
.cb-cookiesbox p {
	margin: 0;
	text-align: center;
	line-height: 1em;
}
.cb-cookiesbox .btn {
	margin: .5rem 0;
	font-size: .75rem;
}
.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;
	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;
	}
}

/**
 * owl carousel
 */
.owl-carousel.owl-drag .owl-item {
	overflow: hidden;
	flex-direction: column;
}
.owl-carousel .slide {
	position: relative;
	display: flex;
	flex-flow: column wrap;
	justify-content: center;
	background: var(--darkgrey-color);
	height: 100%;
}
.owl-carousel{
	height: 100vh;
}
.owl-carousel .slide::before {
	content: '';
	background: url(/photos/big/ΑΙChatGPTImage_May_6_2026_11_07_57_AM.webp) center / cover;
	opacity: 0.5;
	position: absolute;
	inset: 0;
}
.owl-carousel .owl-item img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

@-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 {
	display: flex;
}
.owl-carousel .owl-stage{
	transition: 0.6s!important;
}
.owl-carousel.owl-home .owl-stage-outer {
	height: 100vh;
}

.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;
	
}
.container-title{
	position: absolute!important;
	bottom: 0;
	padding-bottom: 8rem;
}
.hero-sub-title{
	font-size: 1rem;
	color: var(--secondary-color);
	font-weight: normal;
	display: flex;
	place-items: center;
}
.owl-home .hero-sub-title p{
	margin-bottom: 0;
}
.owl-home .hero-title {
	position: relative;
	text-align: left;
	font-weight: 500;
	font-size: 40px;
}
.page-typical main .owl-carousel{
	height: auto;
}
.page-home .owl-carousel .owl-dots{
	display: none;
}
.owl-theme .owl-nav.disabled + .owl-dots {
	margin: 0;
	justify-content: center;
	inset: auto auto 1rem 1rem;
}
.owl-theme .owl-dots {
	display: flex;
	flex-flow: row;
}
.area-projects .owl-dots{
	inset: 0!important;
	flex-flow: row;	
	position: relative!important;
}
.area-projects .owl-nav{
	position: absolute;
	right: 0.6rem;
}
.page-portfolio .owl-stage-outer{
	height: 40vh;
}
.owl-theme .owl-nav [class*="owl-"]:hover{
	background: transparent;
	text-decoration: none;
}
.owl-theme .owl-next:hover::before,
.owl-theme .owl-prev:hover::before{
	color: var(--grey-color);
}
.page-portfolio .owl-nav{
	position: absolute;
	right: 0.8rem;
	bottom: -3rem;
}
.page-portfolio .owl-prev::before,
.area-projects .owl-prev::before{
	content:'\F12F';
	font-family: bootstrap-icons !important;
	color: var(--secondary-color);
	font-size: 2.5rem;
}
.page-portfolio .owl-next::before,
.area-projects .owl-next::before{
	content:'\F138';
	font-family: bootstrap-icons !important;
	color: var(--secondary-color);
	font-size: 2.5rem;
}
.page-portfolio .project-text{
	padding-top: 5rem;
}
.owl-theme .owl-dots .owl-dot span {
	width: 19px;
	height: 19px;
	background-color: #ffffff;
	margin: 0.25rem;
	display: block;
	transition: opacity 200ms ease;
	border-radius: 0;
}
.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
	background-color: var(--primary-dark-color);
}
a.btn-theme {
	color: #ffffff;
	text-transform: uppercase;
	text-decoration: underline;
	font-size: 1rem !important;
	margin: auto !important;
	float: left;
	display: table;
	font-weight: bold;
}
a.btn-theme:hover {
	color: var(--grey-color);
}

@media (orientation:landscape) {
	.owl-home {
		height: 100vh;
	}
}
@media (min-width: 992px) {
	.owl-home .hero-title,
	.page-title{
		font-size: 60px;
		display: inline-block;
		text-transform: uppercase;
		line-height: 6rem;
	}
	.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;
	}
	.container-title{
		padding-bottom: 12rem;
		left: 3.6rem;
	}
}

/**
 * vbox
 */
.vbox-container img {
	max-height: 100vh;
}

/**
 * Swiper slider
 */
.swiper-slide {
	background-position: 50% 50%;
	width: auto;
	margin-right: 16px;
}
@media (max-width:991px) and (orientation: landscape) {
	.swiper-slide {
		height: calc(100vh - 42px);
	}
	.container-title{
		padding-bottom: 20rem;
	}
}
@media (min-width:1200px) {
	.container-title{
		padding-bottom: 8rem;
	}
	.page-title{
		font-size: 90px;
	}
}

/**
 * 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;
}
.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: 70px;
	padding-bottom: 90px;
}
@media(min-width: 992px){
	.area {
		padding-top: 150px;
		padding-bottom:130px;
	}
}
/** 
 * Home Welcome
 */
.area-welcome {
	background-color:var(--secondary-color);
	color: #ffffff;
}
.area-welcome h1{
	color: #ffffff;
}
.area-welcome .primary-photo {
	position: relative;
	z-index: 1;
	max-width:80%;
	top: 3rem;
}

.about-bt {
	text-decoration: none;
	font-weight: bold;
	line-height: 48px;
	display:inline-block;
	text-transform: uppercase;
	text-align: center;
	color: var(--primary-darkest-color);
	position: relative;
	font-size: 1.75rem;
}

.about-bt:hover{
	color: var(--primary-color);
}

@media (max-width:575px){
	.about-bt{
		font-weight: 700;
		height: 48px;
		line-height: 48px;
		text-transform: uppercase;	
		transition: all 0.5s ease-in-out;
	}
	.about-bt span {
		position: relative;
		z-index: 1;
	}
}

.aa {
	position:absolute;
}

/** 
 * Home Services
 */
.area-services {
	background-color: #ffffff;
}
.features {
	padding: 1rem;
}
.features-text:hover a{
	text-decoration: none;
	color: var(--grey-color);
}
.features-i {
	border-style: solid;
	height: 384px;
	border-width: 1px 1px 1px 1px;
	border-color: #181818;
	overflow: hidden;
	margin-top: 2rem;
	
}
.features-i:hover {
	outline: 1.3px solid;
}
.feature-inner{
	position: relative;
	width: 100%;
	height: 100%;
	padding: 0 0.8rem;
	transition: all .6s cubic-bezier(.5,.12,.46,.88);
}
.features-i:hover .feature-inner{
	transform: translateY(-100%);
}
.feature-inner-top .features-title {
	color: #181818;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.4em;
	margin: 280px 0px 70px 1px;
	
}
.h4.features-title {
	font-size: 1.8rem;
	line-height: 1;	
	color: var(--secondary-color);
	text-transform: uppercase;
}
@media(min-width: 992px){
	.h4.features-title {
		font-size: 3rem;
	}
}
..features-title{
	font-size: 1.23rem;
	line-height: 1;
}
.features-title a {
	color: #000000;
	text-decoration: none;
}
.features-subtitle {
	font-size: .875rem;
}
.features-text a {
	color: var(--secondary-color);
}
.step-number {
	display: inline-block;
}
.step-number::before{

}

@media (min-width:992px) {
	.area-services .features-i {
		margin-top: 2rem;
	}
	.features-text a {
		color: #000000;
	}
}
/* end of services */

/**
 * Info area
 */
.area-info {
	background-color: var(--secondary-dark-color);
	padding-bottom: 0;
}
.area-info .h4 {
	color: #ffffff;
	margin-bottom: 1rem;
	text-align: left;
	font-size: 38px;
	font-weight: 600;
	line-height: 1.2em;
}
.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 .box p {
	margin: 0;
}
@media (min-width:992px) {
	
	.area-info .info-text {
		padding-top: 0;
	}
	.area-info .box:hover {
		color: #ffffff;
	}
}
/* end of info*/

.nav-flat .nav-body{
	display:flex;
	flex-direction:column;
}

/**
 * Pages
 */
.page-header {
	position: relative;
	padding: 300px 0 0;
	/*background: url(/photos/big/page-typical-bg.webp) center / cover;*/
	background-color: var(--primary-color);
	height: 100vh;
}
.page-header > * {
	position: relative;
	z-index: 2;
}
.page-blog .page-header {
	background-image: url(/photos/big/page-projects-bg.webp);
}
.page-blog .item-title h2{
	color: var(--primary-dark-color);
}
.blog-list .caption{
	font-weight: normal;
	font-size: 1.5rem;
	color: var(--primary-dark-color);
}
.breadcrumb a{
	color: var(--secondary-color);
}
.page-contact .breadcrumb a:hover{
	color: var(--grey-color);
}
.form-check-input:focus {
	border-color: var(--primary-color);
	outline: 0;
	box-shadow: 0 0 0 .25rem rgba(255,255,255,.2);
}
.page-header{
	height:70vh;
}
.page-heading{
	line-height: 3rem;	
	color: var(--secondary-color);
	font-size: 2rem;
	font-weight: 500;
}
.nav-tree.slide-left.open {
	background-color: var(--primary-darker-color);
}
.page-contact .contact-info{
	display: flex;
	flex-flow: column;
	margin: 1rem auto;
	padding: 0 1rem;
}
@media(min-width: 992px){
	.page-contact h3{
		font-size: 60px;
		margin-top: 4rem;
	}
	.page-header{
		height: 100vh;
		display: flex;
		flex-flow: column nowrap;
		justify-content: end;
	}
	.page-heading{
		margin-bottom: 0;
	}
	.page-contact .contact-info{
		justify-content: end;
		padding: 0 0 0 3rem;
	}
}
.page-contact .contact-info  a{
	text-decoration: none;
	color: var(--primary-darkest-color);
}
.page-contact .contact-info  a:hover{
	text-decoration: none;
	color: var(--primary-color);
}
/**
 * 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);
	}
}

.projects-item a,
.erga a{
	color: var(--secondary-color);
	font-size: 1.3rem;
}
.typical-content a{
	color: var(--secondary-color);
}
.page-portfolio .projects-item:hover a,
.erga a:hover,
.typical-content a:hover{
	color: var(--grey-color);
	text-decoration: none;
}
.page-portfolio .projects-item p{ text-decoration: none;}
.page-portfolio{
	background-color: var(--primary-color);
}
.page-portfolio .projects-item img{
	width: 30rem;
	height: 100%;
	object-fit: cover;
}
.area-projects,
.area-services{
	background-color: var(--primary-color);
}
.area-projects a:hover{
	text-decoration: none;
}
.si-burger span,
.si-burger span::before,
.si-burger span::after {
	border-bottom: 2px solid var(--secondary-color);
}

.page-typical main{
	padding-bottom: 1rem;
}

.page-00 main{
	padding-bottom: 3rem;
}
.typical-content{
	width: 70%;
	margin: 3rem auto;
}
.photoAlbum .lightbox_1{
	max-width: 30rem;
	height: auto;
}
.photoAlbum .lightbox_2{
	max-width: 25rem;
	height: auto;
}
.thumb_3{
	display: none;
}
@media(min-width: 992px){
	.typical-description{
		font-size: 1.3rem;
		width: 70%;
		margin: 0 auto;
	}
	.typical-photos{
		max-height: 41%;
	}
	.photoAlbum {
		width: 100%;
	}
	.photoAlbum .lightbox_3{
		width: 20rem;
		height: auto;
	}
	.photoAlbum img{
		position: absolute;
	}
	.thumb_1{
		left: 18rem;
	}
	.thumb_2{
		left: 29rem;
	}
	.thumb_3{
		bottom: 15rem;
		display: flex;
		left: 7rem;
	}
}
.page-childrenList{
	background-color: var(--primary-color);
}
.projects-item {
	padding: 0.8rem;
}
.page-erga img{
	object-fit: cover;
	width: 100%;
}
.area-projects .entered,
.area-projects .location,
.area-projects .location::before,
.page-erga .entered,
.page-erga .location,
.page-erga .location::before{
	color: var(--secondary-color);
}
.area-projects .entered::before,
.page-erga .entered::before{
	padding: 0 0.5rem;
}
.portfolio-item:hover{
	background-color: var(--primary-dark-color);
}
.form-check-input:checked{
	background-color: var(--secondary-color);
}
.modal-dialog .btn-primary{
	background-color: var(--secondary-color)!important;
}

.page-top {
    position: relative;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 2rem 0;
    background-color: #000000;
	height: calc(100vh - 350px);
}
.page-top::before {
	content: "";
	position: absolute;
	background: var(--pagebg) 50% 50% / cover no-repeat var(--primary-dark-color);
	opacity: .4;
	width: 100vw;
	inset: 0;
}
@media (min-width: 992px) {
	.page-top {
		height: 100vh;
	}

	.page-top::before {
		width: calc(100vw - var(--scrollbar)) !important;
		margin-left: 0;
		margin-right: 0;
	}
}
.page-top .h1{
	z-index: 100;
	color: #ffffff;
}
.btn-primary.btn-recaptcha{
	background: var(--primary-darkest-color) !important;
	border-color: var(--primary-darkest-color) !important;
}

.page-home .page-content .home-image{
	overflow: hidden;
	padding: 0;
}
.page-home .box-fancy img {
	max-width: 400px;
}
.page-home .home-featured{
	background-color: var(--primary-dark-color);
}
.page-home .home-featured .box-fancy h4{
	color: var(--secondary-color);
	padding: 2rem 0;
}
.page-home .home-featured h3{
	color: #ffffff;
	font-weight: bold;
	padding: 5rem 0;
	text-transform: uppercase;
}
.page-home-blog h3{
	text-transform: uppercase;
	margin-top: 3rem;
}
.page-home .home-featured a:hover{
	background-color: #ffffff;
	color: var(--primary-darker-color);
}
.page-home .home-featured a:hover h4{
	color: var(--primary-darker-color);
}
.page-home section.container{
	max-width: 100%;
} 
.page-home section.container img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.page-home .home-features-container{
	max-width: 100%;
}

footer .rap-copyright{
		border-right: solid 1px var(--secondary-color);
}
.footer-text{
	background-color: var(--secondary-color);
	color: var(--primary-darkest-color);
	padding: 4rem;
	margin-bottom: 2rem;
}
footer .container{
	max-width: 100%;
}
footer .footer-categories ul{
	list-style: none;
	padding: 0;
}
footer .footer-categories ul a,
footer .footer-categories ul a:hover,
footer .footer-categories ul a:focus{
	padding-left: 0;
}
footer a:hover,
footer a:focus{
	color: var(--secondary-color);
}
.page-home .feature-1,
.page-home .feature-2 {
	display: block;
	height: 100%;
	transition: background-color var(--speed);
}
.page-home .feature-1 {
	border-top: solid 1px #ffffff;
}
.page-home .feature-2 {
	border-top: solid 1px #ffffff;
	border-bottom: solid 1px #ffffff;
}
@media (min-width:768px) {
	.page-home .feature-1,
	.page-home .feature-2 {
		padding-bottom: 3rem!important;
	}
	.page-home .feature-2 {
		border-left: solid 1px #ffffff;
		border-bottom: 0;
	}
	
}

.card{
	border: none;
	box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 15px;
	border-radius: 0;
}
.card-footer:last-child {
  border-radius: 0;
}
.btn-primary{
  color: #ffffff;
}
.list-blog-categories a,
.list-blog-archive a,
.badge{
	color: var(--primary-dark-color);
}
.page-blog main,
.page-id-2 main,
.page-contact main{
	background-color: var(--primary-verylight-color);
}
footer .bottom-footer{
	display: flex;
	flex-direction: column;
	justify-content: end;
	height: 300px;
	padding-left: 1rem;
	padding-bottom: 1rem;
	padding-right: 1rem;
}

.page-text .breadcrumb li + li::before,
.page-text .breadcrumb a {
	color: var(--primary-darker-color);
}
.page-text .si-burger span,
.page-text .si-burger span::before,
.page-text .si-burger span::after {
  border-bottom: 2px solid var(--primary-darker-color);
}

@media(min-width: 992px){
	.home-content{
		padding-top: 7rem;
		padding-left: 2rem;
	}

	footer .footer-contact{
		padding: 4rem 0 0 15rem;
		border-top: solid 1px var(--secondary-color);
		border-right: solid 1px var(--secondary-color);
	}
	.page-text header{
		background-color: var(--primary-color);
		
	}
	.page-text main .h1{
		margin-top: 6rem;
	}
	footer .bottom-footer{
		padding: 2rem;
	}
	#langbar a:focus {
	color: var(--primary-darker-color);
	}
	.footer-text{
		background-color: var(--secondary-color);
		color: var(--primary-darkest-color);
		padding: 4rem;
		margin-bottom: 4rem;
	}
}
.footer-social {
	display: flex;
	list-style: none;
	margin: 2rem 0 2rem;
	padding-left: 1rem;
	font-size: 1.5rem;
}
.footer-social li{
	margin: 0 0 1rem 1rem;
	
}

.leaflet-popup-close-button {
	color: #000000!important;
}