@charset "utf-8";
/* COLORI
#0a81d6 Azzurro scuro
#41b6fd Azzurro chiaro
#186E93 Azzurro ombra
*/


/* reset-all
------------------------- */
body, h1, h2, h3, h4, h5, p, ul, ol, li, img, span, a {
	margin:0; padding:0; list-style:none; border:none;font-size:100%; outline:none;
}


body {
	background:#e6e6e6 url(../img/bg-grigio.gif) 0 0 repeat-x;
	font-family:Arial, Helvetica, sans-serif;
	font-size:10px;
}



/* Layout - struttura
--------------------------------- */

/* 
#bg-ombra {
	background:url(../img/ombra.png) 50% 0% repeat-y;
}
*/
/* 
#bg-ombra-footer {
	background:url(../img/ombra-footer.png) 50% 100% no-repeat;
	padding-bottom:5px;
}
*/
#container {
	width:960px;
	margin:0 auto;
	background:#FFF;
	box-shadow: 0px 0px 15px rgba(0,0,0,0.4);
}
#header {
	width:960px;
	height:230px;
	position:relative;
}
#navigation {
	height:50px;
	background:#808080;
}
#contenuti {
	padding:50px 0 40px 40px;
	position:relative;
	height:auto; overflow:hidden;
}
#footer {
	background:#E6E6E6;
	width:960px;
	height:50px;
	line-height:50px;
	text-align:center;
	margin:0 auto;
	font-family: Fette, Arial, Helvetica, sans-serif;
	font-size:15px;
	color:#999;
}
#footer a {
	color:#41b6fd;
	text-decoration:none;
	padding:2px;
}
#footer a:hover {
	/* color:#0a81d6; */
	color:#fff;
	background-color:#41b6fd;
}


/* header 
-------------------------------------- */

.header-ombra {
	text-shadow: -1px -1px 1px #186E93;
	color:#fff;
}

#header h1, #header h2 {
	 display:none;
}

#header-info {
	width:400px;
	height:170px;
	position:absolute;
	top:0px;
	right:0px;
	/* background:#41b6fd url(../img/header-info-bg-azzurro.gif) 0 0 repeat-x;  */
	background:#41b6fd  url(../img/header-chiama.jpg) -55px -50px no-repeat; 
}
#header-info-ico {
	/* background:url(../img/ico-phone-head.png) 40px 40px no-repeat; */
	width:400px;
	height:170px;
	position:relative;
}
#header-info-num {
	font-family: Fette, Arial, Helvetica, sans-serif;
	font-size:52px; line-height:52px; height:52px;
	position:absolute;
	top:35px;
	right:40px;
}
#header-info-dida {
	font-family: Fette, Arial, Helvetica, sans-serif;
	font-size:21px; line-height:21px; height:21px;
	position:absolute;
	top:90px;
	right:40px;
	text-transform:uppercase;
}
#header-info-orari {
	position:absolute;
	left:40px;
	top:125px;
	text-align:center;
	font-size:14px;
	color:#FFF;
}
#header-indirizzo {
	width:400px;
	height:60px;
	line-height:60px;
	text-indent:100px;
	position:absolute;
	top:170px;
	right:0;
	background:#0a81d6 url(../img/header-dove.gif) 60px 50% no-repeat; 
	font-family: Fette, Arial, Helvetica, sans-serif;
	font-size:23px;
	color:#fff;
}

body#home #header { background: url(../img/header-bg-home.jpg) 0% 0% no-repeat; }
body#servizi #header { background: url(../img/header-bg-servizi.jpg) 0% 0% no-repeat; }
body#orari #header { background: url(../img/header-bg-orari.jpg) 0% 0% no-repeat; }
body#dove #header { background: url(../img/header-bg-dove.jpg) 0% 0% no-repeat; }


