/* CSS Document */
/************************/
/******   HEADER   ******/
/************************/
header {
	position: fixed;
	top: 0px;
    left: 0px;
    width: 100%;
	height: 74px;
    border-bottom: 1px solid #333;
   /* box-shadow: 3px 6px 20px 0 rgba(0, 0, 0, 0.2); */
    z-index: 2;
}
section {
	padding: 4.5% 0px;
	z-index: 1;
}
.section-title {
	font-size: 50px;
	text-align: center;
	margin-bottom: 5px;
	text-transform: uppercase;
}
.section-subtitle {
	font-size: 40px;
	text-align: center;
	margin-bottom: 30px;
	text-transform: uppercase;
}
@media (max-width: 992px) {
	.section-title {
		font-size: 38px;
		margin-top: 15px;
	}
	.section-subtitle {
		font-size: 28px;
	}
}

.first-section-margin {
	margin-top: 65px;
}
.logo_img_big {
	width: 100px;
}
#header-title {
	position: absolute;
	font-size: 21px;
    line-height: 23px;
    top: 14px;
	left: 70px;
}
#header-title a {
	text-decoration: none;
	color: inherit;
}
@media (max-width: 992px) {
	#header-title {
		position: absolute;
		font-size: 19px;
		line-height: 22px;
		top: 14px;
		left: 54px;
	}
}
/**   NAVBAR  **/
#mainNav {
	font-family: 'PT Sans', sans-serif;
	padding-top: 0rem;
	padding-bottom: 0rem;
	font-weight: 400;
	background-color: #FFF;
	height: 73px;
}
#mainNav .navbar-brand {
	color: #444;
}
#mainNav .navbar-nav {
	margin-top: 1rem;
	letter-spacing: 0.08rem;
}
#mainNav .navbar-nav li  {
	border-bottom: 1px solid #333;
}
#mainNav .navbar-nav li.nav-item a.nav-link {
	color: #444;
}
#mainNav .navbar-nav li.nav-item a.nav-link:hover {
/*color: #FF4242;*/
text-decoration: underline;
}
#mainNav .navbar-nav li.nav-item a.nav-link:active, #mainNav .navbar-nav li.nav-item a.nav-link:focus {
/*color: #FF4242;*/
text-decoration: underline;
}
#mainNav .navbar-nav li.nav-item a.nav-link.active {
	/*color: #FF4242;*/
	text-decoration: underline;
}
#mainNav .navbar-toggler {
	font-size: 80%;
	padding: 0.8rem;
	margin-right: 5px;
}
#mainNav .navbar-toggler:hover {
	opacity: 0.9;
}
@media (min-width: 992px) {
	#mainNav {
		-webkit-transition: padding-top 0.3s, padding-bottom 0.3s;
		transition: padding-top 0.3s, padding-bottom 0.3s;
	}
	#mainNav .navbar-brand {
		font-size: 1.5em;
		-webkit-transition: font-size 0.3s;
		transition: font-size 0.3s;
	}
	#mainNav .navbar-nav {
		margin-top: 0;
	}
	#mainNav .navbar-nav > li.nav-item > a.nav-link.active {
		color: #FF4242;
	}
	#mainNav .navbar-nav > li.nav-item > a.nav-link.active:active, #mainNav .navbar-nav > li.nav-item > a.nav-link.active:focus, #mainNav .navbar-nav > li.nav-item > a.nav-link.active:hover {
		color: #FF4242;
	}
	#mainNav.navbar-dark {
		background-color: #FFF;
	}
	#mainNav .navbar-nav li  {
		border-bottom: 0px;
	}
}
.navbar-collapse { 
	margin-top: 16px!important;
}
@media (max-width: 992px) {
	.navbar-collapse { 
		margin-top: 4px!important;
	}
	#mainNav .navbar-nav {
		margin-top: 0rem;
	}
}
/**** main container + main content  *****/
.main-container {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
.main-content {
	flex: 1;
}
/***  MAIN IMAGE  ****/
#mainImgBox {
	position: relative;
	color: #FFF;
}
.home-bg {
	background: url('../images/header/home.webp') no-repeat center center; /*home3.jpg*/
	-webkit-background-size: cover; 
	-moz-background-size: cover; 
	-o-background-size: cover; 
	background-size: cover; 
	padding-top:50vh; 
	padding-bottom:18vh; 
	padding-left: 1%;
}
@media (max-width: 768px) {
	.home-bg {
		padding-top:55vh; 
		padding-bottom:5vh; 
	}
}
@media (max-width: 500px) {
    .home-bg {
        padding-top: 35vh;
        padding-bottom: 5vh;
    }
}
.filter {
	position: absolute; 
	top: 0px;
	left:0px;
	width: 100%;
	height: 100%;
	background-color:#000;
	opacity: 0.2;
}
.transparent-bg {
	background-color:transparent;
}
#main-title-box {
	position: relative;
	z-index: 5;
	width: 35%;
	margin: 0px 0px 0px 5%;
}
.imageTxt {
	padding: 0px 10px;
	/* border-bottom: 8px solid #FFF; */
}
@media (max-width: 920px) {
	#main-title-box {
		width: 95%;
	}
	.imageTxt {
		width: 70%;
	}
}
.imageTxt h1 {
	font-size: 48px;
	color: #FFF;
	margin-bottom: 20px;
	/*text-shadow: 2px 2px 6px #333333;*/
	font-family: 'PT Sans', sans-serif!important;
	letter-spacing: 2px;
	font-weight: 500;
	text-shadow: 2px 2px 2px #333333;
	text-transform: uppercase;
}
.imageTxt h2 {
	font-size: 42px;
	color: #FFF;
	margin-bottom: 20px;
	/*text-shadow: 2px 2px 6px #333333;*/
	font-family: 'PT Sans', sans-serif!important;
	letter-spacing: 2px;
	font-weight: 500;
	text-shadow: 2px 2px 2px #333333;
}
@media (max-width: 768px) {
	.imageTxt {
		width: 90%;
	}
  	.imageTxt h1{
		font-size: 34px;
		margin-bottom: 18px;
	}
	.imageTxt h2{
		font-size: 28px;
		margin-bottom: 18px;
	}
}
@media (max-width: 500px) {
	#main-title-box {
		margin: 0px 0px 0px 3%;
	}
	.imageTxt {
		width: 95%;
	}
  	.imageTxt h1{
		font-size: 28px;
		margin-bottom: 18px;
	}
	.imageTxt h2{
		font-size: 24px;
		margin-bottom: 18px;
	}
}
.imageTxt h4{
	font-size: 22px;
	color: #FFF;
	margin-bottom: 7px;
	font-weight: normal;
}
/* flexbox home header icons */
.flex-container {
    display: flex;
    flex-direction: row;
	margin-top: 20px;
}
.h-flex-item {
    flex-grow: 1;
	text-align: center;
}
.h-flex-item span {
    font-size: 70px;
    color: #FFF;
}
.h-flex-item img {
    border: 0px;
	max-width: 80px;
	width:100%;
	margin: 15px 0px;
}
.flex-container p {
    text-transform: uppercase;
	font-size: 14px;
}
/*****   ABOUT   *****/
.big-txt {
	font-size: 22px;
	line-height: 34px;
	padding: 0px 10%;
	text-align: center;
}
@media (max-width: 600px) {
	.big-txt {
		padding: 0px 5%;
	}
}
/**  Zoom in images  **/
.service-box figure {
	max-width: 400px;
    width: 100%;
    margin: 0 auto;
    padding: 0;
    background: #fff;
    overflow: hidden;
}
.service-box figure img {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
	max-width: 420px;
	width: 100%;
}
.service-box figure:hover img {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
}
.service-box h4 {
	text-transform: uppercase;
	padding: 10px 5px;
	max-width: 420px;
    width: 100%;
	margin: 0 auto;
}
.service-box p {
	padding: 0px 5px;
	max-width: 420px;
    width: 100%;
	margin: 0 auto 40px;
}
@media (max-width: 992px) {
	.service-box p {
		margin: 0 auto 50px;
	}
}
.service-img-bg {
	-webkit-background-size: cover; 
	-moz-background-size: cover; 
	-o-background-size: cover; 
	background-size: cover; 
	padding-top: 14vh;
    padding-bottom: 3.1vh;
	padding-left: 1%;
}
/***  Staff  ***/
.staff-box {
	margin-bottom: 50px;
}
.staff-box img {
	max-width: 350px;
	width: 100%;
}

