/*
	Theme Name: BRUSIO
	Description: Custom Wordpress theme
	Version: 1.0
	Author: Gabriel Nastase @ dpStudio
	Author URI: http://dpstudio.ch
	Tags: HTML5, CSS3
*/

/*------------------------------------*\
    MAIN
\*------------------------------------*/

/* global box-sizing */
*,
*:after,
*:before {
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
/* html element 62.5% font-size for REM use */
html {
	font-size:62.5%;
}
body {
	font-family: 'PT Sans', sans-serif;
    font-size: 1.6rem;
	color:#363636;
    background-color: #fff;
    line-height: 1.5;
}

/* pt-sans-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/pt-sans-v18-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* pt-sans-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/pt-sans-v18-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* clear */
.clear {
    clear: both;
    height: 0;
}
img {
	max-width:100%;
	vertical-align:bottom;
    height: auto;
}
a {
	color:#363636;
	text-decoration:none;
    transition: all 200ms;
}
a:hover {
	color: #e50019;
}
a:focus {
	outline:0;
}
a:hover,
a:active {
	outline:0;
}
input:focus {
	outline:0;
}

input, textarea, select {
    padding: 10px;
    border: solid 2px transparent;
    font-family: 'PT Sans', sans-serif;
    font-size: 1.4rem;
    width: 100%;
    transition: all 200ms;
    color: #2b2b2b;
    background-color: #f4f4f4;
    border-radius: 30px;
}
input:hover, textarea:hover {
    border: solid 2px #00000020;
}
input:focus, textarea:focus {
    border: solid 2px #e50019;
}
textarea {
    height: 130px;
}
.wpcf7-submit {
    background: #e50019;
    color: #fff;
    border: none;
    font-weight: 700;
    max-width: 200px;
    padding: 10px;
    border-radius: 30px;
}
input[type="checkbox"], input[type="radio"] {
    width: auto;
}
.cols-modulo {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
/* Grow */
.hvr-grow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: all;
  transition-property: all;
}
.hvr-grow:hover, .hvr-grow:focus, .hvr-grow:active {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

/* Shrink */
.hvr-shrink {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: all;
}
.hvr-shrink:hover, .hvr-shrink:focus, .hvr-shrink:active {
  -webkit-transform: scale(0.94);
  transform: scale(0.94);
}

.center {text-align: center;}
.align-right {
    text-align: right;
}
.justify {
    text-align: justify;
}
.big {font-size: 3.4rem;}

.bigger {font-size: 6rem;}
.no-margin {
    margin: 0!important;
}
.no-gap {
    gap: 0!important;
}
.no-margin-top {
    margin-top: 0!important;
}
.no-margin-bottom {
    margin-bottom: 0!important;
}
.fullheight {
    min-height: 100vh;
}
.fullwidth, .fullwidth img, .fullwidth figure {
    width: 100%!important;
}
h1, h2 {
    font-family: 'PT Sans', sans-serif;
    font-weight: 700;
    font-size: 4rem;
}
h3 {
    font-family: 'PT Sans', sans-serif;
    font-weight: 700;
    font-size: 2.6rem;
}
h4 {
    color: #e50019;
}
h5 {
    font-size: 1.6rem;
}
.red {
    color: #e50019;
}
.bg-red {
    background: #e50019;
}
.bg-grey {
    background: #f4f4f4;
}
.dark {
    color: #fff;
}
.dark a {
    color: #fff;
}
.dark a:hover {
    color: #ffcfcf;
}
p a {
    color: #e50019;
}
p a:hover {
    color: #961216;
}

.btn {
    display: inline-block;
    position: relative;  
}
.btn i, a i {
    margin-left: 30px;
}
.text-btn {
    display: flex;
    align-items: center;
    color: #e50019;
    font-size: 1.3rem;
    font-weight: bold;
}
.text-btn i {
    margin-left: 30px;
}
.text-btn a {
    color: #e50019;
}
.uppercase {
    text-transform: uppercase;
}

/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/

/* wrapper */
.wrapper {
    max-width: 80%;
	margin:0 auto;
	position:relative;
}
.wrap-left {
    padding-left:10vw!important;
}
.wrap-right {
    padding-right: 10vw!important;
}
.wrap-right-inner, .main-content {
    padding-right: 60px!important;
}
.main-cols-container {
    display: grid;
    grid-template-columns: 3fr 1.2fr; /* 2 columns of equal width */
    gap: 0; /* space between items */
    margin-top: 103px;
}

.flex-container {
	display: flex;
}
.wrap {
    flex-wrap: wrap;
}
.grid-3 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 2em;
}
.col-80 {
    width: 75%;
}
.col-20 {
    width: 22%;
}
.flex-reverse {
    flex-direction: row-reverse;
}
.space-between-vertical {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: space-between;
}
.has-sticky {
    align-items: flex-start!important;
    height: 100%;
    flex-wrap: wrap;
    justify-content: space-between;
}
.sticky {
    position: sticky;
    top: 50px;
}
.sticky h3 {
    margin-top: 0;
}
.box-padding {
    padding: 30px;
}
.big-box-padding {
    padding: 40px;
}
.rounded-40 {
    border-radius: 40px;
}
.rounded-30 {
    border-radius: 30px;
}
.padding-left {
    padding-left: 60px;
}
.padding-right {
    padding-right: 60px;
}
.content-padding {
    padding: 80px 0;
}
.content-padding-60 {
    padding: 60px 0;
}
.content-padding-bottom {
    padding-bottom: 60px;
}
.content-padding-top {
    padding-top: 60px;
}
.first-content {
        padding-top: 160px;
}
.left {
	float: left;
}
.right {
	float: right;
}
.col-50 {
	width: 50%;
}
.col-25 {
	width: 28%;
}
.col-30 {
	width: 30%;
}
.col-70 {
	width: 70%;
}
.col-75 {
	width: 72%;
}
/* header */
.header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	padding: 0;
	z-index: 999;
	transition: all 300ms ease-out;
    background: #fff;
}
.logged-in .header {
    margin-top: 30px;
}
.header-scrolled {

}
.header .parent {
    align-items: center;
    justify-content: space-between;
    align-items: center;
}
.header .col-right .flex-container {
    align-items: center;
}
.header .logo .logo-img {
    width: 120px;
}
.header .logo {
    margin-bottom: -35px;
    position: relative;
    z-index: 900;
}
.header .nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 30px;
}
.header .nav ul li a {
    font-weight: 700;
    display: block;
    padding: 30px 0;
    line-height: 40px;
    border-bottom: solid 5px transparent;
}
.header .nav ul li a::before {
    display: none!important;
}
.header .nav ul li a:hover {
    border-bottom: solid 5px #e50019;
    color: #000;
}
.header .nav ul li {
    display: flex;
    align-items: center;
}
.header .nav ul li img {
    width: 36px;
    height: 36px;
    margin-right: 0;
    padding-right: 0;
}
.header .nav .sub-menu {
    position: fixed;
    background: #f4f4f4;
    padding: 60px 0;
    padding-left: 10vw;
    padding-right: 10vw;
    z-index: 800;
    top: 105px;
    left: 0;
    width: 100%;
    transition: all 300ms ease-out;
    visibility: hidden;
    opacity: 0;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 0;
}
.header .nav ul li:hover .sub-menu {
    visibility: visible;
    opacity: 1;
}
.header .nav .sub-menu li a {
    font-weight: 700;
    border: none!important;
    padding: 0;
}
.header .nav .sub-menu li a:hover {
    color: #e50019;
}
.header .nav ul li.current-menu-item a, .header .nav ul .current_page_ancestor a {
    color: #e50019;
    border-bottom: solid 5px #e50019!important;
}
#menu-sidebar-menu-1 li.current-menu-item a {
    background: #e50019!important;
    color: #fff;
    font-weight: bold!important;
}
.header .nav ul li .sub-menu li a {
    color: #000; 
    border: none!important;
}
.header .nav ul li .sub-menu li.current-menu-item a {
    color: #e50019;
    border-bottom: solid 5px #e50019!important;
}
#menu-item-985 a, #menu-item-995 a, #menu-item-1656 a {
    font-weight: normal;
    border: none;
}

