html, body {
	width: 100%;
	height: 100vh;
	height: calc(var(--vh, 1vh) * 100);
}

.navigation {
	width: 100%;
	height: calc(2.5rem + 4px);
	/* height: 2.5rem; */
	/* background-color: #000000; */
	background-color: #272727;
	position: fixed;
	/* z-index: 5; */
	z-index: 9;
	border-bottom: 4px solid red;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	/* overflow: hidden; */
	-webkit-box-shadow: 2px 0px 12px #27272777;
	        box-shadow: 2px 0px 12px #27272777;
}

.navigation .fa-close {
	padding: 0 1.5px;
}

.nav-wrap {
	/* width: 900px; */
	height: 2.5rem;
	margin: auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding-right: 1.27rem;
}

.nav-link {
	text-align: center;
	color: #eaeaea;
	font-size: 1rem;
	height: 2.5rem;
	line-height: 2.5rem;
	text-decoration: none;
	cursor: pointer;
	padding-left: 1rem;
	padding-right: 1rem;
	
	/* float: right; */
}

.nav-link.selected {
	color: #fff;
	font-weight: bold;
	background-color: #ffffff27;
}

.en .selected.a, .a:active {
	padding: 0 calc(1rem - 2.25px);
}

.en .selected.b, .b:active {
	padding: 0 calc(1rem - 4.75px);
}

.en .selected.c, .c:active {
	padding: 0 calc(1rem - 3.25px);
}

.it .selected.a, .a:active {
	padding: 0 calc(1rem - 2.25px);
}

.it .selected.b, .b:active {
	padding: 0 calc(1rem - 5.35px);
}

.it .selected.c, .c:active {
	padding: 0 calc(1rem - 3.25px);
}

.side-nav-toggle {
	display: none;
}

.side-nav-toggle:active {
	text-decoration: none;
}

.language {
    /* background-color: #fefefe; */
	
	/* background-color: #f9f9f9; */
    /* border: 2px outset #dddd; */
    background-color: #292727;
    border: 2px solid #443e3e;
    cursor: pointer;
    border-radius: 7px;
    outline: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
	margin-top: 4px;
    margin-right: 3px;
}

.language:active {
	/* background-color: #f1f1f1; */
	background-color: #3e3b3b;
}

.language img, .language-dropdown-content img {
	pointer-events: none;
	width: 2rem;
	margin: 3px;
	/* margin-bottom: 0; */
	border-radius: 4px;
}

.language:active i {
	/* color: #272727; */
}

.language-dropdown.show .language {
	/* border-color: #cc0909; */
}

.language i {
	pointer-events: none;
	/* color: #777; */
	color: #999;
	-webkit-transition: -webkit-transform 0.27s;
	transition: -webkit-transform 0.27s;
	-o-transition: transform 0.27s;
	transition: transform 0.27s;
	transition: transform 0.27s, -webkit-transform 0.27s;
    line-height: 27px;
    margin-right: 4px;
}

.language-dropdown.show i {
	/* color: #272727; */
	-ms-transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	        transform: rotate(180deg);
}

.language-dropdown-content a:first-child {
	/* border-bottom: 1px solid #ddd; */
}

.language-dropdown {
	position: relative;
	display: inline-block;
}

.language-dropdown-content {
	/* background-color: #fefefe; */
	border-radius: 7px;
    /* border: 2px outset #dddd; */
	/* background-color: #f9f9f9; */
    background-color: #292727;
    /* border: 2px solid #443e3e; */
	display: none;
	position: absolute;
	overflow: auto;
	/* box-shadow: 0px 4px 8px 0px #27272727; */
	-webkit-box-shadow: 2px 2px 6px 0px #27272777;
	        box-shadow: 2px 2px 6px 0px #27272777;
	/* z-index: 1; */
}

.language-dropdown-content a {
	/* display: block; */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	border-radius: 7px;
	border: 2px solid #443e3e;
}

.language-dropdown.show .language-dropdown-content {
	display: block;
}

.banner-wrap {
	margin-top: 2.5rem;
	width: 100%;
	height: 25vh;
	height: calc(var(--vh, 1vh) * 25);
	/* height: 100%; */
	background-color: #222;
	border-bottom: 1px solid #222;
	-webkit-box-shadow: 2px 0px 12px #27272777;
	        box-shadow: 2px 0px 12px #27272777;
	position: relative;
	overflow: hidden;
}

.side-nav {
	/* display: none; */
	width: 250px;
	position: fixed;
	z-index: 7;
    top: calc(2.5rem + 4px);
	bottom: 0;
	right: 0;
	/* background-color: #073c58; */
	background-color: #272829;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-transition: -webkit-transform 0.5s;
	transition: -webkit-transform 0.5s;
	-o-transition: transform 0.5s;
	transition: transform 0.5s;
	transition: transform 0.5s, -webkit-transform 0.5s;
	-ms-transform: translateX(255px);
	-webkit-transform: translateX(255px);
	        transform: translateX(255px);
	padding-top: 1rem;
	-webkit-box-shadow: 2px 2px 8px #0007;
	        box-shadow: 2px 2px 8px #0007;
}