/*** Main Service Page  ***/
.p-service-box {
	max-width: 440px;
    width: 100%;
    margin: 0 auto;
    padding: 0;
    background: #fff;
    overflow: hidden;
	border: 0px solid #333;
	min-height: 280px;
	margin-bottom: 35px;
}
.p-service-box img {
	border: 1px solid #CCC;
	border-radius: 5px;
	max-width: 350px;
	width: 100%;
}
.p-service-box h4 {
	font-size: 18px;
	font-weight: 500!important;
	text-transform: uppercase;
	padding: 10px 5px 10px;
	max-width: 300px;
	min-height: 85px;
	margin: 5px auto;
    width: 100%;
	margin: 0 auto;
	color: #333;
	border-bottom: 1px solid #CCC;
}
.p-service-box p {
	padding: 10px 5px;
	max-width: 440px;
    width: 100%;
	margin: 0 auto 20px;
}
@media (max-width: 992px) {
	.p-service-box p {
		margin: 0 auto 50px;
	}
}
/**  Zoom portfolio images  **/
.p-service-box figure {
	max-width: 350px;
    width: 100%;
    margin: 0 auto;
    padding: 0;
    background: #fff;
    overflow: hidden;
	border-radius: 5px;
}
.p-service-box figure img {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
	max-width: 350px;
	width: 100%;
}
.p-service-box figure:hover img {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
}
/*****   Portfolio   ******/
.single-portfolio-box {
	position: relative;
    overflow: hidden;
	width: 100%;
    margin: 0 auto;
}
@media (max-width: 769px) {
	.single-portfolio-box {
		max-width: 370px;
	}
}
.single-portfolio-description {
	background: #f4f5f7;
    padding: 20px 15px 5px 25px;
    position: absolute;
    left: 0px;
    bottom: 0;
    max-width: 370px;
    width: 80%;
	margin: 0 auto;
}
.project-title {
	font-size: 18px;
	font-weight: 500!important;
	text-transform: uppercase;
	text-align: center;
	padding: 10px 5px 10px;
	max-width: 300px;
	min-height: 85px;
	margin: 5px auto;
    width: 100%;
	margin: 0 auto;
	color: #333;
}
.project-image {
	border: 1px solid #CCC;
	border-radius: 5px;
}


