/*!
 *
 * File specifico per sito 
 *
 * Copyright 2014 SpoonDesign di Cattorini Davide
 * Tutti i diritti riservati - All rights reserved
 * http://www.spoondesign.it - info@spoondesign.it
 *
 */

* {
	box-sizing: border-box;
}
body, td, li  {
	font: 1rem/1.5rem Roboto, Verdana, Arial, Helvetica, sans-serif;
}
input, textarea, select, label, button {
	font: 1rem/1.5rem Roboto, Verdana, Arial, Helvetica, sans-serif !important;
}

a {
	color: #040447;
	text-decoration: underline;
}
a:hover {
	text-decoration: none;
}

/* FONT */

@font-face {
	font-family: Roboto;
	src: url("../fonts/roboto_regular.woff");
}
@font-face {
	font-family: Roboto;
	font-weight: bold;
	src: url("../fonts/roboto_bold.woff");
}

/* CONTENITORI */

.sdgrid {
	width: 93%;
	margin: 0 auto;
	clear: both;
}
.sdfull {
	width: 100%;
	clear: both;
}

/* FORM + BUTTONS */

.btn-primary, .btn-secondary, .sddownload_download, .sddownload_info, .sddownload_view, .btn-primary.button {
	padding: 10px 12px;
	border: 0;
	border-radius: 5px;
	background: #02A6DC;
	text-decoration: none !important;
	text-shadow: none !important;
	text-transform: uppercase;
	color: #FFF !important;
	font-weight: bold !important;
	font-size: 15px !important;
	font-family: Roboto, Arial, sans-serif;
}
.btn-primary a, .btn-secondary a, .sddownload_download a, .sddownload_info a, .sddownload_view a, .btn-primary.button {
	text-decoration: none !important;
	color: #FFF !important;
}
.btn-primary a:hover, .btn-secondary a:hover,
a.btn-primary:hover, a.btn-secondary:hover,
.sddownload_download a:hover, .sddownload_info a:hover, .sddownload_view a:hover,
a.sddownload_download:hover, a.sddownload_info:hover, a.sddownload_view:hover,
.btn-primary.button:hover {
	background: #1E1D24 !important;
	color: #FFF !important;
}

.sddownload_info, .sddownload_info a {
	background: #6C757D;
}

/* TOP */

.topbar {
	background: #02A6DC;
	color: #FFF;
}
.topbar a {
	color: #FFF;
}
.topbar ul {
	margin: 0;
	padding: 0;
	display: flex;
	list-style: none;
}
.topbar li {
	margin-left: 20px;
	font-weight: bold;
	font-size: 1rem;
	display: flex;
	align-items: center;
}
.topbar li:first-child {
	margin-left: 0;
}
.topbar i {
	margin-right: 8px;
}

/* LOGO + MENU */

.logo_menu {
	background: #FFF;
}
.logo_menu .sdgrid {
	min-height: 160px;
	display: flex;
	align-items: center;
}
.logo_menu .logo img {
	height: 130px;
}
.logo_menu .menu {
	margin-left: auto !important;
}
.logo_menu .menu .dj-up_a {
	border: 0 !important;
	font: bold 1.1rem Roboto, sans-serif !important;
	text-transform: none !important;
}

.dj-mobile-open-btn:focus, .dj-mobile-open-btn, .dj-mobile-open-btn:hover,
.dj-mobile-open-btn:focus, .dj-mobile-open-btn:hover, .dj-mobile-open-btn:focus {
	outline: none !important;
	background: none !important;
	color: #1E1D24 !important;
}
.dj-megamenu-offcanvas .dj-mobile-open-btn {
	font-size: 2rem;
	text-transform: none;
}
.dj-mobile-open-btn, .dj-mobile-open-icon:before {
	margin: 0 !important;
	padding: 0 !important;
	height: auto !important;
	font-size: 2rem !important;
	background: none !important;
	outline: none !important;
	color: #1E1D24 !important;
}

/* BANNER */

.banner img {
	width: 100%;
	height: auto;
}

/* ALERT */