.header .sportello-online-btn {
    width: 160px;
    margin-left: 30px;
    margin-top: 6px;
}
.header .sportello-online-btn-mobile {
    display: none;
}
.header .search {
    margin-left: 30px;
    display: flex;
}
.header .search input {
    border: none;
    border-bottom: solid 1px #ccc;
    transition: all 200ms;
    border-radius: 0;
    background: none;
}
.header .search input:hover {
    border-bottom: solid 1px #363636;
}
.header .search input:focus {
    border-bottom: solid 2px #e50019;
}
.header .search button {
    background: none;
    border: none;
    background-repeat: no-repeat;
    width: 46px;
    height: 36px;
    background-size: 36px;
    background-position: center;
   background-image: url('img/search.svg');
}
.header .menu-mobile #menu-sidebar-menu {
    display: none;
}
.sub-menu-container {
    position: fixed;
    background: #f4f4f4;
    padding: 60px 0;
    z-index: 800;
    top: 105px;
    left: 0;
    width: 100%;
    transition: all 300ms ease-out;
    visibility: hidden;
    opacity: 0;
}
.sub-menu-container.active {
    visibility: visible;
    opacity: 1;
}
.sub-menu-container h3 {
    font-size: 3rem;
    color: #e50019;
    margin-bottom: 20px;
}
.sub-menu-container ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
}
.sub-menu-container ul li {
    margin-bottom: 10px;
}

