/* ----------------------------------------------------------------
	Custom CSS

	Add all your Custom Styled CSS here for New Styles or
	Overwriting Default Theme Styles for Better Handling Updates
-----------------------------------------------------------------*/


:root {
	--color-red: #F00;
	--color-grey: #eee;
}

.color_red {
	color: var(--color-red)
}

.photogallery_btn {
	width: 100%;
	height: 47px;
	text-align: left;
}

.side-header #header.dark {
	background-color: rgba(53, 87, 134, 0.95);
	border-left: 0;
}

body,
#content,
#footer.dark {
	background-color: #FFF;
}

.blu {
	color: #355786 !important;
}

.dark .fbox-bg.fbox-center .fbox-icon {
	background-color: #282828;
}

/* Floating Contact
-----------------------------------------------------------------*/
.floating-contact-wrap {
	position: fixed;
	right: 50px;
	bottom: 110px;
	z-index: 299;
}

.floating-contact-wrap .floating-contact-btn {
	position: absolute;
	left: 0;
	top: 0;
	width: 50px;
	height: 50px;
	border-radius: 8px;
	background-color: var(--themecolor, #355786);
	color: #FFF;
	cursor: pointer;
	z-index: 3;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	transition: transform .3s ease;
}

.floating-contact-wrap .floating-contact-btn:hover,
.floating-contact-wrap.active .floating-contact-btn {
	-webkit-transform: translate(-50%, -50%) scale(1.1);
	transform: translate(-50%, -50%) scale(1.1);
	background-color: #222;
	color: #FFF;
}

.floating-contact-wrap .floating-contact-btn .floating-contact-icon {
	position: absolute;
	top: 50%;
	left: 50%;
	font-size: 22px;
	-webkit-transition: .3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
	transition: .3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
	-webkit-transition-property: opacity, -webkit-transform;
	transition-property: opacity, transform;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	-webkit-backface-visibility: hidden;
}

.floating-contact-wrap .floating-contact-btn .floating-contact-icon.btn-active,
.floating-contact-wrap.active .floating-contact-btn .floating-contact-icon {
	opacity: 0;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.floating-contact-wrap.active .floating-contact-btn .floating-contact-icon.btn-active {
	opacity: 1;
	-webkit-transform: translate(-50%, -50%) rotate(-45deg);
	transform: translate(-50%, -50%) rotate(-45deg);
}

.floating-contact-wrap .floating-contact-box {
	opacity: 0;
	position: absolute;
	right: 0;
	bottom: 0;
	width: 380px;
	background-color: #fff;
	border-radius: 6px;
	z-index: 1;
	-webkit-transform-origin: right bottom;
	transform-origin: right bottom;
	box-shadow: 0px 0px 13px 3px rgba(0, 0, 0, 0.07);
	-webkit-transform: scale(.01);
	transform: scale(.01);
	-webkit-transition: all .3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
	transition: all .3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
	-webkit-backface-visibility: hidden;
}

.floating-contact-wrap.active .floating-contact-box {
	opacity: 1;
	-webkit-transform: scale(1);
	transform: scale(1);
}

.floating-contact-wrap .css3-spinner {
	background-color: rgba(255, 255, 255, 0.8)
}

.floating-contact-wrap form {
	padding: 35px 30px;
}

#floating-contact-submitted,
.floating-contact-success #floating-contact,
.floating-contact-success .floating-contact-heading,
body:not(.floating-contact-processing) .floating-contact-loader {
	display: none;
}

.floating-contact-success #floating-contact-submitted {
	display: block;
}

.heading-block.center::after {
	margin: 10px auto 0;
}

.side-header.side-header-open .primary-menu .menu-item:nth-child(6) .menu-link {
	-moz-transition-delay: 0.5s;
	-o-transition-delay: 0.5s;
	-webkit-transition-delay: 0.5s;
	transition-delay: 0.5s;
}

.button:hover {
	color: #FFF;
}

.dark #header-wrap {
	background-color: #355786;
}

.h-text p {
	text-align: justify;
	line-height: 24px !important;
}

.h-text h2 {
	font-size: 35px;
}

@media (max-width: 991px) {
	.heading-block.center>span {
		font-size: 16px;
	}

	.h-text h2 {
		font-size: 25px;
	}
}

#page-title {
	background-color: #355786;
	border-bottom: 0px solid #EEE;
}

#page-title.page-title-mini h1 {
	color: #FFF;
}

.breadcrumb a,
.breadcrumb a:hover {
	color: #fff;
}

.titolo {
	color: #355786 !important;
	font-size: 50px !important;
}

.riga {
	height: 8px !important;
	opacity: 1 !important;
}

.p-sin {
	font-size: 30px;
}

.lh-sin {
	line-height: 1.3 !important;
}

.dark .fbox-effect .fbox-icon i:hover,
.dark .fbox-effect:hover .fbox-icon i {
	background-color: #355786;
}

.riga2 {
	height: 2px !important;
	opacity: 1 !important;
}

.riga3{
	height: 5px !important;
	opacity: 1 !important;
}

.riga4{
	height: 1px !important;
	opacity: 1 !important;
}

.boxettone {
	background-color: #d1e0e3;
	border-radius: 15px;
	padding: 30px;
}

/* Modifica Menu */

.dark .menu-item:hover>.menu-link {
	color: #fff !important;
}

h1.slide-title{
	font-weight: 400;
}

@media(max-width: 991px){
	h1.slide-title{
		font-size: 2.5em;
	}
}

@media (min-width: 992px) {

	.dark .primary-menu:not(.not-dark) .sub-menu-container,
	.dark .primary-menu:not(.not-dark) .mega-menu-content {
		background-color: #355786;
		border: none;
		border-top-color: #FFF;
	}
	.sub-menu-container .menu-item > .menu-link {
		padding: 13px 5px !important;
		font-size: 1.25em !important;
		color: #F7F7F7;
	}
	.sub-menu-container .menu-item > .menu-link:hover {
		color: #FFF !important;
	}

	h1.slide-title{
		font-size: 4.5em;
	}
}

::selection { background: #fff !important; color: #000 !important}

::-moz-selection { background: #fff !important; color: #000 !important}

::-webkit-selection { background: #fff !important; color: #000 !important}
