/* ==========================================================================
   Font self-hosted: Exo 2 (font variabile: un solo file per sottoinsieme, pesi 300/600/700).
   Il peso 400 non e' dichiarato di proposito: come con la vecchia richiesta a Google Fonts,
   il testo "regular" usa il 300 (vedi fonts/exo-2/README.txt).
   ========================================================================== */
@font-face {
    font-family: 'Exo 2';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('../fonts/exo-2/exo2-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Exo 2';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('../fonts/exo-2/exo2-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Exo 2';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('../fonts/exo-2/exo2-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Exo 2';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('../fonts/exo-2/exo2-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Exo 2';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('../fonts/exo-2/exo2-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Exo 2';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('../fonts/exo-2/exo2-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'Exo 2';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/exo-2/exo2-latin-ext-italic.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
    font-family: 'Exo 2';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/exo-2/exo2-latin-italic.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ==========================================================================
   Font self-hosted: Josefin Sans Bold (voci del menu, titoli, etichette di interfaccia)
   ========================================================================== */
@font-face {
    font-family: 'Josefin Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('../fonts/josefin-sans/josefin-sans-700-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'Josefin Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('../fonts/josefin-sans/josefin-sans-700-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* .admin-bar {
    top: 32px;
    border-width: 0;
    position: absolute;
    width: 100%;
} */

body {
    margin: 0;
    padding: 60px 0 0;
    color: #222;
    overflow-x: hidden;
    font-family: 'Exo 2', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
}

::-moz-selection {
    background: #eee;
}

::selection {
    background: #eee;
}

/*
==========================================================================
Tipografia
==========================================================================
*/
h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 1.5em 0 .25em;
    line-height: 1em;
	font-family: 'Exo 2', sans-serif;
	font-weight: 600;
}

h1 {
    margin: 0 0 .2em;
    margin-left: -0.1em;
    font-size: 1.94em;
    color: #007494;
}

h1::after {
    content: ' ';
    display: block;
    width: 2em;
    height: 1px;
    background: #007494;
    margin: .75em auto .75em;
    margin-left: auto;
}

h2 {
    font-size: 1.14rem;
    margin: 0 0 1.5em 0;
    color: #007494;
}

h2 small {
    text-transform: uppercase;
    font-size: 13px;
}

h3 {
    font-size: 1.5em;
}

h4 {
    font-size: 0.7em;
}

h5 {
    text-align: right;
    line-height: 1.2;
    font-size: 0.8rem !important;
    color: #007494;
    font-weight: 600;
    margin: 5px 0px;
}

h6 {
    text-align: right;
    line-height: 1.2;
    font-size: 0.8rem;
    color: #aaa;
    margin: 5px 0px;
}

.evidenza {
    font-size: 1.2em;
    line-height: 1.2;
}

p {
    margin: 0 0 1em;
    font-size: 0.85em;
    text-align: left;
}

ul {
    margin: 0 0 1em;
}

ol {
    margin: 0 0 1em;
}

.grassetto, b, strong {
    font-weight: 600;
}

em,
i {
    font-style: italic;
}

@media only screen and (min-width:500px) {
    h1 {
        font-size: 2.2em;
    }

    .evidenza {
        font-size: 1.4em;
    }

    h2 {
        font-size: 1.58rem;
    }
}

@media only screen and (min-width:700px) {
    body {
        font-size: 17px;
        padding: 70px 0 0;
    }

    h1 {
        font-size: 2.42em;
    }

    .evidenza {
        font-size: 1.5em;
        line-height: 1.15;
    }
}

@media only screen and (min-width:800px) {
    body {
        font-size: 18px;
    }
}

@media only screen and (min-width:1000px) {
    h1 {
        font-size: 2.86em;
    }

    .evidenza {
        font-size: 1.6em;
    }
}

@media only screen and (min-width:1200px) {
    h1 {
        font-size: 3.08em;
    }

    .evidenza {
        font-size: 1.75em;
    }
}

@media only screen and (min-width:1400px) {
    body {
        font-size: 20px;
    }
}

/*
==========================================================================
Stili generali
==========================================================================
*/
.margine-laterale {
    margin: 0 4.165%;
    position: relative;
}

.margine-laterale:after {
    content: " ";
    height: 0;
    visibility: hidden;
    clear: both;
    display: block;
}

section:nth-child(even) {
    margin: 50px 0;
}

section:nth-child(odd) {
    margin: 50px 0 50px 0;
}

a {
    color: #007494;
    text-decoration: none;
    font-weight: 400;
}

a .fa {
    position: relative;
}

a:hover {
    text-decoration: none !important;
}

a:hover .fa {
    -webkit-animation: link-movement .5s infinite ease-in-out;
    -moz-animation: link-movement .5s infinite ease-in-out;
    animation: link-movement .5s infinite ease-in-out;
}

.pulsante {
    font-weight: 600;
}

.pulsante:hover {
    text-decoration: none;
}

.btn {
    display: inline-block;
    background: #007494;
    border: solid 1px #007494;
    color: #fff;
    padding: .75em 1.3em;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
    font-weight: 600;
    position: relative;
}

.stretchtag {
    margin: 0 0 .25em;
    padding: .3em 1em;
    background: #eee;
    display: inline-block;
}

.btn:hover {
    /* background-color: #007494;
    border-color: #007494; */
    text-decoration: none;
}

.margin-notop {
    margin-top: 0;
}

.home .section {
    padding-top: 100px;
    padding-bottom: 100px;
}

.home .carousel-section {
    height: 100vh;
    padding-top: 100px;
    padding-bottom: 100px;
}

@media only screen and (min-width:768px) {
    .home .carousel-section {
        height: 90vh;
        max-width: 100%;
    }
}

/*
==========================================================================
Menu principale
==========================================================================
*/
.BdA-nav {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    line-height: 40px;
    letter-spacing: .03em;
}

.BdA-nav a {
    color: #222;
}

.BdA-nav a:hover {
    color: #007494;
    text-decoration: none;
}

.active {
    color: #007494;
}

/*
==========================================================================
Navigazione destra
==========================================================================
*/
.BdA-nav-dx {
    position: relative;
    text-align: center;
    z-index: 10;
    background: #757575;
}

.blocchetto-dx {
    height: auto;
    overflow: visible;
    position: absolute;
    background: none;
    top: 0;
    right: 4.165%;
    z-index: 200;
}

.BdA-nav-dx-padding {
    padding: 10px 0;
}

.BdA-nav-dx ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.BdA-nav-dx ul:after {
    content: " ";
    height: 0;
    visibility: hidden;
    clear: both;
    display: block;
}

.BdA-nav-dx .menu-item {
    display: inline-block;
    line-height: 4rem;
}

.BdA-nav-dx .menu-item.last {
    border-bottom: none;
    width: auto; /* era 4rem (pulsante tondo): con le maiuscole la voce "Contatti" sforava a destra del bordo del menu */
    height: 4rem;
}

/* Compensa lo spazio del letter-spacing dopo l'ultima lettera: il bordo visibile coincide con il margine destro del sito */
.BdA-nav-dx .menu-item.last a {
    margin-right: -.08em;
}

.BdA-nav-dx a {
    display: block;
    text-decoration: none;
    letter-spacing: .015em;
    font-size: 0.85em;
}

/* Voci del menu principale: Josefin Sans Bold maiuscolo */
.BdA-nav-dx .menu-item a {
    font-family: 'Josefin Sans', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: 0.8em;
}

/* Sotto i 400px le voci sono inline-block senza margini: le distanziamo */
@media only screen and (max-width: 399px) {
    .BdA-nav-dx .menu-item {
        margin: 0 .75em;
    }
}

.bda-lang-switch {
    list-style: none;
    margin: 0;
    padding: 0;
    clear: both;
    text-align: center;
    line-height: 1.6;
    font-size: 0.75em;
    letter-spacing: .06em;
    text-transform: uppercase;
    font-weight: 600;
}

.BdA-nav-dx .bda-lang-switch li {
    display: inline-block;
    float: none;
    margin: 0 .4em;
    width: auto;
    height: auto;
    border: none;
    line-height: inherit;
}

.bda-lang-switch a {
    display: inline;
    font-size: inherit;
    letter-spacing: inherit;
}

.bda-lang-switch .current-lang a {
    color: #007494;
}

.BdA-nav-dx .icon {
    float: right;
    display: block;
}

.BdA-nav-dx.responsive .icon {
    position: absolute;
    right: 0;
    top: 0;
}

.BdA-nav-dx.responsive a {
    float: none;
    display: block;
}

@media only screen and (min-width: 400px) {
    .BdA-nav-dx {
        text-align: left;
    }

    .BdA-nav-dx .icon {
        display: none;
    }

    .BdA-nav-dx li {
        display: block;
        float: left;
        border-bottom: none;
        margin: 0 1em 0 0;
    }

    .bda-lang-switch {
        text-align: left;
    }

    .blocchetto-dx li.last {
        float: right;
        margin: 0;
    }

    /*.blocchetto-dx li.last a {
        background: #eee;
        color: #222;
        border-radius: 50%;
        position: relative;
        text-align: center;
        margin: 0;
    }*/

    /*.blocchetto-dx li.last a:hover {
        color: #fff;
        background: #007494;
    }*/
}

.responsive-menu-button {
    border-radius: 50%;
}

#responsive-menu {
    margin-top: 55% !important;
    transform: translate(0%, -50%);
}

#responsive-menu .menu-item {
    padding: 3% 0;
}

.responsive-menu-box {
    width: auto !important;
    height: auto !important;
}

@media only screen and (max-width: 1000px) {
	#menuBdA.blocchetto-dx {
    	top: 80px;
        left: auto;
        right: auto;
        width: 100%;
	}
	
	.BdA-nav-dx-padding {
		padding: 30px 0;
		line-height: normal;
	}
	.BdA-nav-dx .menu-item {
		display: inline-block;
		line-height: normal;
	}
}

@media only screen and (max-width: 500px) {
	#menuBdA.blocchetto-dx {
    	top: 50px;
	}
}
@media only screen and (min-width: 1000px) {
    .BdA-nav-dx-padding {
        margin: 0;
    }

    .blocchetto-dx {
        height: auto;
        overflow: visible;
        position: absolute;
        background: none;
        top: 0;
        right: 4.165%;
        z-index: 200;
    }

    /*.blocchetto-dx li.last a {
        background: #eee;
        color: #222;
        border-radius: 50%;
    }*/

    /*.blocchetto-dx li.last a:hover {
        color: #fff;
        background: #007494;
    }*/

    .sitenavoverlay {
        background: #000;
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        width: 0px;
        z-index: 2;
        background: #000;
        /* Old browsers */
        cursor: pointer;
        -webkit-transition: opacity 200ms ease-out 0ms, width 0s linear 201ms;
        -moz-transition: opacity 200ms ease-out 0ms, width 0s linear 201ms;
        transition: opacity 200ms ease-out 0ms, width 0s linear 201ms;
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=00)";
        filter: alpha(opacity=00);
    }

    .sitenavopen .sitenavoverlay {
        opacity: 0;
        width: 0px;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
        filter: alpha(opacity=50);
    }
}

/*
==========================================================================
Navigazione sinistra
==========================================================================
*/
.BdA-nav-sx {
    position: relative;
    z-index: 10;
    padding: 10px 0;
    height: 40px;
}

.sitename {
    font-size: 1em;
    text-transform: uppercase;
    display: inline-block;
    margin: 0;
    letter-spacing: 0;
    display: none;
}

.sitename:after {
    display: none;
}

.menu-mobile {
    display: block;
    float: right;
}

.menu-mobile .fa {
    margin: 0 0 0 .33em;
    -webkit-transition: transform 200ms ease-in-out 0s;
    -moz-transition: transform 200ms ease-in-out 0s;
    transition: transform 200ms ease-in-out 0s;
}

.sitenavopen .menu-mobile .fa {
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    transform: rotate(180deg);
}

/*
==========================================================================
Logo BdA
==========================================================================
*/
.sitelogo-img-link {
    width: 40%;
    position: relative;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    margin: 20px 0 0 0;
    z-index: 20;
    -webkit-transform: translate3d(0, 0, 0);
    -webkit-transition: background 150ms ease-out 0s;
    -moz-transition: background 150ms ease-out 0s;
    transition: background 150ms ease-out 0s;
}

.sitelogo-img {
    width: 100%;
    display: block;
}

@media only screen and (min-width: 700px) {
    .siteheader {
        line-height: 50px;
    }

    .BdA-nav-sx {
        height: 50px;
    }

    .sitename {
        letter-spacing: .1em;
    }

    .sitelogo-img-link {
        width: 25%;
        margin: 20px 0 0 -30px;
    }
}

@media only screen and (min-width: 1000px) {
    .menu-mobile {
        display: none;
    }
}

@media only screen and (min-width: 1400px) {}

/*
==========================================================================
Homepage
==========================================================================
*/
.homepage p {
    text-align: center;
    font-size: 1.1rem;
    color: #007494;
    margin: 0 0 0;
}

.homepage a {
    text-align: center;
    font-size: 1.5rem;
    color: #007494;
    margin: 0 0 0;
}

.homepage h1 {
    font-size: 2.38rem;
    font-weight: 400;
    /* margin: 2em 0 1em 0; */
    color: #007494;
}

.homepage h1::after {
    content: '';
    width: 0;
    height: 0;
    background: none;
    margin: 0;
}

.categoria-progetto {
    margin: 0 0 0.2em 0;
}

.navbar {
    padding: .5rem 0;
}

/* .btn-circle.btn-homepage {
    width: 2.5em;
    height: 2.5em;
    line-height: 1em;
    padding: 0.4em;
    font-size: 0.8em;
} */
.btn-circle.btn-homepage {
    width: 3rem;
    height: 3rem;
    line-height: 1rem;
    padding: 0;
    font-size: 3rem;
    color: #007494;
    background: none;
    border: none;
}

@media only screen and (min-width:500px) {
    .homepage p {
        font-size: 1.5rem;
    }
}

/*
==========================================================================
Archivio-progetti
==========================================================================
*/
.archivio-progetti {
    margin-top: 7% !important;
}

.archivio-progetti h1 {
    text-align: center;
}

.archivio-progetti h2 {
    text-align: center;
}

.archivio-progetti h1::after {
    content: '';
    background: none;
    margin: 0;
}

.archivio-progetti p {
    color: #007494;
    font-size: 1.1rem;
    line-height: 1.2;
    margin: 0px;
    text-align: center;
}

.archivio-progetti-alt {
    margin-top: 7% !important;
}

.archivio-progetti-alt h1 {
    text-align: center;
}

.archivio-progetti-alt h2 {
    text-align: center;
}

.archivio-progetti-alt h1::after {
    content: '';
    background: none;
    margin: 0;
}

.archivio-progetti-alt p {
    color: #007494;
    font-size: 1.1rem;
    line-height: 1.2;
    margin: 0px;
    text-align: center;
}

/*** Stile pulsante shaker in Archivio progetti (lavori-selezionati) ***/
.shaker-btn {
    border: none;
    cursor: pointer;
    outline: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    float: right;
    background: #007494;
    color: white;
    border-radius: 50%;
    padding: 0.5rem;
	transform-origin: center center;
	transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), 
	            box-shadow 0.3s ease, 
	            background-color 0.3s ease;
	animation: tilt-shaking 2s ease-in-out infinite;
}
/* In HOVER: Si ingrandisce, accelera (0.35s) e crea un bagliore/ombra */
.shaker-btn:hover,
.shaker-btn:focus {
	transform: scale(1.1);
    box-shadow: 0 1px 12px rgb(0 116 148 / 35%);
	animation: tilt-shaking-hover 0.35s ease-in-out infinite;
	outline: none;
	cursor: pointer
}
/* Rimuoviamo l'animazione dall'SVG interno */
.shaker-icon {
	animation: none;
	outline: none;
}
/* Keyframe di base (movimento fluido con inclinate fino a 6deg) */
@keyframes tilt-shaking {
	0%, 100% { transform: rotate(0deg); }
	20% { transform: rotate(6deg); }
	40% { transform: rotate(-5deg); }
	60% { transform: rotate(4deg); }
	80% { transform: rotate(-3deg); }
}
/* Keyframe in hover (mantiene lo scale 1.15 mentre scuote energicamente) */
@keyframes tilt-shaking-hover {
	0%, 100% { transform: scale(1.1) rotate(0deg); }
	25% { transform: scale(1.1) rotate(8deg); }
	75% { transform: scale(1.1) rotate(-8deg); }
}

/* Griglia CSS Masonry a 6 Colonne: gestita ora in css/griglia-lavori.css */



/*** Intro "Lavori selezionati": descrizione a destra, sotto il menu ***/
/* Testo accessibile ma non visibile (usato per l'H1 della pagina) */
.bda-sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.archivio-progetti-alt.lavori-intro {
	display: flex;
	justify-content: flex-end;
	/*
	 * Desktop: il testo parte subito sotto il logo di sinistra.
	 * Fondo logo = 20px + 7.414% della larghezza (logo = 25% del contenuto, rapporto 0.3235);
	 * il margine in % è calcolato sulla larghezza del body, che ha già padding-top 60px.
	 * Il -54px è tarato a occhio sulla linea visiva del logo (l'immagine ha dello spazio vuoto in fondo).
	 */
	margin-top: calc(7.414% - 54px) !important;
	padding: 0 4.165%;             /* stesso margine destro del menu principale */
}

.lavori-intro__box {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	max-width: 100%; /* la larghezza la decide .lavori-intro__text (max-width: 62ch) */
}

.lavori-intro__text,
.lavori-intro__text p {
	text-align: right;
}

/* Contenitore come .bda-intro-testo del template bocciato: 15px, interlinea 1.7 */
.lavori-intro__text {
	font-size: 15px;
	line-height: 1.7;
	max-width: 62ch; /* come .bda-intro-testo del template bocciato */
}

.archivio-progetti-alt .lavori-intro__text p:last-child {
	margin-bottom: 0;
}

/* Descrizione: Exo 2 come il resto del sito (forzato anche su span/strong inseriti dall'editor), allineata a destra */
.bda-intro-testo,
.bda-intro-testo p,
.bda-intro-testo span,
.bda-intro-testo strong,
.bda-intro-testo em,
.bda-intro-testo a {
	font-family: 'Exo 2', sans-serif !important;
	text-align: right;
}


.lavori-intro .shaker-btn {
	float: none;
	margin-top: 1rem;
}

/* Tablet / mobile: il menu scende sotto il logo, la descrizione occupa tutta la larghezza */
@media only screen and (max-width: 1000px) {
	.archivio-progetti-alt.lavori-intro {
		margin-top: 5.5rem !important;
	}
}

@media only screen and (max-width: 768px) {
	.archivio-progetti-alt.lavori-intro {
		padding: 0 15px;
	}

	/* Mobile: descrizione a larghezza piena */
	.lavori-intro__box {
		width: 100%;
	}

	.lavori-intro__text {
		max-width: none;
	}

	.contenuto-icona {
		width: 2rem;
		height: 2rem;
		line-height: 2rem;
	}
	.contenuto-icona p {
		font-size: 0.35em;
	}
	
}

.single-categorie h1 {
    margin: 0;
}

.single-categorie h2 {
    font-size: 1.5rem;
    margin: 0 0 0.6em 0;
    text-transform: uppercase;
    font-weight: 600;
}

/*
==========================================================================
Archivio-STUDIO
==========================================================================
*/
.studio h2 {
    margin-bottom: 15px;
}

.studio p {
    margin-bottom: 0;
    line-height: 1.4;
    font-weight: 300;
    color: #000;
    letter-spacing: -0.5px;
}

/*
==========================================================================
Carousel
==========================================================================
*/
.carousel-section {
    min-height: 90vh;
    position: relative;
    z-index: 0;
}

.carousel {
    position: absolute;
    left: 50%;
    top: 34%;
    transform: translate(-50%, -50%);
}

.carousel-inner {
    position: relative;
    height: 85vw;
    overflow: hidden;
    width: 85vw;
}

.carousel-fade .carousel-item {
    opacity: 0;
    transition-duration: .6s;
    transition-property: opacity;
}

.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-left,
.carousel-fade .carousel-item-prev.carousel-item-right {
    opacity: 1;
}

.carousel-fade .active.carousel-item-left,
.carousel-fade .active.carousel-item-right {
    opacity: 0;
}

.carousel-fade .carousel-item-next,
.carousel-fade .carousel-item-prev,
.carousel-fade .carousel-item.active,
.carousel-fade .active.carousel-item-left,
.carousel-fade .active.carousel-item-prev {
    transform: translateX(0);
    transform: translate3d(0, 0, 0);
}

img {
    width: 100%;
}

@media only screen and (min-width:768px) {
    .carousel-inner {
        height: 85vh;
        width: 85vh;
    }

    .carousel {
        position: absolute;
        left: 50%;
        top: 46%;
        transform: translate(-50%, -50%);
    }
}

.BdA-category {
    position: relative;
    top: 60vh;
    max-width: 100%;
    border: none;
    padding: 0;
    white-space: nowrap;
    z-index: 5;
}

@media only screen and (min-width:768px) {
    .BdA-category {
        position: absolute;
        left: 35%;
        top: 50%;
        max-width: 70%;
        margin-top: -3em;
        margin-left: -4em;
        text-shadow: 0px 0px 50px rgba(255, 255, 255, 0.5);
    }
}

.linea {
    border-bottom: solid 1px #e2e2e2;
    margin: 0 8.33%;
}

/*
==========================================================================
Gallery
==========================================================================
*/
.gallery-items {
    overflow: hidden;
    z-index: 3;
    margin: 0 auto;
}

.gallery-items ul {
    padding: 0;
    list-style: none;
    margin: 0px;
}

.gallery-items li {
    vertical-align: middle;
}

.gallery-items .area-item {
    position: relative;
    overflow: hidden;
    z-index: 3;
    width: auto;
    margin: 0 auto;
    padding-top: 5px;
}

.gallery-items figure {
    margin: 0;
}

.gallery-items .area-item img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
    max-width: 500px;
}