.sdalert {
	padding: 1.5rem 0;
    background-color: #02A6DC;
    color: #FFF !important;
    fill: #FFF !important;
    font-size: 1.2rem;
    margin-bottom: 1px;
}
.sdalert .sdgrid {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}
.sdalert .sdalert_button .button {
    padding: 10px 20px;
    font-size: 14px;
    line-height: 1.45;
    border-radius: 4px;
    border: 1px solid #FFF;
    color: #FFF;
    text-decoration: none;
}
.sdalert .sdalert_button .button:hover {
	background-color: #FFF;
    color: #000000;
}

/* CONTENT */

.content {
	padding-top: 3rem;
	padding-bottom: 3rem;
	background: #FFF;
}
.content h1:after, .rss h2:after {
	content: "";
	display: block;
	width: 50px;
	height: 3px;
	background-color: #02A6DC;
	margin-top: 8px;
	margin-bottom: 30px;
}

/* RSS */

.rss {
	background: #F5F9FA;
	padding: 1rem 0;
}
.rss ul {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	list-style: none;
	gap: 2rem;
	margin: 0;
	padding: 1rem 0 0.5rem 0;
}
.rss li {
	background: #FFF;
	border-radius: 8px;
	padding: 1.3rem 1rem 1rem 1rem;
	border-top: 5px solid #02A6DC;
}
.rss .feed-link {
	font-size: 1.3rem;
}
.rss .feed-item-date {
	margin-top: 0.7rem;
}

/* INFOS */

.infos_container ul {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 2.5rem 0 0.5rem 0;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	margin-bottom: 2rem;
}
.infos_container li {
	width: calc(25% - 40px); 
	box-sizing: border-box;
}
.infos_container span {
	color: #02A6DC;
	font-size: 3.5rem;
	padding-bottom: 1rem;
}

/* SERVIZI */

.services_container {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    padding: 2rem 0;
}
.services_container h2 {
	color: #FFF;
	text-align: center;
	font-family: "Roboto", Sans-serif;
}
.services_container h2:after {
	content: "";
	display: block;
	width: 50px;
	height: 3px;
	background-color: #02A6DC;
	margin-right: auto;
	margin-left: auto;
	margin-top: 12px;
	margin-bottom: 35px;
}
.services_container ul {
	display: flex;
	list-style: none;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 25px;
	margin: 0;
}
.services_container li {
	text-align: center;
	width: calc(25% - 20px); 
	box-sizing: border-box;
}
.services_container h3 {
	text-align: left;
	color: #FFF;
}
.services_container h3:before {
	content: "";
	display: block;
	width: 50px;
	height: 3px;
	background-color: #02A6DC;
	margin-top: 30px;
	margin-bottom: 12px;
}
.services_container a {
	text-decoration: none;
}
.services_container img {
	width: 100%;
}

/* LOGHI */

.logos_container ul {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 1.5rem 0 1rem 0;
	margin: 0;
	flex-wrap: wrap;
	list-style: none;
}
.logos_container li {
	padding: 0 1rem;
}

/* SPLASH */

.splash {
	margin: 0;
	text-align: center;
	line-height: 1.8rem;
}
.splash .sdgrid {
	padding: 1rem 3rem;
	display: flex;
	justify-content: center;
	align-items: center;
}
.splash * {
	color: #666 !important;
	font-size: 1.15rem;
	padding: 0 0.3rem;
	text-align: left;
}

/* STAFF */

.staff_container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding: 20px;
}
.staff_member {
	background-color: white;
	border-radius: 10px;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
	margin: 10px;
	padding: 20px;
	text-align: center;
	width: calc(25% - 40px); 
	box-sizing: border-box;
}
.staff_photo {
	border-radius: 50%;
	width: 100px;
	height: 100px;
	object-fit: cover;
}
.staff_member h3 {
	margin: 10px 0 5px;
}
.staff_member p {
	margin: 0;
	color: #666;
}

/* NEWS */

.com-content-category-blog h2, .com-content-article h2 {
	font-size: 1.5rem !important;
	line-height: 1.8em !important;
}

