/*
Theme Name: osteoghezzi
Theme URI: https://ciao.com
Author: Bradips
Author URI: https://nulla.org

*/

/*
  Sito Dr. Michele Ghezzi
  Base CSS ricavata dal layout del PDF.
*/

@font-face {
    font-family: 'Sofia Pro';
    src: url('fonts/Sofia Pro UltraLight Az.otf') format('opentype');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Sofia Pro';
    src: url('fonts/Sofia Pro ExtraLight Az.otf') format('opentype');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Sofia Pro';
    src: url('fonts/Sofia Pro Light Az.otf') format('opentype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Sofia Pro';
    src: url('fonts/Sofia Pro Regular Az.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Sofia Pro';
    src: url('fonts/Sofia Pro Medium Az.otf') format('opentype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Sofia Pro';
    src: url('fonts/Sofia Pro Semi Bold Az.otf') format('opentype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Sofia Pro';
    src: url('fonts/Sofia Pro Bold Az.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Sofia Pro';
    src: url('fonts/Sofia Pro Black Az.otf') format('opentype');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}


/* ITALIC */

@font-face {
    font-family: 'Sofia Pro';
    src: url('fonts/Sofia Pro UltraLight Italic Az.otf') format('opentype');
    font-weight: 100;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Sofia Pro';
    src: url('fonts/Sofia Pro ExtraLight Italic Az.otf') format('opentype');
    font-weight: 200;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Sofia Pro';
    src: url('fonts/Sofia Pro Light Italic Az.otf') format('opentype');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Sofia Pro';
    src: url('fonts/Sofia Pro Regular Italic Az.otf') format('opentype');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Sofia Pro';
    src: url('fonts/Sofia Pro Medium Italic Az.otf') format('opentype');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Sofia Pro';
    src: url('fonts/Sofia Pro Semi Bold Italic Az.otf') format('opentype');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Sofia Pro';
    src: url('fonts/Sofia Pro Bold Italic Az.otf') format('opentype');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Sofia Pro';
    src: url('fonts/Sofia Pro Black Italic Az.otf') format('opentype');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

:root {
  --color-sand: #f8dfa4;
  --color-sand-aphaalpha: rgb(248 223 164 / 60%);
  --color-sand-alpha: #A7A28B;
  --color-aqua: #9cacb8;
  --color-aqua-light:#eaf7fb;
  --color-powder: #e2f2f7;
  --color-navy: #386081;
  --color-white: #ffffff;
  --color-ink: #243f55; /*blu scuro*/
  --color-muted: #6b8494; /*carta zucchero*/
  --color-muted-alpha: rgb(56 96 129 / 90%);
  --color-line: rgb(255 255 255 / 35%);
  --shadow-soft: 0 1rem 2rem rgb(24 54 74 / 12%);

  --content-max: 1440px;
  --content-mid: 80%;
  --content-gutter: clamp(1.25rem, 4vw, 5rem);
  --section-space: clamp(4rem, 8vw, 8rem);
  --header-height: 92px;
  --radius-small: 0.25rem;
  --radius-medium: 0.75rem;
}

* {
  box-sizing: border-box;
  transition: .6s;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  min-width: 320px;
  color: var(--color-white);
  background: var(--color-aqua);
  
  font-family: 'Sofia Pro', sans-serif;
  font-size: 1rem;
  line-height: 1.5;
}

img,
svg {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}
.show_mobile_only{
		display: none; !important;
	}
button,
input,
textarea {
  font: inherit;
}
#header{
	height: 120px;
	background-color: var(--color-muted-alpha);
	top:0px;
	left: 0px;
}
#logo_main{
	height: 80px;
}
.header_cont{
	align-items: center;
	justify-content: space-between;
	align-content: center;
	height: 100%;
}
#menu-menu-main{
	list-style: none;
	display: flex;
}
#menu-menu-main li{
 padding-left: 40px;
}
#menu-menu-main li a:hover{
	text-decoration: underline;
}
.width_center{
	margin: auto;
	width: var(--content-max);
}
.width_center_mid{
	margin: auto;
	width: var(--content-mid);
}
.full_width{
	width: 100vw;
}
.full_height{
	height: 100vh;
}
.full_img{
	height: 100%;
	width: 100%;
	object-fit: cover;
}
.abs{
	position: absolute;
}
.rel{
	position: relative;
}
.fix{
	position: fixed;
}
.flex{
	display: flex;
}
.zindex_0{
	z-index: 0;
}
.zindex_1{
	z-index: 1;
}
.zindex_2{
	z-index: 2;
}
.zindex_3{
	z-index: 4;
}
.zindex_4{
	z-index: 4;
}
.zindex_5{
	z-index: 5;
}
.banner_home_title{
	left: 5%;
	bottom: 20%;
}
.banner_home_title h1{
	font-size: 3.5em;
	font-weight: 600;
	margin: 0px;
	padding: 0px;
	line-height: 1em;
}
.subbanner_home{
	font-size: 2.5em;
	font-weight: 300;
	line-height: 1em;
}
.claim_home{
	font-size: 2.5em;
	font-weight: 600;
	line-height: 1em;
}
.prenota_banner{
	padding: 20px 0px 20px 0px;
	text-align: center;
	right: 5%;
	bottom: 20%;
	background-color: var(--color-muted-alpha);
	width: 350px;
}
.titolo_prenota{
	text-transform: uppercase;
	font-size: 1.5em;
	font-weight: 600;
	line-height: 1em;
	margin-bottom: 20px;
}
.subprenota_tit{
	font-weight: 200;
}
.button_prenota{
	background-color: var(--color-sand-alpha);
	width: 80%;
	margin: auto;
	padding: 20px;
	margin-top: 10px;
	margin-bottom: 10px;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: center;
}
.button_prenota:hover{
	background-color: var(--color-sand);
}
.text_button_prenota{
	margin-left: 20px;
	font-size: 1.2em;
	line-height: 1.1em;
}
#chi-sono-home{
	background-color: var(--color-aqua);
	
}
.pad_50{
	padding-top: 50px;
	padding-bottom: 50px;
}
.flex_center{
	justify-content: space-between;
	align-items: center;
	align-content: center;
}
.flex_start{
	justify-content: flex-start;
	align-items: center;
	align-content: center;
}
.flex_center_all{
	justify-content: center;
	align-items: center;
	align-content: center;
}