.image-extra {
    position: absolute;
    font-size: 3rem;
    margin: 0;
    top: 0;
    left: 0;
    z-index: 3;
    overflow: hidden;
    width: 100%;
    height: 100%;
    text-align: center;
    display: inline-block;
    opacity: 0;
    filter: alpha(opacity=0);
    -webkit-transition: opacity .4s ease-in-out;
    transition: opacity .4s ease-in-out;
    color: #fff;
}

.icona-freccia {
    position: absolute;
    font-size: 3rem;
    margin: 0;
    top: 0;
    left: 0;
    z-index: 3;
    width: 100%;
    height: 100%;
    text-align: center;
    display: inline-block;
    color: #007494;
}

.icona-freccia.padding-icona {
    line-height: 1rem;
    padding: 0 0;
    /* padding: 0 0.8rem; */
}

.image-extra:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    color: #007494;
}

.image-extra:before {
    display: inline-block;
    height: 100%;
    vertical-align: middle;
    content: "";
}

.icona-freccia:before {
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}

.icona-sx,
.icona-sx-lavori {
    margin: 84% 74% 0 0;
    height: 0;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 5;
}

.icona-dx,
.icona-dx-lavori {
    margin: 84% 13% 0 0;
    height: 0;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 5;
}

.icona-sx-lavori {
    margin: 84% 86% 0 0;
}