.sub-menu-autorita-active {
    visibility: visible;
    opacity: 1;
}
.sub-menu-container .flex-container {
    gap: 60px;
}
.sub-menu-container .flex-container .col-left,
.sub-menu-container .flex-container .col-right {
    flex-basis: 50%;
}
.sub-menu-container ul li a {
    font-weight: 700;
    padding: 10px 0;
}
/* menu btn */

#nav-icon3 {
  width: 25px;
  height: 25px;
  position: relative;
  z-index: 999;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  -o-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  cursor: pointer;
  display: none;
}

 #nav-icon3 span {
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
  background: #e50019;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}



/* menu  button */

#nav-icon3 span:nth-child(1) {
  top: 0px;
}

#nav-icon3 span:nth-child(2),#nav-icon3 span:nth-child(3) {
  top: 10px;
}

#nav-icon3 span:nth-child(4) {
  top: 20px;
}

#nav-icon3.open span:nth-child(1) {
  top: 18px;
  width: 0%;
  left: 50%;
}

#nav-icon3.open span:nth-child(2) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}

#nav-icon3.open span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
#nav-icon3.open span:nth-child(4) {
  top: 18px;
  width: 0%;
  left: 50%;
}


/* sidebar */
.sidebar {
    padding-bottom: 60px;
}