/* FOOTER */

.footer {
	background: #222222;
	color: #FFF;
}
.footer .sdgrid {
	padding: 1rem 0;
}
.footer a {
	color: #FFF;
	background: none;
	font-size: 0.9rem;
}
.footer a:hover, .footer a:focus, .footer a:visited, .footer a:active {
	background: none !important;
}

#copyright {
	height: 4rem;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	font-size: 0.9rem;
}
#copyright ul {
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: row;
}
#copyright li {
	padding: 0 10px;
}

/* DEVICES */

@media (min-width: 1050px) {
	h1, h2 {
		font-family: "Roboto", Sans-serif;
		font-size: 2.1rem !important;
		line-height: 1.3em !important;
	}
	h3, h4, .sddownload_ammtsp_col2 h3, .sddownload_ammtsp_col1 h3 {
		font-family: "Roboto", Sans-serif;
		font-size: 1.3rem !important;
		line-height: 1.5em !important;
	}

	.sdgrid {
		width: 95%;
		max-width: 1300px;
	}

	.automarginleft {
		margin-left: auto !important;
	}
	.automarginright {
		margin-right: auto !important;
	}

	.topbar .sdgrid {
		padding: 0.6rem 0;
	}
	.topbar ul {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}

	.menu .dj-megamenu li a.special, .menu .dj-megamenu li a.special.active {
		border-radius: 5px;
		background: #02A6DC !important;
		color: #FFF !important;
	}
	.menu .dj-megamenu li a.special:hover {
		background: #1E1D24 !important;
	}
	.menu .dj-megamenu .dj-submenu li a, .menu .dj-megamenu .dj-submenu li h2 {
		font-size: 0.9rem;
	}
}

@media (max-width: 1025px) {
	h1, h2 {
		font-family: "Roboto", Sans-serif;
		font-size: 1.8rem;
		font-weight: 600;
		line-height: 1.3em;
	}
	h3, h4 {
		font-family: "Roboto", Sans-serif;
		font-size: 1.3rem;
		font-weight: 600;
		line-height: 1.5em;
	}

	.topbar {
		overflow: hidden;
	}
	.topbar .sdgrid {
		padding: 0.4rem 0;
	}
	.topbar ul { 
		justify-content: center;
		flex-wrap: wrap;
	}
	.topbar li { 
		justify-content: center;
	}
	
	.infos_container li {
		width: calc(50% - 10px);
		text-align: center;
	}
	
	.services_container li {
		width: calc(33.33% - 20px);
	}
	
	#copyright {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		padding: 1rem 0;
		line-height: 2rem;
		text-align: center;
	}
	.footer {
		padding: 0.8rem 0 1.3rem 0;
	}
	.footer .nav {
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		justify-content: center;
	}
}

@media (max-width: 767px) {
	.banner img {
		width: 200% !important;
		transform: scale(1) !important;
		transform-origin: center !important;
		margin-left: -50%;
	}

	.staff_member {
		width: calc(50% - 40px);
	}

	.services_container ul {
		justify-content: center;
	}
	.services_container li {
		width: calc(100% - 20px);
	}

	.rss ul {
		flex-direction: column;
		gap: 0;
		padding: 0 0 0.5rem 0;
	}
	.rss li {
		margin: 0.8rem 0;
	}

	.infos_container li {
		width: calc(100% - 10px);
		text-align: center;
		margin-top: 25px;
	}
	.infos_container li:first-child {
		margin-top: 0;
	}
	.infos_container span {
		padding-bottom: 0;
	}
	
	.logos_container li {
		width: calc(100% - 10px);
		text-align: center;
	}
	
	.splash * {
		font-size: 0.95rem;
		line-height: 1.3rem;
	}
	.splash .sdgrid {
		padding-left: 1rem;
		padding-right: 1rem;
	}
	
	.footer {
		padding: 2rem 0 2.5rem 0;
	}
}

@media (max-width: 480px) {
	.staff_member {
		width: calc(100% - 40px);
	}
}