.icona-dx-lavori {
    margin: 84% 9% 0 0;
}

.gallery-items a {
    color: #aaa;
    display: inline-block;
}

.gallery-items a:hover {
    color: #007494;
    text-decoration: none;
    display: inline-block;
}

.contenuto-icona,
.contenuto-icona-lavori {
    background: #007494;
    color: #fff;
    width: 3rem;
    height: 3rem;
    line-height: 3rem;
    display: inline-block;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    border: solid 1px #007494;
    z-index: 5;
    text-align: center !important;
    position: absolute;
    top: -1em;
    right: -1em;
    overflow: hidden;
}

.contenuto-icona:hover {
    background: #fff;
    color: #007494;
}

.contenuto-icona p,
.contenuto-icona-lavori p {
    font-size: 0.45em;
    font-weight: 700;
    position: relative;
    text-align: center;
    margin: 0;
}

.gallery-items .titolo {
    font-size: 1em;
    margin: 0.5em 0 0 0;
}

.gallery-items .categoria {
    margin-bottom: 2.5em;
    font-weight: 400;
    font-size: 0.8em;
    color: #aaa;
}

@media only screen and (min-width:576px) {
    .icona-sx {
        margin: 84% 81% 0 0;
    }

    .icona-dx {
        margin: 84% 11% 0 0;
    }

    .icona-sx-lavori {
        margin: 84% 86% 0 0;
    }

    .icona-dx-lavori {
        margin: 84% 11% 0 0;
    }

    .gallery-items .contenuto-icona {
        width: 3em;
        height: 3em;
        line-height: 3em;
    }

    .contenuto-icona p {
        font-size: 0.6em;
    }

    .lavori-items .contenuto-icona-lavori {
        width: 4em;
        height: 4em;
        line-height: 4em;
    }

    .contenuto-icona-lavori p {
        font-size: 0.8em;
    }

    .icona-freccia.padding-icona {
        padding: 0 0.8rem;
    }
}