.home_image{
	width: 30%;
}
.home_text{
	width: 60%;
	font-size: 1.3em;
}
#prenota{
	background-color: var(--color-sand);
	color: var(--color-navy);
	display: block;
	text-decoration: none;
}
#prenota:hover{
	background-color: var(--color-white);
}
#prenota #cal{
	width: 10%;
}
.text_prenota{
	font-size: 4.5em;
	text-transform: uppercase;
	font-weight: 600;
}
.arr_prenota{
	font-size: 7em;
	font-weight: 500;
}
.banner_servizi_home h2{
	font-size: 5em;
	font-weight: 700;
	text-transform: uppercase;
	margin: 0px;
	padding: 0px;
	line-height: 1em;
}
.button_scopri_servizi{
	padding: 20px;
	font-size: 1.5em;
	line-height: 0.9em;
	font-weight: 500;
	background-color: var(--color-sand-aphaalpha);
	text-align: center;
	text-transform: uppercase;
	margin: auto;
}
.button_scopri_servizi:hover{
	background-color: var(--color-sand-alpha);
}
footer{
	background-color: var(--color-navy);
}
#logo_main_footer{
	width: 300px;
	margin: auto;
}
.footer-contact{
	width: 33%;
}
.logo_foot_cont{
	width: 33%;
	text-align: center;
}
.footer-links{
	width: 33%;
	padding-left: 14%;
}
.footer-icon .icons{
	width: 30px;
	margin-right: 20px;
}
.footer-contact__item{
	margin-bottom: 30px;
}
.footer-links .ossa{
	width: 40px;
	margin-right: 20px;
}
.ossa_cont{
	width: 100px;
}
.footer-links .ossa.ter{
	width: 60px;
}
.footer-links .ossa.fis{
	width: 50px;
}
.footer-links a{
	margin-bottom: 30px;
	text-align: left;
}
.footer-links a span{
	text-align: left;
	text-transform: uppercase;
	border-bottom: 2px solid var(--color-sand);
}
.footer-links a:hover span{
	border-bottom: 2px solid var(--color-white);
}
.flex_left{
	justify-content: flex-start !important;
}
.flex_top{
	align-items:flex-start !important;
}
.footer-legal{
	margin: auto;
	text-align: center;
	margin-top: 50px;
	color: var(--color-white);
}
.footer-legal a{
	color: var(--color-sand);
}
.freccia_giu{
	height: 100px;
	margin: auto;
	margin-bottom: 20px;
	margin-top: 20px;
}
.chisono_image{
	width: 40%;
}
.pad_no_header{
	padding-top: 180px;
	padding-bottom: 50px;
}
.chisono_text{
	width: 40%;
	font-size: 1.3em;
	line-height: 1.1em;
	font-weight: 300;
}
.contatti_text_cont{
	font-size: 1.3em;
	line-height: 1.1em;
	font-weight: 300;
}
h1.tite_gen{
	margin: 0px;
	padding: 0px;
	text-transform: uppercase;
}