.side-nav .side-nav-link {
	padding: 0.5rem 2rem;
	padding-right: 0;
	text-decoration: none;
	text-align: left;
	font-size: 1.1rem;
	font-family: 'Raleway', sans-serif;
	font-weight: 500;
	color: #eaeaea;
	display: block;
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
	white-space: break-spaces;
    overflow: hidden;
}

.side-nav .side-nav-link.selected {
	color: #fff;
	font-weight: bold;
	background-color: #ffffff0a;
}

.slider-image {
	/* top: 0; */
	/* bottom: 0; */
	/* left: 0; */
	/* right: 0; */
	/* background-size: cover; */
	position: absolute;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	opacity: 0;
	-webkit-transition: opacity 2.7s ease-in-out;
	-o-transition: opacity 2.7s ease-in-out;
	transition: opacity 2.7s ease-in-out;
}

.slider-image.selected {
	opacity: 1;
}

.slider-arrow {
	/* top: 0; */
	/* bottom: 0; */
	top: 25%;
	bottom: 25%;
	border-radius: 7px;
	width: 50px;
	background-size: cover;
	position: absolute;
	cursor: pointer;
	background-color: #fff3;
	/* background-color: #0008; */
	-webkit-transition: 0.172s;
	-o-transition: 0.172s;
	transition: 0.172s;
	opacity: 0;
	
	-webkit-touch-callout: none; /* iOS Safari */
	-webkit-user-select: none; /* Safari */ /* Konqueror HTML */
	-moz-user-select: none; /* Old versions of Firefox */
	-ms-user-select: none; /* Internet Explorer/Edge */
	user-select: none; /* Non-prefixed version, currently supported by Chrome, Edge, Opera and Firefox */
}

.slider-arrow div {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	font-size: 1.5rem;
	color: #eee;
	-ms-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
	text-align: center;
    text-shadow: 2px 2px 6px #272727;
}

.slider-arrow.left {
	left: 0;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}

.slider-arrow.right {
	right: 0;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.slider-dots-wrap {
	position: absolute;
	bottom: 0.5rem;
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-direction: row;
	        flex-direction: row;
	font-size: 0.7rem;
}

.slider-dots {
	max-width: calc(100vw - 100px);
	margin: auto;
	color: #fffa;
	cursor: pointer;
	padding: 6px;
	background-color: #0000;
	border-radius: 7px;
	-webkit-transition: background-color 0.25s;
	-o-transition: background-color 0.25s;
	transition: background-color 0.25s;
}

.slider-dots i {
	margin: 2px;
	cursor: pointer;
	text-shadow: 2px 2px 4px #222;
}

.slider-dots i:active {
	color: #fff;
}

.slider-dots .selected {
	font-weight: bold;
	color: #fffd;
}

.mask {
	position:fixed;
	top:0;
	left:0;
	bottom:0;
	right:0;
	width:100%;
	height:100%;
	display:none;
	z-index: 5;
	background-color: #1125;
}

.content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	width: 100%;
	height: calc(75vh - 2.5rem);
	height: calc((var(--vh, 1vh) * 100) - (var(--vh, 1vh) * 25) - 2.5rem);
}

.content-wrap {
	-webkit-box-flex: 1;
	    -ms-flex-positive: 1;
	        flex-grow: 1;
	padding: 1.5rem;
	padding-bottom: 4rem;
}

.contain-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	max-width: 959px;
	margin: 0 auto;
	-webkit-transition: max-width 0.25s;
	-o-transition: max-width 0.25s;
	transition: max-width 0.25s;
}

.page-title {
	display: none;
	margin-bottom: 1.5rem !important;
	text-align: center;
	/* padding-top: 1rem; */
	/* font-size: 1.7rem !important; */
	font-size: 1.6rem !important;
}

.footer .clients-container {
	display: -ms-grid;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	grid-gap: 1rem;
	padding: 0.5rem;
}

.footer .client {
	background: #2f2f2f;
	border: 1px solid #212121;
	-webkit-box-shadow: 4px 4px 6px #0003;
	        box-shadow: 4px 4px 6px #0003;
	border-radius: 7px;
	/* padding: 1rem; */
	position: relative;
	cursor: pointer;
}

.footer .client::before {
	content: "";
	display: block;
	padding-bottom: 100%;
}

.footer .client span {
	position: absolute;
	/* bottom: 0.5rem; */
	top: 82%;
	left: 0.5rem;
	right: 0.5rem;
	line-height: 1.2rem;
	text-align: -webkit-center;
	overflow: hidden;
	-o-text-overflow: ellipsis;
	   text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	-webkit-transform: translate(0, -50%);
	    -ms-transform: translate(0, -50%);
	        transform: translate(0, -50%);
}

.footer a:active {
	text-decoration: underline;
}