.sidebar .widget_nav_menu {
    background: #e8e8e8;
}
.sidebar #menu-sidebar-menu-1 {
    margin: 0;
    padding: 0;
    list-style: none;
}
.sidebar #menu-sidebar-menu-1 li {
    width: 100%;
    border-bottom: solid 1px #c8c8c8;
    position: relative;
}
.sidebar #menu-sidebar-menu-1 li:last-child {
    border-bottom: none;
}
.sidebar #menu-sidebar-menu-1 li a {
    display: flex;
    width: 100%;
    align-items: center;
    padding: 20px 40px;
    font-weight: 700;
    background: transparent;
}
.sidebar #menu-sidebar-menu-1 li a:hover {
    color: #000;
    background: #fff;
}
.sidebar #menu-sidebar-menu-1 li a img {
    max-width: 56px;
    margin-right: 15px;
    padding-right: 0;
}
.sidebar #menu-sidebar-menu-1 li.menu-item-has-children a::before, #menu-sidebar-menu li.menu-item-has-children a::before, #menu-header-menu li.menu-item-has-children a::before {
    content: '';
    display: block;
    width: 0;
    height: 20px;
    background-size: contain;
    background-repeat: no-repeat;
    background-image: url(img/continua.svg);
    transform: rotate(180deg) translateX(20px);
    transition: all 200ms;
}
.sidebar #menu-sidebar-menu-1 li.menu-item-has-children.active a::before, #menu-sidebar-menu li.menu-item-has-children.active a::before, #menu-header-menu li.menu-item-has-children.active a::before {
    width: 20px;
}
.sidebar #menu-sidebar-menu-1 .sub-menu {
    background: #fff;
    padding: 0;
    margin: 0;
    list-style: none;
    display: none;
}
.sidebar #menu-sidebar-menu-1 .sub-menu li a {
    padding: 20px 40px;
    font-weight: normal;
}
.sidebar #menu-sidebar-menu-1 .sub-menu li a::before, #menu-sidebar-menu .sub-menu li a::before, #menu-header-menu .sub-menu li a::before {
    display: none!important;
}   
.sidebar #menu-sidebar-menu-1 .sub-menu li a:hover {
    background: #f2f2f2;
}
.sidebar .box-info {
    background: #f4f4f4;
    padding: 40px;
}
.sidebar .box-sportello-online {
    padding: 40px;
    border-bottom-left-radius: 100px;
    position: relative;
}
.sidebar .box-sportello-online h3 {
    margin-bottom: 0;
}
.sidebar .box-sportello-online::after {
    content: '';
    position: absolute;
    bottom: -178px;
    right: 0;
    width: 180px;
    height: 180px;
    background-size: 100%;
    background-repeat: no-repeat!important;
    background-position: top right!;
    background: url(img/linguetta.svg);
    z-index: -1;
}
.sidebar .box-link {
    padding: 0 40px;
}
.sidebar .box-link .wp-block-image .aligncenter, .sidebar .box-link .wp-block-image .aligncenter img {
    width: 100%;
}
.sidebar .box-link .wp-block-column {
    background-color: #f4f4f4;
    border-radius: 40px;
}
.sidebar .box-link .wp-block-column img {
    border-top-left-radius: 40px;
    border-top-right-radius: 40px;
}
.sidebar .box-link .wp-block-column h3 {
   font-weight: normal;
}
.has-footer-cards {
    padding-bottom: 420px;
}
.cards-footer {
    margin-top: -420px;
}
.cards-footer-no-margin {
    margin-top: -0;
}
body.sportello-online .footer-cards-parent, body.a-chi-mi-rivolgo .footer-cards-parent, body.leggi-regolamenti-e-ordinanze .footer-cards-parent {
    display: none;
}