.form_cont{
	width: 40%;
}
.form_cont_text{
	text-align: center;
	text-transform: uppercase;
	margin-bottom: 30px;
}
.form_cont_text_1{
	font-size: 1.7em;
	font-weight: 600;
}
.title_servizio{
	font-size: 5em;
	font-weight: 700;
	text-transform: uppercase;
	text-shadow: 2px 2px 2px #6b8494;
}
.bg_light{
	background-color: var(--color-aqua-light);
	color: var(--color-navy);
}
.bg_white{
	background-color: var(--color-white);
	color: var(--color-navy);
}
.flex_wrap{
	flex-wrap: wrap !important;
}
.faq{
	width: 40%;
}
.faq_q{
	font-weight: 700;
	font-size: 1.1em;
}
.faq_a p{
	margin-top: 0px;
}
.h3_center{
	text-align: center;
	text-transform: uppercase;
	margin-bottom: 50px;
}.gap_10{
	gap: 10px;
}
.servizi_box{
	width: calc((100% - 20px) / 3);
	aspect-ratio: 1;
	text-transform: uppercase;
	font-weight: 600;
	font-size: 1.5em;
	line-height: 1em;
	padding: 30px;
}
.servizi_box:hover{
	text-decoration: underline;
}
.banner_servizi{
	width: 50%;
}
.text_servizi{
	width: 40%;
}
.padre{
	text-transform: uppercase;
	font-size: 1em;
	font-weight: 800;
}
.contattami_servizi{
	padding: 20px;
	font-size: 1em;
	line-height: 0.9em;
	font-weight: 700;
	background-color: var(--color-sand);
	color: var(--color-navy);
	text-align: center;
	text-transform: uppercase;
	margin-top: 30px;
	display: inline-block;
}
.contattami_servizi:hover{
	background-color: var(--color-white);
}
.REC{
	width: 30%;
	padding: 10px 50px 10px 50px;
	background-color: var(--color-white);
	color: var(--color-muted);
	border-radius: 20px;
}
.REC_q{
	font-weight: 700;
	font-size: 1.3em;
	line-height: 1em;
}
.quote {
    font-size: 80px;
    font-weight: 700;
    line-height: 1;
    color: var(--color-sand);
     font-family: "Arial Black", Arial, sans-serif;
}
.right_quote{
	display: block;
	text-align: right;
}