.footer .client:active span {
	text-decoration: underline;
	color: #a0a0a0;
}

.footer .client img {
	position: absolute;
	/* max-width: 100%; */
	max-width: calc(100% - 2rem);
	max-height: calc(100% - 4rem);
	top: 50%;
	left: 50%;
	/* transform: translate(-50%, -50%); */
	-webkit-transform: translate(-50%, calc(-50% - 1.25rem));
	    -ms-transform: translate(-50%, calc(-50% - 1.25rem));
	        transform: translate(-50%, calc(-50% - 1.25rem));
}

.footer a {
    color: #007bff;
    text-decoration: none;
    background-color: transparent;
}

.footer a:active {
    text-decoration: underline;
}

.res-load {
	display: none;
}

.grecaptcha-badge {
	/* top: calc(2.5rem + 14px); */
	-webkit-transition: right 0.3s ease 0s, top 0.25s !important;
	-o-transition: right 0.3s ease 0s, top 0.25s !important;
	transition: right 0.3s ease 0s, top 0.25s !important;
	top: calc(100vh - 60px - 14px) !important;
	top: calc((var(--vh, 1vh) * 100) - 60px - 14px) !important;
}

.grecaptcha-badge.top {
	top: calc(2.5rem + 14px) !important;
}

@media (hover: hover) {
	
	.nav-link:hover, .side-nav .side-nav-link:hover {
		color: #fff;
		background-color: #333;
		font-weight: bold;
	}
	
	.side-nav .side-nav-link:hover {
		background-color: #fff1;
	}
	
	.nav-link:active, .side-nav .side-nav-link:active {
		color: #fff;
		background-color: #272727;
		font-weight: bold;
	}
	
	.side-nav .side-nav-link:active {
		background-color: #ffffff0a;
	}
	
	.en .a:hover {
		padding: 0 calc(1rem - 2.125px);
	}
	
	.en .b:hover {
		padding: 0 calc(1rem - 4px);
	}
	
	.en .c:hover {
		padding: 0 calc(1rem - 2.75px);
	}
	
	.it .a:hover {
		padding: 0 calc(1rem - 2.25px);
	}
	
	.it .b:hover {
		padding: 0 calc(1rem - 5.35px);
	}
	
	.it .c:hover {
		padding: 0 calc(1rem - 3.25px);
	}
	
	.side-nav-toggle:hover {
		text-decoration: none;
	}
	
	.language:hover {
		/* background-color: #f1f1f1; */
		background-color: #353333;
		border-color: #cc0909;
	}
	
	.language:hover i {
		/* color: #272727; */
		color: #fff;
	}
	
	.language-dropdown a:hover {
		/* background-color: #f1f1f1; */
		background-color: #353333;
		border-color: #cc0909;
	}
	
	.slider-arrow:hover:not(.blocked) {
		opacity: 1;
	}
	
	.slider-arrow:hover:not(.blocked) div {
		color: #fff;
		font-weight: bold;
	}
	
	.slider-dots:hover {
		background-color: #0009;
	}
	
	.slider-dots i:hover {
		color: #fff;
	}
	
	.footer .client:hover span {
		text-decoration: underline;
		color: #a0a0a0;
	}
	
	.footer a:hover{
		text-decoration: underline;
	}
	
	/*-- recaptcha --*/
	
	.grecaptcha-badge:hover {
		right: 0 !important;
	}
	
}

@media (hover: none) {
	
	.nav-link:active, .side-nav .side-nav-link:active {
		color: #fff;
		background-color: #333;
	}
	
	.side-nav .side-nav-link:active {
		background-color: #fff1;
	}
	
}

@media only screen and (max-width:639.98px) {
	
	.footer-width {
		-webkit-box-orient: vertical !important;
		-webkit-box-direction: normal !important;
		-ms-flex-direction: column !important;
		flex-direction: column !important;
	}
	
	.footer-width-2 {
		margin-bottom: 0 !important;
	}
	
}

/*-- Collapse menu --*/
@media only screen and (max-width:574.98px) {
	
	.en .nav-wrap {
		width: 100%;
	}
	
	.en .nav-link {
		display: none;
	}
	
	.en .nav-link.title {
		display: block;
	}
	
	.en .side-nav-toggle {
		display: block;
	}
	
	.en .side-nav {
		display: block;
	}
	
	.en .slider-arrow {
		opacity: 1;
		background-color: #0000;
	}
	
	.en .page-title {
		display: block;
	}
	
}

/*-- Collapse menu --*/
@media only screen and (max-width:599.98px) {
	
	.it .nav-wrap {
		width: 100%;
	}
	
	.it .nav-link {
		display: none;
	}
	
	.it .nav-link.title {
		display: block;
	}
	
	.it .side-nav-toggle {
		display: block;
	}
	
	.it .side-nav {
		display: block;
	}
	
	.it .slider-arrow {
		opacity: 1;
		background-color: #0000;
	}
	
	.it .page-title {
		display: block;
	}
	
}