@media only screen and (min-width:768px) {
    .icona-sx {
        margin: 80% 80% 0 0;
    }

    .icona-dx {
        margin: 80% 16% 0 0;
    }

    .icona-sx-lavori {
        margin: 80% 80% 0 0;
    }

    .icona-dx-lavori {
        margin: 80% 16% 0 0;
    }
}

/*
==========================================================================
Single
==========================================================================
*/
.BdA-category {
    position: relative;
    top: 60vh;
    max-width: 100%;
    border: none;
    padding: 0;
    white-space: nowrap;
    z-index: 5;
}

@media only screen and (min-width:768px) {
    .BdA-category {
        position: absolute;
        left: 35%;
        top: 50%;
        max-width: 70%;
        margin-top: -3em;
        margin-left: -4em;
        text-shadow: 0px 0px 50px rgba(255, 255, 255, 0.5);
    }
}

.photogallery img {
    margin-bottom: 1.5em;
}

.progetto-content {
    margin-top: -30px;
}

.progetto-content em,
.progetto-content i {
    font-style: normal;
    font-weight: 400;
    color: #333;
}

.progetto-content b,
.progetto-content strong {
    font-style: normal;
    font-weight: 300;
}

.progetto-content h1 {
    color: #007494 !important;
    font-size: 1.76rem;
    font-weight: 400 !important;
    /* letter-spacing: 0.35em; */
    /* margin-top: 25px !important; */
    padding-top: 20px;
    border-top: 1px #007494 solid;
    text-transform: uppercase !important;
    margin: 9em 0 0 !important;
}

.progetto-content h1::after {
    content: ' ';
    display: block;
    width: 0;
    height: 0;
    background: none;
    margin: 0;
    margin-left: auto;
}

.progetto-content h2 {
    color: #222 !important;
    font-size: 1.32rem;
    font-weight: 600 !important;
    /* letter-spacing: 0.2em; */
    margin-bottom: 15px !important;
    /* padding-bottom: 10px; */
    /* text-transform: uppercase !important; */
    text-align: left !important;
    padding-top: 30px;
}

.progetto-content h2 b,
.progetto-content h2 strong {
    font-weight: 600 !important;
}

.progetto-content h4 {
    text-align: right;
    font-size: 1em;
    font-weight: 400;
}

.progetto-content p {
    margin-bottom: 0;
    line-height: 1.4;
    font-weight: 300;
    color: #000;
    letter-spacing: -0.5px;
}

@media (min-width: 768px) {
    .collapse.dont-collapse-sm {
        display: block;
        height: auto !important;
        visibility: visible;
    }
}

/*
==========================================================================
Navigation
==========================================================================
*/
.btn-circle.btn-xl {
    width: 3em;
    height: 3em;
    line-height: 1em;
    padding: 0.9em;
    font-size: 1em;
}


/*
==========================================================================
Info premi
==========================================================================
*/
.container.info-premi {
    text-align: right;
    position: absolute;
    z-index: 1;
    left: 5%;
    top: 44%;
    border: none;
    padding: 0;
    text-shadow: 0 0 50px rgba(255, 255, 255, .5);
    width: 100%;
    max-width: 450px;
}
.box-title-premi {
    display: flex;
    flex-direction: column;
    column-gap: 20px;
    row-gap: 20px;
}
.box-title-premi h3 {
	margin: 0;
    color: #007494;
	text-transform:uppercase;
}

@media only screen and (max-width:768px) {
	.BdA-nav-dx .menu-item.last {
		width: auto;
		height: auto;
	}
	.home .carousel-section {
		padding-top: 80px;
		padding-bottom: inherit;
	}
	#mycarousel.carousel {
		position: relative;
		left: auto;
		top: auto;
		transform: none;
	}
	#mycarousel.carousel .carousel-inner {
		margin-left:auto;
		margin-right:auto;
		margin-top:2rem;
	}
	.box-title-premi {
		column-gap: 10px;
		row-gap: 10px;
	}
	.container.info-premi {
		position: relative;
		text-align: center;
		top: auto;
		left: auto;
	}
	.box-title-premi h3 {
		font-size: 1.1em;
	}
	.info-tecniche {
		position: relative;
		text-align: center;
		bottom: auto;
		margin-top: 2rem;
	}
}

/*
==========================================================================
Info tecniche
==========================================================================
*/
.info-tecniche {
    position: absolute;
    text-align: center;
    bottom: 16vh;
}

@media only screen and (min-width:768px) {
    .info-tecniche {
        text-align: left;
        position: absolute;
        left: 76%;
        top: 44%;
        border: none;
        padding: 0;
        /*margin-top: -3em;*/
        /*margin-left: -4em;*/
        text-shadow: 0 0 50px rgba(255, 255, 255, .5);
        white-space: nowrap;
    }
}