.cards-footer .card1 {
    position: relative;
    border-radius: 40px;
    background-image: url(img/viadotto-compressed-overlay.jpg);
    background-size: cover;
    background-position: center;
    min-height: 320px;
}
.cards-footer .card2 {
    position: relative;
    border-radius: 40px;
    background-image: url(img/valposchiavo-bg-overlay.jpg);
    background-size: cover;
    background-position: center;
    min-height: 320px;
}
.cards-footer .card3 {
    position: relative;
    border-radius: 40px;
    background-image: url(img/trenino-bg-overlay.jpg);
    background-size: cover;
    background-position: center;
    min-height: 320px;
}
.cards-footer .cardf img {
    max-width: 100px;
    position: absolute;
    top: 0;
    left: 0;
    border-top-left-radius: 40px;
    border-bottom-right-radius: 40px;
    transition: all 200ms;
}
.cards-footer .cardf:hover img {
    max-width: 120px;
}
.cards-footer .cardf h2 {
    position: absolute;
    bottom: 20px;
    left: 20px;
    max-width: 100%;
    margin-bottom: 0;
}
.cards-footer .cardf a {color: #fff;}
.cards-footer .cardf a:hover {color: #e50019;}

/* footer */
.footer {
    
}
.footer a {
    color: #363636;
}
.footer a:hover {
    color: #e50019;
}
.footer .legal-menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    justify-content: flex-end;
    margin-top: 30px;
}
.footer .legal-menu li {
    margin-left: 30px;
}
.footer .legal-menu li a {
    color: #e50019;
}
/*------------------------------------*\
    PAGES
\*------------------------------------*/
.pagination {
    margin-top: 30px;
}
.pagination .current {
    color: #e50019;
    font-weight: bold;
}

.single-main-section .wrap-left, .single-main-section .col-80 {
    padding-right: 60px;
}
.single-main-section .first-content hr,
.archive-main-section .first-content hr {
    border: none;
    height:1px;
    display: block;
    background: rgba(255,255,255,0.4);
    margin: 30px 0;
}
.single-main-section .breadcrumbs,
.archive-main-section .breadcrumbs {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
}
.single-main-section .breadcrumbs li,
.archive-main-section .breadcrumbs li {
    margin-right: 20px;
}
.single-main-section .breadcrumbs li::after,
.archive-main-section .breadcrumbs li::after {
    content: '/';
    margin-left: 20px;
}
.single-main-section .breadcrumbs li:last-child::after,
.archive-main-section .breadcrumbs li:last-child::after {
    display: none;
}
.single-main-section p {
    font-size: 2rem;
}
.foto-profilo-ufficio img {
    border-top-left-radius: 50%;
    border-bottom-left-radius: 50%;
    border: solid 7px #e50019;
    margin-top: 15px;
    border-right: none;
}
.border-red-card, .file-card {
    padding: 30px;
    border-radius: 40px;
    border: solid 2px #e50019;
    background-color: #fff;
}
.no-border-red-card {
    padding: 30px;
    border-radius: 40px;
    border: solid 2px transparent;
    background: none;
}

.link-cards, article.category-consigli-comunali p, article.category-riassunti-sedute-del-municipio p {
    margin: 0;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
    align-items: stretch;
}
.link-cards p {
    margin: 0;
}

article.category-consigli-comunali p a, article.category-riassunti-sedute-del-municipio p a, .link-cards a {
    display: block;
    padding: 20px;
    border: solid 2px #e50019;
    background-image: url(img/nuvola.svg);
    background-size: 44px;
    background-repeat: no-repeat;
    background-position: 20px 20px;
    border-radius: 30px;
    padding-top: 80px;
    font-weight: bold;
    height: 100%;
}
article.category-consigli-comunali p br, article.category-riassunti-sedute-del-municipio p br {
    display: none;
}
/*------------------------------------*\
    KADENCE
\*------------------------------------*/
.kb-post-list-item .entry-footer {
    margin-top: 20px;
}
.kt-accordion-panel-active a {
    color: #fff;
}
.kt-accordion-panel-active .file-card a {
    color: #e50019!important;
}
.box-nuvola .kb-post-list-item {
    padding: 30px;
    border-radius: 40px;
    border: solid 2px #e50019;
    padding-top: 90px;
    position: relative;
}
.box-nuvola .kb-post-list-item a {
    color: #e50019;
}
.box-nuvola .kb-post-list-item .more-link-wrap {
    position: absolute;
    top: 30px;
    left: 30px;
}
.box-nuvola .kb-post-list-item .more-link-wrap a {
    height: 50px;
    width: 50px;
    display: block;
    background-image: url(img/nuvola.svg);
    background-size: 50px;
    background-repeat: no-repeat;
}
.box-nuvola .kb-post-list-item .more-link-wrap a span {
    display: none;
}
.more-link-wrap .kadence-svg-iconset {display: none !important;}
.more-link-wrap a {
    display: block;
    width: 20px;
    height: 20px;
    background-image: url(img/continua.svg);
    background-size: contain;
    background-repeat: no-repeat;
    color: transparent!important;
}
.loop-block-correlato .more-link-wrap {
    margin-top: 20px;
}
.kb-post-list-item {
    position: relative;
    padding-bottom: 20px;
}
.kb-post-list-item .more-link-wrap {
    position: absolute;
    bottom: 0;
    left: 0;
}
.loop-grid .view-article {
    display: none;
}
.loop-grid .arrow-right {
    max-width: 15px;
}
.loop-grid .date {
    font-size: 1.4rem;
    margin: 10px 0;
    display: block;
}
.loop-grid .excerpt p {
    margin-top: 0;
}
.loop-grid h3 {
    margin-bottom: 0;
}
.display-posts-listing {
    list-style: none;
    margin: 0;
    padding: 0;   
}
.display-posts-listing a {
    display: none;
}
#search-container {
    display: flex;
}
#search-container input {
    border-radius: 0;
    border: none!important;
}
#search-container button {
    border: none;
    border-radius: 0;
    background: #e5e5e5;
    padding-right: 10px;
    padding-left: 10px;

}