/* Navigation
------------------------- */
#navigation li {
	display:block;
	height:50px;
	float:left;
	background:url(../img/navigation-border.gif) 100% 0% repeat-y; 
}
#navigation li a {
	display:block;
	height:50px;
	line-height:50px;
	font-family: Fette, Arial, Helvetica, sans-serif;
	text-transform:uppercase;
	padding:0 40px;
	text-decoration:none;
	color:#fff;
	font-size:18px;
	background-image:url(../img/navigation-bg.png);
	background-repeat: no-repeat;
	background-position:50% -300px;
	text-shadow: -1px -1px 1px #666;
	
}
#navigation li a:hover {
	background-position:50% -150px;
	color:#41b6fd;
}
body#home li#m-home a,
body#servizi li#m-servizi a,
body#orari li#m-orari a,
body#dove li#m-dove a {
	background-position:50% -50px;
	color:#fff;
	cursor:default;
}


/* Formattazione testi comuni
------------------------------------ */
.titolo {
	color:#41b6fd;
	font-family: Fette, Arial, Helvetica, sans-serif;
	text-transform:uppercase;
	font-size:30px;
	line-height:1;
	margin-bottom:10px;
	margin-left:90px;
}
#contenuti p {
	color:#666;
	font-size:15px;
	line-height:1.4;
	margin-bottom:10px;
	margin-left:90px;
}
.font18 { 	font-size:20px; }
.ls-0-3 { letter-spacing:-0.5; }
.riga-v {	background:url(../img/riga-v.gif) 70px 0 repeat-y; }

#cnt-servizi .riga-v, #cnt-convenzioni .riga-v,#cnt-orari .riga-v, #cnt-prenotazioni .riga-v  {
	height:250px;
}

#footer a, #contenuti a {
	color:#41b6fd;
	text-decoration:none;
	padding:2px;
}
#footer a:hover, #contenuti a:hover  {
	/* color:#0a81d6; */
	color:#fff;
	background-color:#41b6fd;
}





/* HOME
------------------------------------ */
#cnt-home-txt {
	width:410px;
}
#cnt-mission {
	background:url(../img/ico-mission.gif) 0px 0px no-repeat;
}
#cnt-studio {
	background:url(../img/ico-studio.gif) 0px 0px no-repeat;
	margin-top:30px;
}




#cnt-servizi {
	background:url(../img/ico-servizi.gif) 0px 0px no-repeat;
	width:410px;
	float:left;
}
#cnt-convenzioni {
	background:url(../img/ico-convenzioni.gif) 0px 0px no-repeat;
	width:410px;
	float:left;
	margin-left:60px;
}
#cnt-orari {
	background:url(../img/ico-orari.gif) 0px 0px no-repeat;
	width:430px;
	float:left;
}
#cnt-prenotazioni {
	background:url(../img/ico-prenotazioni.gif) 0px 0px no-repeat;
	width:410px;
	float:left;
	margin-left:40px;
}

#cnt-dove {
	background: url(../img/ico-dovesiamo.gif) 0px 0px no-repeat;
	width:290px;
	float:left;
}
#cnt-dove .riga-v {
	height:400px;
}
#cnt-mappa {
	background:#eee;
	width:550px;
	height:400px;
	float:left;
	margin-left:40px;
	border:1px solid #ccc;
}


#cnt-prenotazioni .telefono {
	color:#41b6fd;
	font-family: Fette, Arial, Helvetica, sans-serif;
	font-size:25px;
margin-top:-10px;
margin-bottom:20px;
}
#cnt-prenotazioni .email {
	color:#41b6fd;
	font-family: Fette, Arial, Helvetica, sans-serif;
	font-size:20px;
margin-top:-10px;
}


/* FOTO GALLERY HOME
------------------------------------ */
#cnt-gallery {
	width:410px;
	position:absolute;
	top:50px;
	bottom:40px;
	left:500px;
	z-index:100;
}
#cnt-gallery .foto-grande {
	width:410px;
	height:295px;
	position:absolute;
	top:0px;
	left:0px;
}
#foto-menu {
	width:420px;
	height:90px;
	position:absolute;
	top:315px; 
	left:0px;
}
#foto-menu a.foto-mini {
	text-decoration:none;
	background:#f0f;;
	display:block;
	width:90px;
	height:90px;
	float:left;
	
	position:relative;
	text-indent:-9000px;
	
}
#foto-menu a.foto-mini span {
	position:absolute;
	width:90px;
	height:90px;
	top:0; left:0;
}
#foto-menu a.foto-mini:hover span, #foto-menu a.foto-mini.attivo span { background: url(../img/foto-mini-bordo.gif) 50% 50% no-repeat; }
#foto-menu a#foto1-mini { background: url(../img/foto1-mini.jpg) 0px 0px no-repeat; margin-right:13px; }
#foto-menu a#foto2-mini { background: url(../img/foto2-mini.jpg) 0px 0px no-repeat; margin-right:12px; }
#foto-menu a#foto3-mini { background: url(../img/foto3-mini.jpg) 0px 0px no-repeat; margin-right:13px; }
#foto-menu a#foto4-mini { background: url(../img/foto4-mini.jpg) 0px 0px no-repeat; margin-right:0px; }