.info-tecniche h4 {
    margin: 0.3em 0 0;
    color: #007494;
}

.info-tecniche h4 span {
    font-weight: 400;
    color: #222;
}

.info-tecniche .post-categories {
    color: #007494 !important;
    font-size: 1.2em;
    font-weight: 400 !important;
    /* letter-spacing: 0.35em; */
    margin-bottom: 25px !important;
    padding-bottom: 20px;
    /* text-transform: uppercase !important; */
    padding: 0;
}

.info-tecniche .post-categories li {
    list-style: none;
}

@media only screen and (min-width:768px) {
    .info-tecniche .post-categories {
        margin-bottom: 0px !important;
        padding-bottom: 0px;
    }
}

/*
==========================================================================
Contatti
==========================================================================
*/
address {
    margin-bottom: 0;
}

#map {
    width: 100%;
    height: 70vh;
    margin-top: 30px;
}

.form-control:focus, .wpcf7 .wpcf7-validation-errors:focus, .wpcf7 input:focus[type="color"], .wpcf7 input:focus[type="date"], .wpcf7 input:focus[type="datetime-local"], .wpcf7 input:focus[type="datetime"], .wpcf7 input:focus[type="email"], .wpcf7 input:focus[type="file"], .wpcf7 input:focus[type="month"], .wpcf7 input:focus[type="number"], .wpcf7 input:focus[type="range"], .wpcf7 input:focus[type="search"], .wpcf7 input:focus[type="submit"], .wpcf7 input:focus[type="tel"], .wpcf7 input:focus[type="text"], .wpcf7 input:focus[type="time"], .wpcf7 input:focus[type="url"], .wpcf7 input:focus[type="week"], .wpcf7 select:focus, .wpcf7 textarea:focus {
    border-color: #007494;
}

.btn-outline-primary, .wpcf7 input[type="submit"] {
    color: #007494;
    border: none;
}

.btn-outline-primary:hover, .wpcf7 input:hover[type="submit"] {
    background-color: #007494;
    border: none;
}

.wpcf7-form-control-wrap {
    position: relative;
}

.wpcf7 input[type="submit"] {
    width: 5rem !important;
    height: 5rem;
    background-color: #007494 !important;
    border-radius: 50%;
}

.contact-form .sezione {
    width: 100%;
    float: left;
    margin-bottom: 5px;
    padding: 0px;
}

.contact-form .sezione .wpcf7-form-control {
    width: 100%;
    margin: 0;
    color: #fff;
    padding: 5px 11px;
    font-weight: 400;
    border: 1px solid #007494;
}

.contact-form .sezione .wpcf7-form-control:hover {
    background-color: #fff !important;
    color: #007494;
    border: 1px solid #007494;
}

div.wpcf7 .ajax-loader {
    width: 0px;
    height: 0px;
    margin: 0px;
}

/*
==========================================================================
Footer
==========================================================================
*/
footer {
    border-top: solid 1px #e2e2e2;
    padding: 1em 8.33% 0 8.33%;
    font-size: 12px !important;
    color: #aaa;
    font-weight: 400;
    position: relative;
}

.fwidget {}

.fwidget p {
    font-size: 10px !important;
    color: #aaa;
    text-align: center !important;
}

.fwidget_last p {
    font-size: 10px !important;
    color: #aaa;
    text-align: center;
}

.fwidget_last {}

.fwidget_last h3 {
    color: #FFFFFF;
    font-size: 13px;
    font-weight: bold;
    text-transform: uppercase !important;
    line-height: 17px;
}

.fwidget_last li {
    list-style: none;
}

.fwidget h3 {
    color: #FFFFFF;
    font-size: 13px;
    font-weight: bold;
    text-transform: uppercase !important;
    line-height: 17px;
}

.fwidget li {
    list-style: none;
}

.fwidget li a {}

.fwidget li a:hover {}

@media only screen and (min-width:768px) {
    .fwidget p {
        text-align: left;
        font-size: 12px !important;
    }

    .fwidget_last p {
        text-align: right;
        font-size: 12px !important;
    }
}

/*
==========================================================================
Blog
==========================================================================
*/
.carousel-section-special-blog {
    min-height: 60vh;
}

.carousel-special-blog {
    top: 54%;
}

.carousel-inner-special-blog {
    height: 50vh;
    width: 50vh;
}

.blog-content {
    margin-top: -30px;
}

.blog-content em,
.blog-content i {
    font-style: normal;
    font-weight: 400;
    color: #333;
}

.blog-content b,
.blog-content strong {
    font-style: normal;
    font-weight: 300;
}

.blog-content h1 {
    color: #007494 !important;
    font-size: 1.76rem;
    font-weight: 400 !important;
    padding-top: 20px;
    border-top: 1px #007494 solid;
    text-transform: uppercase !important;
}

.blog-content h1::after {
    content: ' ';
    display: block;
    width: 0;
    height: 0;
    background: none;
    margin: 0;
    margin-left: auto;
}

.blog-content h2 {
    color: #222 !important;
    font-size: 1.32rem;
    font-weight: 600 !important;
    margin-bottom: 15px !important;
    text-align: left !important;
    padding-top: 30px;
}

.blog-content h2 b,
.blog-content h2 strong {
    font-weight: 600 !important;
}

.blog-content h3 {
    font-size: 1.2rem;
}

.blog-content h4 {
    text-align: right;
    font-size: 1em;
    font-weight: 400;
}

.blog-content p,
.blog-content li {
    margin-bottom: 1rem;
    line-height: 1.4;
    font-weight: 300;
    color: #000;
    letter-spacing: -0.5px;
    font-size: 1em;
}

.tag {
    margin-top: 3rem;
}

.tag a {
    font-weight: 300;
    font-size: 80%;
}

/* Comments */
.comments {
    margin: 40px 0;
    border-top: 1px solid #eee;
}

.comments-area {
    padding: 3rem 0 0 0;
}

.comments-title {
    font-size: 0.7em;
    margin: 1.5em 0 .25em;
    font-weight: 400;
    line-height: 1em;
    color: #222;
}

.comment-list {
    width: 100%;
    list-style: none;
    margin: 0;
    padding: 1rem;
}

.fn {
    font-size: 1rem;
}

.says {
    font-size: 1rem;
}

.commentlist,
.commentlist .children {
    list-style-type: none;
}

.comment-author.vcard img {
    border-radius: 100%;
}

.comment-body {
    margin: 0;
}

.comment-meta.commentmetadata {
    font-size: 0.8rem;
}

.comment p {
    margin: 1rem 0;
}

.reply {
    text-align: right;
}

.comment-reply-link {
    text-align: right;
    background: #eee;
    padding: 12px 26px;
    font-size: 1rem;
}

.comment-reply-link:hover {
    background: #007494;
    color: #fff;
}

.comment .children {
    list-style: none;
}

.comment-form-author input,
.comment-form-email input,
.comment-form-url input {
    background: #eee;
    width: 200px;
    max-width: 100%;
    border: 1px solid #ddd;
    padding: 5px;
    height: 2rem;
    width: 100%;
}

.comment-form-comment textarea {
    background: #eee;
    width: 100%;
    border: 1px solid #ddd;
    margin-top: 5px;
}

.comment-form-author label,
.comment-form-email label,
.comment-form-url label {
    width: 100px;
    display: inline-block;
    font-size: 0.9rem;
}

.form-submit input {
    background: #222;
    color: #fff;
    border: none;
    font-size: 1rem;
    padding: 10px 15px;
    width: auto;
}