#breadcrumbs {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;

    font-size: 14px;
    line-height: 1.4;
    color: var(--color-white);
    margin-bottom: 20px;
}

#breadcrumbs li {
    margin: 0;
    padding: 0;
}

#breadcrumbs a {
    color: var(--color-sand);
    text-decoration: none;
    transition: opacity 0.2s ease;
}

#breadcrumbs a:hover {
    opacity: 0.7;
}

#breadcrumbs li:last-child {
    ccolor: var(--color-white);
}

/* ========================================
   CONTACT FORM 7
   ======================================== */

.wpcf7-form {
    width: 100%;
    padding: 0;
    box-sizing: border-box;
}


/* ========================================
   PARAGRAFI E CONTENITORI
   ======================================== */

.wpcf7-form > p {
    width: 100%;
    margin: 0 0 15px;
    padding: 0;
}

.wpcf7-form .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}


/* ========================================
   INPUT E TEXTAREA
   ======================================== */

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
    display: block;
    width: 100%;
    box-sizing: border-box;

    background-color: #c2ccd3;

    border: 0;
    border-radius: 0;

    padding: 10px 15px;

    font-family: inherit;
    font-size: 16px;
    font-weight: 400;
    color: #ffffff;

    outline: none;

    transition: background-color 0.2s ease;
}


/* ========================================
   ALTEZZA INPUT
   ======================================== */

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"] {
    height: 45px;
}


/* ========================================
   TEXTAREA
   ======================================== */

.wpcf7-form textarea {
    min-height: 140px;
    resize: vertical;
}


/* ========================================
   PLACEHOLDER
   ======================================== */

.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder {
    color: #ffffff;
    opacity: 1;
}


/* ========================================
   FOCUS
   ======================================== */

.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form textarea:focus {
    background-color: #c2ccd3;
    outline: none;
    box-shadow: none;
}


/* ========================================
   CHECKBOX
   ======================================== */

.wpcf7-form .wpcf7-list-item {
    margin: 0;
}

.wpcf7-form .wpcf7-list-item label {
    display: flex;
    align-items: center;
    gap: 10px;

    cursor: pointer;
}

.wpcf7-form input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0;
}


/* ========================================
   PULSANTE INVIA
   ======================================== */

.wpcf7-form input[type="submit"] {
    display: block;
    width: 100%;
    height: 45px;

    padding: 0 25px;

    border: 0;
    border-radius: 0;

    background-color: var(--color-sand);
    color: #ffffff;

    font-family: inherit;
    font-size: 16px;
    font-weight: 600;

    cursor: pointer;

    transition: background-color 0.2s ease;
}


/* ========================================
   HOVER PULSANTE
   ======================================== */

.wpcf7-form input[type="submit"]:hover {
    background-color: var(--color-navy);
}


/* ========================================
   MESSAGGIO CONTACT FORM 7
   ======================================== */

.wpcf7-response-output {
    margin: 20px 0 0 !important;
    padding: 15px !important;
}


/* ========================================
   CAMPI NASCOSTI
   ======================================== */

.wpcf7-form .hidden-fields-container {
    display: none;
}

@media (max-width: 1440px) {
	:root {

	  --content-max: 1280px;
	  --content-mid: 80%;
	}

	.footer-links {
	    padding-left: 11%;
	}
}
@media (max-width: 1280px) {
	:root {

	  --content-max: calc( 100vw - 60px);
	  --content-mid: 80%;
	}
	.ossa_cont{
		width: 80px;
	}
	.footer-links {
	    padding-left: 8%;
	}

	.footer-links .ossa{
		width: 30px;
	}

	.footer-links .ossa.ter{
		width: 50px;
	}

	.footer-links .ossa.fis{
		width: 40px;
	}
	.banner_home_title, .prenota_banner{
		bottom: 10%;
	}
	.faq{
		width: 45%;
	}
}


/* ========================================
   MOBILE
   ======================================== */