#foto-menu a.foto-mini.attivo:hover { cursor:default; }

/* =========================================================
   RESPONSIVE DESIGN & MOBILE MENU
   ========================================================= */

/* Desktop adjustments for the new footer-based header-info */
#container {
    position: relative; /* Anchor for absolute positioned elements */
}
#mobile-menu-toggle {
    display: none;
}

@media screen and (max-width: 960px) {
    #container, #header, #navigation, #footer {
        width: 100% !important;
    }
    #contenuti {
        padding: 20px !important;
    }
    #cnt-home-txt, #cnt-gallery, #cnt-servizi, #cnt-convenzioni, #cnt-orari, #cnt-prenotazioni, #cnt-dove, #cnt-mappa {
        width: 100% !important;
        float: none !important;
        margin: 0 0 20px 0 !important;
        position: static !important;
    }
    #cnt-gallery {
        height: auto !important;
    }
    #cnt-gallery .foto-grande {
        width: 100% !important;
        height: auto !important;
        position: static !important;
    }
    #cnt-mappa {
        height: 300px !important;
    }
    #cnt-mappa iframe {
        width: 100% !important;
        height: 100% !important;
    }
    
    /* Remove vertical lines and background icons to prevent overlap */
    .riga-v {
        background: none !important;
        height: auto !important;
        margin-left: 0 !important;
    }
    .titolo, #contenuti p {
        margin-left: 0 !important;
    }
    #cnt-mission, #cnt-studio, #cnt-servizi, #cnt-convenzioni, #cnt-orari, #cnt-prenotazioni, #cnt-dove {
        background-image: none !important;
    }

    /* Mobile Header */
    #header {
        background-size: cover !important;
        height: 150px !important;
        background-position: left center !important;
        border-bottom: 5px solid #808080 !important;
    }
    
    /* Contact blocks moved to bottom */
    #header-info, #header-indirizzo {
        position: static !important;
        width: 100% !important;
        height: auto !important;
        text-align: center !important;
        text-indent: 0 !important;
    }
    #header-info {
        padding: 20px 0 !important;
        background: linear-gradient(to bottom, #259eeb, #41b6fd) !important;
    }
    #header-info-ico {
        width: 100% !important;
        height: auto !important;
    }
    #header-info-num, #header-info-dida, #header-info-orari {
        position: static !important;
        line-height: 1.2 !important;
        height: auto !important;
        margin-bottom: 10px;
    }
    #header-indirizzo {
        line-height: normal !important;
        padding: 20px 0 !important;
        background: #0a81d6 !important;
    }

    /* Mobile Menu */
    #mobile-menu-toggle {
        display: block;
        position: absolute;
        bottom: 0;
        right: 15px;
        background: #808080;
        color: white;
        padding: 5px 15px;
        text-align: center;
        font-size: 30px;
        line-height: 40px;
        cursor: pointer;
        border-top-left-radius: 5px;
        border-top-right-radius: 5px;
    }
    #navigation {
        height: auto !important;
        overflow: hidden;
    }
    #navigation ul {
        display: block;
        width: 100%;
        clear: both;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.4s ease-in-out;
    }
    #navigation ul.open {
        max-height: 400px;
    }
    #navigation li {
        width: 100% !important;
        float: none !important;
        background: none !important;
        border-bottom: 1px solid #999;
    }
    #navigation li a {
        text-align: center;
        padding: 0 !important;
    }
}