#thumblist {
	position: relative;
	height: 255px;
	margin-bottom: 10px;
}
.home-card-box {
	position: absolute;
	top: 0px;
	left: 0px;
	padding: 20px 0px;
	width: 16%;
	margin-right: 0%;
}
.slider {
	position: absolute;
	top: 0px;
	left: 0px;
	/*width: 100%; */
	height: fit-content;
	padding: 15px 0px;
	overflow: auto;
	width: -moz-available;
	width: -webkit-fill-available;
	width: fill-available;        /* For Firefox and modern browsers */
}
.slider::-webkit-scrollbar {
	width: 80px;
	height: 8px;
}
.slider::-webkit-scrollbar-thumb {
	background: rgb(51, 51, 51);
	border-radius: 10px;
}
.slider::-webkit-scrollbar-track {
	background: rgba(224, 224, 224, 0.3);
}
.cards {
	width: fit-content;
	display: flex; 
	align-items: center;
	justify-content: center;
}
.card {
	width: 230px;
	height: 230px;
	background: #CCC;
	/*box-shadow: 0 30px 30px rgba(0, 0, 0, 0.14);*/
	display: flex; 
	align-items: center;
	justify-content: center;
	flex-direction: column;
	position: relative;
	margin: 0 5px; 
	border-radius: 5px;
}
.card a:hover {
	opacity: 0.8;
}

#portfolioModal .modal-header .close {
    padding: 0px 12px;
	outline:0;
}
#portfolioModal .modal-header {
    border-bottom: 0px!important;
}
.proj-subtitle {
	font-style: italic;
}
.popup-prj-title {
	font-size: 18px;
	font-weight: 500!important;
	text-transform: uppercase;
	padding: 10px 5px 10px;
	max-width: 100%;
	margin: 5px auto;
    width: 100%;
	margin: 0 auto;
	color: #333;
	border-bottom: 1px solid #CCC;
}
/*** contatti  *****/
.single-contact {
	position: relative;
    background-color: rgb(242 242 242);
    padding: 40px 10px 30px;
    margin-left: 30px;
    margin-right: 30px;
	min-height: 300px;
}
@media (max-width: 12012px) {
	.single-contact {
		margin-left: 20px;
		margin-right: 20px;
	}
}
.single-contact h4 {
	font-size: 26px;
}
.contact-details {
	display: block;
}
.contact-details {
	font-size: 18px;
}