@media (max-width: 767px) {
	.flex {
		flex-wrap: wrap;
	}

	.show_desktop_only{
		display: none !important;
	}

	.show_mobile_only{
		display: block; !important;
	}
	#prenota #cal{
		width: 50%;
		margin: auto;
		margin-bottom: 30px;
	}
	.text_prenota {
	    font-size: 2em;
	    text-transform: uppercase;
	    font-weight: 600;
	    text-align: center;
	}
	.banner_servizi_home h2{
		font-size: 2em;
	}
	.logo_head_link{
		margin: auto;
	}
	#menu_mobile_container{
		position: fixed;
		top: 120px;
		height: calc(100vh - 120px);
		background-color: var(--color-muted-alpha);
		width: 100vw;
	}
	#menu_mobile_container ul{
		margin: 0px;
		margin-top: 20px;
		padding: 10px;
	}
	#menu_mobile_container li{
		font-size: 1.5em;
		background-color: var(--color-sand-alpha);
		list-style: none;
		margin: 0px;
		padding: 20px;
		text-align: center;

		margin-bottom: 10px;
	}
	#menu_hamburger{
		position: absolute;
		left: 20px;
		top: 20px;
	}
	


/* =========================
   CHECKBOX NASCOSTO
   ========================= */

#menu_toggle {
    display: none;
}


/* =========================
   HAMBURGER
   ========================= */

.hamburger {
    width: 40px;
    height: 30px;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    cursor: pointer;

    position: absolute;
    top: 40px;
    left: 20px;
}

.hamburger span {
    display: block;

    width: 100%;
    height: 3px;

    background: var(--color-white);

    transition: all 0.3s ease;

    transform-origin: center;
}


/* =========================
   MENU
   ========================= */

#menu_mobile_container {
    left: -100vw;

    overflow-y: auto;
}


/* =========================
   MENU APERTO
   ========================= */

#menu_toggle:checked ~ #menu_mobile_container {
    left: 0px !important;
}


/* =========================
   HAMBURGER → X
   ========================= */

#menu_toggle:checked + .hamburger span:nth-child(1) {
    transform: translateY(13.5px) rotate(45deg);
}

#menu_toggle:checked + .hamburger span:nth-child(2) {
    opacity: 0;
}

#menu_toggle:checked + .hamburger span:nth-child(3) {
    transform: translateY(-13.5px) rotate(-45deg);
}


	.home_image{
		width: 100%;
		margin: auto;
	}
	.home_text{
		width: 100%;
		margin: auto;
		font-size: 1.1em;
	}
	.footer-contact{
		width: 100%;
		margin: auto;
		order: 2;
		margin-bottom: 50px;
	}
	.footer-links{
		padding: 0px;
		order: 3;
		width: 100%;
	}
	.logo_foot_cont{
		width: 100%;
		order: 1;
		margin-bottom: 50px;
	}
    .wpcf7-form {
        width: 100%;
    }

    .wpcf7-form > p {
        margin-bottom: 12px;
    }

    .wpcf7-form input[type="text"],
    .wpcf7-form input[type="email"],
    .wpcf7-form input[type="tel"],
    .wpcf7-form textarea {
        font-size: 16px;
    }

    .title_servizio{
    	font-size: 2em;
    	margin: auto;
    	text-align: center;
    }
    .gap_10{
    	gap: 0;
    }
    .servizi_box{
    	width: 100%;
    	font-size: 1em;
    }
    .faq{
    	width: 100%;
    }
    .banner_servizi{
    	width: 100%;
    	margin-bottom: 30px;
    }
    .text_servizi{
    	width: 100%;
    }
    .REC{
    	width: 100%;
    	margin-bottom: 20px;
    }
    .chisono_text{
    	width: 100%;
    }
    .chisono_image {
	    width: 100%;
	}
	.form_cont{
		width: 100%;
		margin-top: 30px;
	}
}




