/*
==========================================================================
REGESTO OPERE
==========================================================================
*/
.regesto h2 {
    color: #222 !important;
    font-size: 1.1rem;
    font-weight: 600 !important;
    letter-spacing: 0.2em;
    margin-bottom: 10px !important;
    text-align: left !important;
    padding-top: 30px;
}

.regesto p {
    font-size: 1rem;
}

.regesto_em a em {
    color: #007494;
}

.masonry {
    margin: 5px 0;
    padding: 0;
    -moz-column-gap: 5px;
    -webkit-column-gap: 5px;
    column-gap: 5px;
}

.brick {
    display: inline-block;
    padding: 5px;
    width: 100%;
}

.masonry .item {
    position: relative;
    overflow: hidden;
    z-index: 3;
    width: auto;
    margin: 0 auto;
    -webkit-backface-visibility: hidden;
    -webkit-transform: translateX(0);
}

.masonry .brick {
    padding: 5px;
}

@media only screen and (min-width: 400px) {
    .masonry {
        -moz-column-count: 2;
        -webkit-column-count: 2;
        column-count: 2;
    }
}

@media only screen and (min-width: 700px) {
    .masonry {
        -moz-column-count: 3;
        -webkit-column-count: 3;
        column-count: 3;
    }
}

@media only screen and (min-width: 900px) {
    .masonry {
        -moz-column-count: 4;
        -webkit-column-count: 4;
        column-count: 4;
    }
}

@media only screen and (min-width: 1100px) {
    .letspinterest {
        width: 1100px;
    }
}

/*
==========================================================================
COOKIE POLICY
==========================================================================
*/

.glassStyle {
    background-color: transparent !important;
    opacity: 0 !important;
    filter: alpha(opacity=0) !important;
}

.contentStyle {
    box-shadow: none !important;
}

.consentText {
    font-size: 0.85rem;
    color: #222;
}

.bannerStyle {
    top: auto !important;
    bottom: 0;
}

.italybtn {
    margin-left: 2rem;
    font-size: 0.85rem;
    font-weight: 700;
    float: right;
}

/*  ==========================================================================
    animation classes
    ========================================================================== */
@-webkit-keyframes link-movement {
    0% {
        left: 0px;
    }

    50% {
        left: 4px;
    }

    100% {
        left: 0px;
    }
}

@-moz-keyframes link-movement {
    0% {
        left: 0px;
    }

    50% {
        left: 4px;
    }

    100% {
        left: 0px;
    }
}

@keyframes link-movement {
    0% {
        left: 0px;
    }

    50% {
        left: 4px;
    }

    100% {
        left: 0px;
    }
}

/*  ==========================================================================
    Winner
    ========================================================================== */
video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: 0;
    -ms-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
}

.overlay-winner {
    background: url('https://bottegadiarchitettura.it/wp-content/uploads/2019/04/Premio-NIB2018-Cover-Bottega-di-Architettura.png') no-repeat center center scroll;
    background-size: contain;
    overflow: hidden;
    position: relative;
    height: 100%;
    width: 100%;
    z-index: 1;
    max-width: 85vh;
    max-height: 85vh;
}

/*
==========================================================================
Adatta la casa
==========================================================================
*/
.page-template-template-adatta-la-casa {
    background-color: #007494;
    color: #fff;
}

.page-template-template-adatta-la-casa .BdA-nav a {
    color: #fff;
}

.page-template-template-adatta-la-casa .BdA-nav a:hover {
    color: #74e1ff;
}

.page-template-template-adatta-la-casa .bda-lang-switch .current-lang a {
    color: #74e1ff;
}

.page-template-template-adatta-la-casa .blocchetto-dx li.last a:hover {
    color: #e2007a;
    background: #74e1ff;
}

.page-template-template-adatta-la-casa .sitelogo-img {
    filter: invert(100%);
}

.page-template-template-adatta-la-casa .wpcf7 input[type="submit"] {
    background: #eee !important;
    color: #222 !important;
}

.page-template-template-adatta-la-casa .wpcf7 input[type="submit"]:hover {
    color: #e2007a !important;
    background: #74e1ff !important;
}

.adatta-la-casa {
    margin-top: 7% !important;
}

.adatta-la-casa h1 {
    color: #fff !important;
    font-size: 2.64rem;
    width: auto;
    margin: 0;
}

.adatta-la-casa h1::after {
    content: '';
    background: none;
    margin: 0;
}

.adatta-la-casa p {
    color: #fff !important;
    margin: 0;
    font-size: 1em;
}


@media only screen and (min-width:768px) {
    .adatta-la-casa p {
        font-size: auto;
    }
}

.riquadro-adatta-la-casa {
    border-top: 5px solid #fff;
    border-bottom: 5px solid #fff;
    padding: 2rem 0;
}

.riquadro-adatta-la-casa-mobile-top {
    border-top: 5px solid #fff;
    padding: 2rem 0;
}

.riquadro-adatta-la-casa-mobile-bottom {
    border-bottom: 5px solid #fff;
    padding: 2rem 0;
}

.centra-contenuto-verticalmente {
    display: flex;
    justify-content: center;
    align-items: center;
}

.margine-md {
    margin: 0;
}

@media only screen and (min-width:768px) {
    .margine-md {
        margin: 0 3rem;
    }
}

/* banner complianz minimal style */
.cmplz-links.cmplz-information {
    display: none!important;
}
#cmplz-message-1-optin p {
    margin: 0;
}
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
    min-height: auto!important;
    padding: 10px!important;
    font-size: 13px!important;
    flex: initial!important;
}
#cmplz-message-1-optin p {
    margin: 0;
}

/*
==========================================================================
TESTO CORRENTE - stile unico dei paragrafi editoriali
Riferimento: descrizione di "Lavori selezionati" (.bda-intro-testo del
template bocciato): Exo 2 regular, 12.75px (15px x .85), interlinea 1.7,
inchiostro #1a1a1a, spazio tra paragrafi .8em, nessun letter-spacing.

L'allineamento NON è qui: ogni contesto mantiene il suo (centrato,
giustificato, a destra...). Anche le larghezze dei contenitori restano
invariate.

Esclusi di proposito (testo di interfaccia, non editoriale):
badge NUOVO/COMPRA (.contenuto-icona p), footer (.fwidget p),
sezione Adatta la casa (testo bianco su fondo scuro), banner cookie,
didascalie della griglia (nascoste).
Questo blocco deve restare in fondo al file per vincere sulle regole
specifiche scritte sopra.
==========================================================================
*/
:root {
    --bda-testo-size: 0.95rem;
    --bda-testo-lh: 1.7;
    --bda-testo-color: #1a1a1a;
    --bda-testo-gap: 0.8em;
}

.homepage p,
.bda-modal__body p,
.lavori-intro__text p,
.archivio-progetti p,
.archivio-progetti-alt p,
.studio p,
.progetto-content p,
.blog-content p,
.blog-content li,
.regesto p,
.comment p,
.page-template-template-contatti #content p,
.blog article p,
.category article p,
.tag article p,
.site-main p {
    font-family: 'Exo 2', sans-serif;
    font-size: var(--bda-testo-size);
    font-weight: 400;
    line-height: var(--bda-testo-lh);
    letter-spacing: 0;
    color: var(--bda-testo-color);
    margin: 0 0 var(--bda-testo-gap);
}

.homepage p:last-child,
.lavori-intro__text p:last-child,
.archivio-progetti p:last-child,
.archivio-progetti-alt p:last-child,
.studio p:last-child,
.progetto-content p:last-child,
.blog-content p:last-child,
.regesto p:last-child,
.comment p:last-child {
    margin-bottom: 0;
}