/*------------------------------------*\
   OVERFLOW X MOBILE
\*------------------------------------*/


/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

.wp-block-columns.gap-1 {
 column-gap: 1em;
}

.yt-video {
    height: 0;
    overflow: hidden;
    padding-bottom: 56.25%;
    padding-top: 30px;
    position: relative;
}
.yt-video iframe,
.yt-video object,
.yt-video embed {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}
/*------------------------------------*\
	GUTENBERG
\*------------------------------------*/
.block-editor-block-list__layout, .block-editor-block-list__layout h5 {
    font-size: 1.6rem!important;
}
.block-editor-block-list__layout h2 {
    font-size: 1.8rem!important;
}
.block-editor-block-list__layout h3 {
    font-size: 1.4rem!important;
}
.block-editor-block-list__layout .wp-block { max-width: none;}
.block-editor-block-list__layout textarea { all: inherit; }

.block-editor-block-list__layout .cards-footer {
    margin-top: 0;
}


/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/


@media only screen and (max-width:1920px) {
    .wrapper {
        max-width: 95%;
        margin:0 auto;
        position:relative;
    }
    .wrap-left {
        padding-left:2.5vw!important;
    }
    .wrap-right {
        padding-right: 2.5vw!important;
    }
    .wrap-right-inner, .main-content {
        padding-right: 40px!important;
    }
    .sidebar .box-sportello-online::after {
        width: 90px;
    }
}
@media only screen and (max-width:1300px) {
    .header .logo .logo-img {
        width: 100px;
    }
    .header .nav ul {
        gap: 20px;
    }
    .header .sportello-online-btn {
        width: 130px;
        margin-left: 20px;
    }
}
@media only screen and (max-width:1180px) {
    .header .menu-mobile {
        display: block;
        position: fixed;
        top: 70px;
        left: 0;
        width: 100%;
        height: 100%;
        background: #f4f4f4;
        display: none;
    }

    .header .menu-mobile .child {
        height: 100%;
        overflow-y: auto;
        padding-bottom: 80px;
        display: block;
    }
    #menu-item-17 {
        display: none;
    }
    .sidebar #menu-sidebar-menu-1 {
        display: none;
    }
    .header .menu-mobile #menu-sidebar-menu {
        display: block;
        margin-top: 40px;
    }
    .header .menu-mobile #menu-sidebar-menu  li {
        display: block;
    }
    .header .nav ul {
        display: block;
    }
    .header .menu-mobile #menu-sidebar-menu  li img {
        display: none;
    }
    .header .nav ul li a {
        padding: 10px 2.5vw;
        width: 100%;
        display: flex;
        align-items: center;
    }
    .header .nav ul li a::before {
        display: block!important;
    }
    .sidebar #menu-sidebar-menu-1 li.menu-item-has-children a::before, #menu-sidebar-menu li.menu-item-has-children a::before, #menu-header-menu li.menu-item-has-children a::before{
        height: 12px;
    }
    .menu-image-title-before.menu-image-not-hovered img, .menu-image-hovered.menu-image-title-before .menu-image-hover-wrapper, .menu-image-title-after.menu-image-title {
        padding-left: 0;
    }
    .header .nav ul li img {
        margin-right: 15px;
    }
    #menu-item-19 {
        display: block;
    }
    .header .nav ul li .sub-menu {
        display: block;
        position: relative;
        visibility: visible;
        opacity: 1;
        padding: 0;
        top: auto;
        left: auto;
        background: #fff;
        display: none;
    }
    .header .nav ul li .sub-menu li {
        display: block;
    }
    .header .nav ul li .sub-menu li a {
        padding: 10px 30px;
    }
    .header .nav ul li .sub-menu li.current-menu-item a {
        border-bottom: none;
        background: #e50019;
        color: #fff;
    }
    .header .sportello-online-btn-mobile {
        display: block;
        width: 35px;
    }
    #nav-icon3 {
        display: block;
    }
    .header .search {
        margin-top: 20px;
        margin-bottom: 60px;
        margin-left: 2.5vw;
        margin-right: 2.5vw;
    }
    .header .menu-mobile .sportello-online-btn {
        display: none;
    }
    .main-cols-container {
        margin-top: 70px;
    }
    h1, h2 {
        font-size: 3rem;
    }
    .has-medium-font-size {
        font-size: 1.8rem!important;
    }
    .has-large-font-size {
        font-size: 2rem!important;
    }
    h3 {
        font-size: 2rem;
    }
    .wp-block-cover {
        min-height: 400px!important;
    }
    .sidebar #menu-sidebar-menu-1 li a img {
        max-width: 36px;
        margin-right: 8px;
    }
    .sidebar #menu-sidebar-menu-1 li a {
        padding: 20px;
    }
    .sidebar #menu-sidebar-menu-1 .sub-menu li a {
        padding: 20px;
    }
    .sidebar .box-info, .sidebar .box-sportello-online {
        padding: 20px;
        padding-top: 30px;
    }
    .sidebar .box-sportello-online::after {
        width: 90px;
    }
    .box-nuvola .kb-post-list-item {
        padding: 20px;
        padding-top: 90px;
    }
    .button-has-separator .wp-block-column {
        flex-basis: 50%!important;
    }
    .box-padding {
        padding: 20px;
    }
    .sidebar .box-link {
        padding: 0 20px;
    }
    .wrap-right-inner, .main-content {
        padding-right: 2.5vw!important;
    }
}
@media only screen and (max-width:1024px) {
    .main-cols-container {
        grid-template-columns: 1fr;
    }
    .cards-footer {
        margin-top: 0;
    }
    .has-footer-cards {
        padding-bottom: 60px;
    }
    .sidebar .box-link {
        max-width: 500px;
        margin: 0 auto;
    }
    .sidebar .box-link .wp-block-column {
        margin-bottom: 2em;
    }
    .cards-footer {
        gap: 1em;
    }
   /* Identifichiamo solo il contenitore con la NOSTRA classe */
    .wp-block-columns.overflow-x-mobile {
        display: block !important; /* Cambiamo da flex a block per contenere meglio */
        overflow-x: auto !important;
        overflow-y: hidden !important;
        width: 100vw !important;
        margin-left: calc(-50vw + 50%) !important; /* Lo centra se il tema ha padding */
        padding: 0 2.5vw !important;
        -webkit-overflow-scrolling: touch;
        box-sizing: border-box;
    }

    /* La lista UL interna deve diventare il vero nastro scorrevole */
    .overflow-x-mobile ul.wp-block-kadence-posts {
        display: flex !important;
        flex-wrap: nowrap !important;
        padding-bottom: 20px !important;
        margin: 0 !important;
        width: max-content !important; /* Importante: si allunga quanto i figli */
    }

    /* I singoli articoli (LI) */
    .overflow-x-mobile .kb-post-list-item {
        flex: 0 0 280px !important; /* Larghezza fissa per ogni card */
        margin-right: 15px !important;
        list-style: none !important;
    }
    .kb-post-list-item .more-link-wrap {
        position: absolute;
        bottom: 0;
        left: 0;
    }
    .hide-small-screen {
        display: none;
    }
    .sidebar .box-info {
        display: none;
    }

}
@media only screen and (max-width:780px) {
    .footer p {
        margin: 0;
    }
    .footer .wp-block-columns {
        gap: 0;
    }
    .footer .logo-footer {
        margin-bottom: 20px;
    }
    .main-content {
        margin-bottom: 0!important;
    }

    .sidebar .box-sportello-online {
        border-bottom-left-radius: 60px;
    }
    .sidebar .box-sportello-online::after {
        bottom: -79px;
        height: 100px;
    }
     .kt-tabs-mobile-layout-tabs.kt-tabs-layout-vtabs .kt-tabs-title-list {
        margin-bottom: 30px;
    }
    .link-cards, article.category-consigli-comunali p, article.category-riassunti-sedute-del-municipio p {
        grid-template-columns: 1fr;
    }
    .wpcf7 label {
        font-size: 1.2rem;
    }
}
@media only screen and (max-width:600px) {
    .wp-block-cover {
        min-height: 250px!important;
    }
    .header .logo .logo-img {
        width: 80px;
    }
    .header .logo {
        margin-bottom: -25px;
    }
    .main-cols-container {
        margin-top: 59px;
    }
    .header .menu-mobile {
        top: 59px;
    }
    h1, h2 {
        font-size: 2.6rem;
    }
    h3 {
        font-size: 1.8rem;
    }
    .content-padding {
        padding: 40px 0;
    }
    .overflow-x-mobile .wp-block-kadence-posts.grid-cols {
        column-gap: .5rem;
    }
    .kt-block-spacer {
        height: 20px!important;
    }
    .kt-tabs-title-list li {
        margin: 0!important;
        margin-bottom: 5px!important;
        width: 100%;
        background: #f4f4f4;
    }
    .wp-block-kadence-tab {
        padding: 0!important;
    }
   
}
/*------------------------------------*\
    MISC
\*------------------------------------*/

::selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-webkit-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-moz-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}



/*------------------------------------*\
    PRINT
\*------------------------------------*/

@media print {
	* {
		background:transparent !important;
		color:#000 !important;
		box-shadow:none !important;
		text-shadow:none !important;
	}
	a,
	a:visited {
		text-decoration:underline;
	}
	a[href]:after {
		content:" (" attr(href) ")";
	}
	abbr[title]:after {
		content:" (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content:"";
	}
	pre,blockquote {
		border:1px solid #999;
		page-break-inside:avoid;
	}
	thead {
		display:table-header-group;
	}
	tr,img {
		page-break-inside:avoid;
	}
	img {
		max-width:100% !important;
	}
	@page {
		margin:0.5cm;
	}
	p,
	h2,
	h3 {
		orphans:3;
		widows:3;
	}
	h2,
	h3 {
		page-break-after:avoid;
	}
}

/* ==========================================================================
   Cubi grigi (.box-padding.rounded-40.bg-grey): bottone Kadence sempre in basso.
   ========================================================================== */
.has-btn-bottom {
	display: flex;
	flex-direction: column;
}
.has-btn-bottom > .wp-block-kadence-advancedbtn {
	margin-top: auto;
}

body:not(.home) #block-8,
body:not(.home) #block-10,
body:not(.home) #block-11 {
	display: none;
}