/*
==========================================================================
ARCHIVIO CATEGORIA PROGETTO
Intro (nome categoria, descrizione, selettore) a destra sotto il menu,
come "Lavori selezionati"; la griglia a cerchi è in griglia-lavori.css.
==========================================================================
*/
.lavori-intro__term {
    margin: 0 0 0.75rem;
    font-family: 'Josefin Sans', sans-serif;
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-align: right;
    color: #007494;
}

.lavori-intro__term::after {
    content: none; /* niente filetto del titolo h1 globale */
}

.lavori-intro__selettore {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    width: 100%;
    margin-top: 1rem;
}

/* Pulsante selettore: stessa resa del pulsante shaker (tondo, teal) */
.lavori-intro .selettore-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4.5rem;
    height: 4.5rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #007494;
    cursor: pointer;
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.3s ease;
}

.lavori-intro .selettore-btn .navbar-toggler-icon-svg {
    display: inline-flex;
}

.lavori-intro .selettore-btn svg {
    width: 2.25rem;
    height: 2.25rem;
}

.lavori-intro .selettore-btn svg path:first-child {
    fill: #fff;
}

.lavori-intro .selettore-btn:hover,
.lavori-intro .selettore-btn:focus-visible,
.lavori-intro .selettore-btn[aria-expanded="true"] {
    transform: scale(1.1);
    box-shadow: 0 1px 12px rgb(0 116 148 / 35%);
    outline: none;
}

/* Elenco categorie (si apre sotto il pulsante) */
.lavori-intro__selettore .collapse-categorie {
    width: 100%;
    text-align: right;
}

.lavori-intro__selettore .categorie ul {
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
}

.lavori-intro__selettore .categorie li {
    margin: 0 0 0.4rem;
}

.lavori-intro__selettore .categorie a {
    font-family: 'Josefin Sans', sans-serif;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    color: #1a1a1a;
}

.lavori-intro__selettore .categorie a:hover,
.lavori-intro__selettore .categorie a:focus-visible,
.lavori-intro__selettore .categorie .is-attiva a {
    color: #007494;
}

.lavori-intro__selettore .categorie .is-attiva a {
    padding-bottom: 2px;
    border-bottom: 1px solid #007494;
}


/*
==========================================================================
FORM CONTATTI + hCAPTCHA
Il widget hCaptcha ha la classe .wpcf7-form-control e ereditava lo stile
dei campi (bordo teal a tutta larghezza, padding): finiva decentrato in un
riquadro e il pulsante Invia gli cadeva sotto. Ora captcha e pulsante
stanno su una riga allineata ai bordi dei campi (a capo e centrati su mobile).
==========================================================================
*/
.contact-form::after {
    content: "";
    display: table;
    clear: both;
}

/* Testo digitato leggibile: prima era bianco su fondo bianco. Esclusa la pagina "Adatta la casa" (fondo scuro). */
body:not(.page-template-template-adatta-la-casa) .contact-form .sezione .wpcf7-text,
body:not(.page-template-template-adatta-la-casa) .contact-form .sezione .wpcf7-email,
body:not(.page-template-template-adatta-la-casa) .contact-form .sezione .wpcf7-textarea,
.bda-modal .contact-form .sezione .wpcf7-text,
.bda-modal .contact-form .sezione .wpcf7-email,
.bda-modal .contact-form .sezione .wpcf7-textarea {
    color: #1a1a1a;
}

.contact-form .sezione.quarta p {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin: 0;
}

.contact-form .sezione.quarta .wpcf7-form-control-wrap {
    display: inline-block;
    max-width: 100%;
    line-height: 0; /* niente spazio extra sotto l'iframe */
}

.contact-form .sezione .wpcf7-form-control.h-captcha,
.contact-form .sezione .wpcf7-form-control.h-captcha:hover {
    display: inline-block;
    width: auto;
    max-width: 100%;
    min-height: 78px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 6px;
    background: transparent !important;
    overflow: hidden;
    box-shadow: 0 1px 10px rgb(0 116 148 / 14%);
}

.contact-form .sezione.quarta .wpcf7-spinner {
    position: absolute;
    right: 1.5rem;
    bottom: -2rem;
    margin: 0;
}

/* Pulsante Invia: testo leggibile (era teal su teal) e stessa resa dei pulsanti tondi del sito */
.contact-form .wpcf7-submit {
    flex: 0 0 auto;
    margin: 0;
    border: 0;
    color: #fff;
    font-family: 'Josefin Sans', sans-serif;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.3s ease;
}

.contact-form .wpcf7-submit:hover,
.contact-form .wpcf7-submit:focus-visible {
    transform: scale(1.08);
    box-shadow: 0 1px 12px rgb(0 116 148 / 35%);
    outline: none;
}

@media only screen and (max-width: 480px) {
    .contact-form .sezione.quarta p {
        flex-direction: column;
        justify-content: center;
    }
}


/*
==========================================================================
MODALE CONTATTI + PULSANTE TONDO (inc/contact-modal.php, js/contact-modal.js)
Z-index: pulsante 1040 < modale 1050 < banner cookie / sfida hCaptcha.
==========================================================================
*/
.bda-contact-fab {
    position: fixed;
    right: max(1rem, env(safe-area-inset-right));
    bottom: max(1rem, env(safe-area-inset-bottom));
    z-index: 1040;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #007494;
    color: #fff;
    cursor: pointer;
    box-shadow: 0 4px 16px rgb(0 0 0 / 20%);
    transform-origin: center center;
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.3s ease;
    /* Stesso movimento del pulsante shaker dei progetti (keyframes definiti sopra) */
    animation: tilt-shaking 2s ease-in-out infinite;
}

.bda-contact-fab:hover,
.bda-contact-fab:focus-visible {
    transform: scale(1.1);
    box-shadow: 0 1px 12px rgb(0 116 148 / 35%);
    animation: tilt-shaking-hover 0.35s ease-in-out infinite;
    outline: none;
}

.bda-contact-fab:focus-visible {
    outline: 2px solid #007494;
    outline-offset: 3px;
}

.bda-contact-fab__icon {
    display: block;
}

.bda-modal {
    position: fixed;
    inset: 0;
    z-index: 1050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s ease, visibility 0s linear 0.25s;
}

.bda-modal[hidden] {
    display: none;
}

.bda-modal.is-open {
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
}

.bda-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgb(26 26 26 / 55%);
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
}

.bda-modal__panel {
    position: relative;
    width: min(100%, 36rem);
    max-height: calc(100vh - 2rem);
    max-height: calc(100dvh - 2rem);
    padding: 2rem 2rem 1.75rem;
    overflow: auto;
    background: #fff;
    box-shadow: 0 20px 60px rgb(0 0 0 / 25%);
    transform: translateY(12px) scale(0.98);
    transition: transform 0.25s ease;
    outline: none;
}

.bda-modal.is-open .bda-modal__panel {
    transform: none;
}

.bda-modal__close {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #1a1a1a;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.bda-modal__close:hover,
.bda-modal__close:focus-visible {
    background: #f2f2f2;
    color: #007494;
    outline: none;
}

.bda-modal__title {
    margin: 0 2.5rem 1.25rem 0;
    font-family: 'Josefin Sans', sans-serif;
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-align: left;
    color: #007494;
}

.bda-modal__body {
    text-align: left;
}

html.bda-modal-open {
    overflow: hidden;
}

@media only screen and (max-width: 480px) {
    .bda-contact-fab {
        width: 3.5rem;
        height: 3.5rem;
    }

    .bda-modal__panel {
        padding: 1.5rem 1.25rem 1.25rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bda-contact-fab,
    .bda-contact-fab:hover,
    .bda-contact-fab:focus-visible {
        animation: none;
    }

    .bda-modal,
    .bda-modal__panel {
        transition: none;
    }
}

@media print {
    .bda-contact-fab,
    .bda-modal {
        display: none !important;
    }
}


/*
==========================================================================
PAGINA STUDIO (template-profilo.php)
Stessa resa di "Lavori selezionati": H1 e titolo del contenuto nascosti (presenti per SEO e screen
reader), descrizione in alto a destra sotto il menu. Le regole del box sono quelle di .lavori-intro.
==========================================================================
*/
.archivio-progetti-alt.lavori-intro--studio,
.archivio-progetti-alt.lavori-intro--contatti {
    padding-bottom: 2rem;
}

/* Nomi degli architetti: ora sono H2 (l'H1 della pagina è uno solo) ma mantengono l'aspetto dei vecchi H1 */
.studio .studio__nome {
    margin: 0 0 0.2em;
    font-size: 1.94em;
    line-height: 1em;
    color: #007494;
}

.studio .studio__nome::after {
    content: " ";
    display: block;
    width: 2em;
    height: 1px;
    margin: 0.75em auto;
    background: #007494;
}


/*
==========================================================================
MENU PRINCIPALE + SELETTORE LINGUA
Il selettore (EN | IT) sta nella stessa riga del menu, a sinistra delle voci, separato da un filetto.
Prima andava a capo sotto il menu. Il markup è in header.php (selettore prima del menu).
==========================================================================
*/
.BdA-nav-dx-padding {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 1.25rem;
}

.BdA-nav-dx-padding > .menu-menu-principale-container {
    flex: 0 0 auto;
}

.BdA-nav-dx .bda-lang-switch {
    display: flex;
    flex: 0 0 auto;
    gap: 0.9rem;
    clear: none;
    margin: 0;
    padding: 0 1.25rem 0 0;
    border-right: 1px solid #d6d6d6;
    font-family: 'Josefin Sans', sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1em;
    text-align: left;
}

.BdA-nav-dx .bda-lang-switch li {
    margin: 0;
}

/* Tablet / mobile: il menu occupa tutta la larghezza sotto il logo; il selettore resta a sinistra delle voci */
@media only screen and (max-width: 1000px) {
    .BdA-nav-dx-padding > .menu-menu-principale-container {
        flex: 1 1 0;
        min-width: 0;
    }
}

/* Schermi stretti: il selettore va su una riga propria, a destra, sopra le voci */
@media only screen and (max-width: 480px) {
    .BdA-nav-dx .bda-lang-switch {
        flex: 0 0 100%;
        justify-content: flex-end;
        padding: 0 0 0.5rem;
        border-right: 0;
    }

    .BdA-nav-dx-padding > .menu-menu-principale-container {
        flex: 1 1 100%;
    }
}

/* Il clearfix generico di .BdA-nav-dx ul:after diventerebbe un elemento flex vuoto (spazio in più): qui non serve */
.BdA-nav-dx .bda-lang-switch::after {
    display: none;
}

/* Divisorio del selettore un po' più alto, e voci del menu senza l'altezza fissa del vecchio pulsante tondo
   (con il selettore nella stessa riga, il centraggio verticale deve riferirsi al testo, non a un box di 4rem) */
.BdA-nav-dx .bda-lang-switch {
    padding-top: 0.6rem;
    padding-bottom: 0.6rem;
}

@media only screen and (max-width: 1000px) {
    .BdA-nav-dx .menu-item.last {
        height: auto;
    }
}


/*
==========================================================================
TITOLI h1-h6
Stile unico per tutti i titoli: Josefin Sans Bold, maiuscolo, 1rem di spazio sotto.
Le regole di singoli contesti che avevano un margine sotto proprio (progetto, blog, regesto...) sono
allineate qui sotto; restano volutamente compatte le etichette .info-tecniche h4 e .box-title-premi h3.
==========================================================================
*/
h1,
h2,
h3,
h4,
h5,
h6 {
    margin-bottom: 1rem;
    font-family: 'Josefin Sans', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
}

h1 {
    margin-bottom: 1.5rem;
}

.progetto-content h1 {
    margin-bottom: 1.5rem !important;
}

.progetto-content h2,
.blog-content h2,
.regesto h2 {
    margin-bottom: 1rem !important;
}

.studio .studio__nome {
    margin-bottom: 1rem;
}

.lavori-intro__term,
.contatti__titolo {
    margin-bottom: 1.5rem;
}

/*
==========================================================================
PAGINA CONTATTI (template-contatti.php)
Testo introduttivo in alto a destra (stesse regole di .lavori-intro); titolo subito sopra il form.
==========================================================================
*/
.contatti__titolo {
    max-width: 600px; /* stessa larghezza (e centratura) del modulo .wpcf7, così il titolo è allineato ai campi */
    margin: 0 auto 1.25rem;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.06em;
    text-align: left;
}

.contatti__titolo::after {
    content: none; /* niente filetto centrato del titolo h1 globale */
}


/*
==========================================================================
CONTATTI su mobile: il titolo sopra il form resta per SEO/screen reader ma non si vede
==========================================================================
*/
@media only screen and (max-width: 767.98px) {
    .contatti__titolo {
        position: absolute;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        clip-path: inset(50%);
        white-space: nowrap;
        border: 0;
    }
}


/*
==========================================================================
TESTO "A TENDINA" su mobile (bda_readmore_start/end in inc/helpers.php, logica in js/scripts.js)
Poche righe di testo con sfumatura verso il bianco; un tocco sulla sfumatura apre tutto.
Il JS aggiunge .is-clamped solo se il testo è più lungo di ~5 righe: senza JS il testo resta intero.
==========================================================================
*/
.bda-readmore__toggle {
    display: none;
}

@media only screen and (max-width: 767.98px) {
    .bda-readmore {
        position: relative;
    }

    .bda-readmore.is-clamped,
    .bda-readmore.is-opening {
        overflow: hidden;
    }

    .bda-readmore.is-clamped {
        max-height: var(--bda-clamp, 8rem);
    }

    .bda-readmore.is-opening {
        transition: max-height 0.45s ease;
    }

    .bda-readmore.is-clamped .bda-readmore__toggle {
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        display: flex;
        align-items: flex-end;
        justify-content: center;
        height: 5rem;
        padding: 0 0 0.35rem;
        border: 0;
        background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, #fff 88%);
        color: #007494;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }

    /* Il toggle nasce con l'attributo hidden: il JS lo toglie solo quando serve */
    .bda-readmore.is-clamped .bda-readmore__toggle[hidden] {
        display: none;
    }

    .bda-readmore__icon {
        display: block;
        width: 0.7rem;
        height: 0.7rem;
        margin-bottom: 0.15rem;
        border-right: 2px solid currentColor;
        border-bottom: 2px solid currentColor;
        transform: rotate(45deg);
        animation: bda-readmore-nudge 1.6s ease-in-out infinite;
    }

    .bda-readmore__toggle:focus-visible {
        outline: 2px solid #007494;
        outline-offset: -2px;
    }
}

@keyframes bda-readmore-nudge {
    0%, 100% { transform: translateY(0) rotate(45deg); }
    50%      { transform: translateY(4px) rotate(45deg); }
}

@media (prefers-reduced-motion: reduce) {
    .bda-readmore__icon {
        animation: none;
    }

    .bda-readmore.is-opening {
        transition: none;
    }
}
