:root {
	--col-primario: #bd2716;
	--col-speciale-1: #005496;
	--col-speciale-2: #39ba4a;
	--col-speciale-3: #ffcb05;
	--col-speciale-4: #f68b1f;
	--col-anziani: var(--col-speciale-1);
	--col-disabili: var(--col-speciale-2);
	--col-famiglie: var(--col-speciale-3);
	--col-welfare: var(--col-speciale-4);
	--col-evidenza: transparent;
}



[class*="u-col-bg-"] {
	background-color: var(--col-evidenza);
}
[class*="u-col-fg-"] {
	color: var(--col-evidenza);
}
.u-col-bg-anziani, .u-col-fg-anziani,
.nav-hero .s-anziani {
	--col-evidenza: var(--col-anziani);
}
.u-col-bg-disabili, .u-col-fg-disabili,
.nav-hero .s-disabili {
	--col-evidenza: var(--col-disabili);
}
.u-col-bg-famiglie, .u-col-fg-famiglie,
.nav-hero .s-famiglie {
	--col-evidenza: var(--col-famiglie);
}
.u-col-bg-famiglie, .u-col-fg-famiglie,
.nav-hero .s-welfare {
	--col-evidenza: var(--col-welfare);
}


.site-title {
	padding-top: 0!important;
}
.site-title > p {
	font-size: .85em;
	font-weight: 700;
	color: var(--col-primario);
	line-height: 1.05;
	margin: 0;
}
.navbar--small .site-title > p {
	font-size: .85em;
}
.navbar--small h1 {
	padding-top: 0;
}
.navbar .navbar-header > .row {
	padding-top: 0;
}
.navbar-header > .row > div:first-child {
	display: flex;
	align-items: center;
}

@media screen and (max-width:350px) {
	.navbar h1 {
		font-size: 1.6rem;
	}
	.site-title > p {
		display: none;
	}
}
@media screen and (min-width: 350px) and (max-width: 500px) {
	.navbar h1 {
		font-size: 1.8rem;
	}
}
@media screen and (min-width:768px) {

	.navbar-default {
		padding-top: 0;
		padding-bottom: 0;
		display: flex;
		align-items: center;
	}
	.navbar-default > .navbar-header {
		padding-top: 0;
	}
	.navbar-header > .row {
		display: flex;
		align-items: center;
	}

	.site-title > p {
		font-size: .85em;
	}
}

@media screen and (min-width: 992px) {
	/* Logo riallineato (senza puls. menù) */
	.site-logo {
		width: 120px;
		height: 120px;
	}
	.navbar-header .site-logo {
		margin-left: 0;
		margin-right: 24px;
	}
	.site-title {
		margin-left: -146px;
		padding-left: 146px;
	}

}

@media screen and (min-width: 992px) {
	.navbar--small .site-title > p {
		font-size: 14px;
	}
}

@media screen and (min-width:1199px) {
	.site-title > p {
		font-size: 1.45em;
	}
}


/* Hero HP */
.nav-hero > ul > li > a {
	position: relative;
	color: #000;
	font-weight: 600;
}
.nav-hero > ul > li > a::before {
	content: '';
	position: absolute;
	display: block;
	height: 10px;
	left: 0;
	top: 0;
	right: 0;
	background-color: var(--col-evidenza);
}

.home-hero > .container > h2 {
	margin-top: 2em;
	color: #fff;
	text-shadow: 0 0 30px rgba(0,0,0,.15), 0 0 10px rgba(0,0,0,.1), 0 0 1px rgba(0,0,0,.3);
}
.home-hero > .container > h2 {
	visibility: hidden;
}
@media screen and (min-width: 768px) {
	.home-hero > .container > h2 {
		position: absolute;
		width: 100%;
		bottom: calc(15% + 180px );
	}
}

.home .wrapper {
	padding-bottom: 0;
}



.media-box .btn {
	text-transform: none;
	font-weight: normal;
	font-variant: normal;
}


.archive .page-header,
.page-header > h1.page-title {
	margin-top: 0;
}


.home-map:last-child {
	margin-bottom: -16px;
}
.home-map .iw_txt > h2 {
	font-size: 15px;
	margin: 0;
}
.home-map .iw_txt > p {
	font-size: 13px;
	margin: 0;
}




.head-search button[type=submit], .head-search input[type=submit] {
	white-space: nowrap;
	background: var(--col-primario);
	color: #fff;
}


.topbar__aux {
	text-align: right;
}
.topbar__aux > a:last-child {
	margin-right: 0;
}




/* menù orizzontale */
.hmenu {
	overflow: hidden;
	z-index: 99;
	position: relative;
}
.nav-hmenu {
	display: flex;
	justify-content: left;
	visibility: hidden;
	transition: visibility 0s .25s step-end;
}
@media screen and ( min-width: 992px ) {
	.hmenu {
		overflow: initial;
		height: auto;
		min-height: 48px;
	}
	.nav-hmenu {
		display: flex;
		/* justify-content: left; */
		visibility: visible;
	}
	.nav-hmenu > li + li {
		margin-left: .8em;
	}
	.nav-hmenu > li > a {
		font-size: 1.2em;
	}
	.nav-hmenu:before,
	.nav-hmenu:after {
		display: none;
	}
	.nav-hmenu > .open > a,
	.nav-hmenu > .open > a:focus,
	.nav-hmenu > .open > a:hover {
		background: hsl(6deg 79% 30%);
		transition: opacity .25s .05s;
	}
	.nav-hmenu > .dropdown > .dropdown-menu {
		display: block;
		visibility: hidden;
		pointer-events: none;
		opacity: 0.0;
		transition: opacity .25s .05s;
		border-top-color: #fff;

		/* top: 50%; */
		/* z-index: -1; */
		/* transition: opacity .25s .05s, top .2s ease-out, z-index 0s .30s step-end; */
	}
	.nav-hmenu > .open > .dropdown-menu {
		visibility: visible;
		pointer-events: all;
		opacity: 1.0;

		/* top: 100%; */
		/* z-index: 0; */
		/* transition: opacity .25s .05s, top .2s ease-out, z-index 0s .30s step-end; */
	}
	.nav-hmenu .dropdown-menu li {
		padding: 0;
	}
	.nav-hmenu .dropdown-menu .dropdown-menu {
		margin-left: 0;
		width: 100%;
	}
	.nav-hmenu .dropdown-menu .dropdown-menu li {
		list-style: none;
	}
	.nav-hmenu .dropdown-menu .menu-item a.nav-link {
		padding: .3em .8em;
		font-size: .95em;
	}
	.nav-hmenu .dropdown-menu .menu-item:not(.active) a.nav-link:hover {
		background: #eee;
		color: hsl(6deg 79% 30%);
	}
	.nav-hmenu .dropdown-menu .dropdown-menu a.nav-link {
		padding-left: calc( .8em + 10px );
	}
	.nav-hmenu .dropdown-menu .dropdown-menu .dropdown-menu a.nav-link {
		padding-left: calc( .8em + 2 * 10px );
	}
	.nav-hmenu > .dropdown > .dropdown-menu:before {
		content: '';
		position: absolute;
		top: -6px;
		left: 16px;
		width: 12px;
		height: 12px;
		border-radius: 2px;
		background-color: #fff;
		transform: rotate(45deg);
		z-index: -1;
	}
}


.home-bandi,
.home-notizie {
	background-color: #fff;
}
.home-servizi,
.home-mappa {
	background-color: #f2f2f2;
}


/* HP: news in griglia */
.home-bandi .row,
.home-notizie .row {
	display: flex;
	flex-wrap: wrap;
}
.home-notizie .media-box {
	max-width: 480px;
	margin-bottom: 20px;
}
.home-notizie .media-box,
.home-notizie .thumbnail,
.home-notizie .thumbnail > * {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}
.home-notizie .thumbnail {
	margin-bottom: 0;
	box-shadow: 1px 2px 6px 4px rgba(0,0,0,.1);
	overflow: hidden;
}
.thumbnail > .media-box__img {
	flex-grow: 0;
}
.home-notizie .thumbnail > .media-box__txt {
	justify-content: start;
}
.home-notizie .thumbnail > .media-box__txt > p:last-child {
	margin-top: auto;
	padding-top: .75em;
	margin-bottom: 0;
}
.home-notizie h3 > a {
	color: var(--col-primario);
}

[lang="it-IT"] .post-date > time {
	text-transform: lowercase;
}

@media screen and ( max-width: 767px ) {
	.home-notizie .row {
		justify-content: center;
	}
}

@supports ( display:grid ) {
	.home-notizie .row {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(min(376px,100%),1fr));
		row-gap: 24px;
	}
	.home-notizie.home-notizie--bandi .row {
		grid-template-columns: repeat(auto-fill, minmax(min(320px,100%),1fr));
	}
	.home-notizie .row::before {
		display: none;
	}
	.home-notizie .row > [class*="col-"] {
		width: 100%;
		margin: 0 auto;
	}
	.home-notizie {
		padding-bottom: 24px;
	}
}


.home-bandi .post-categories::before {
	content: '';
	border-radius: 2em;
	height: 1em;
	width: 1em;
	background: var(--col-primario);
	display: inline-block;
	vertical-align: middle;
	margin-right: .2em;
}

.home-bandi .expiry-date {
	opacity: .9;
	font-size: .85em;
	margin-top: auto;
}
.home-notizie--bandi .post-meta {
	display: flex;
	justify-content: space-between;
}
.home-notizie--bandi .post-meta > .post-date {
	margin-left: auto;
}


.home-primopiano__txt > h2 {
	color: var(--col-primario);
	line-height: 1.0;
}



.home-servizi a > h3 {
	font-weight: 600;
	line-height: 1.15;
}
.home-servizi a > p {
	line-height: 1.3;
}
.home-servizi .row {
	display: flex;
	flex-wrap: wrap;
}
.home-servizi li > a {
	height: 100%;
}
.home-servizi li > a:is(:focus,:hover) {
	text-decoration: none;
}
.home-servizi li > a:is(:focus,:hover) > h3 {
	text-decoration: underline;
}
:where(.home-servizi) li:where([class*="col-"]) {
	width: 100%;
}
@media screen and ( min-width: 768px ) {
	.home-servizi li > a {
		padding-block: 16px;
	}
}



.home-percorsi {
	overflow: hidden;
}

@media screen and ( min-width:768px ) {
	/* (almeno) 5 colonne */
	.home-percorsi .row {
		display: flex;
	}
	.home-percorsi .row > div {
		flex-basis: 20%;
	}
	/* ma oltre le 7, torna al default (righe di 6) */
	.home-percorsi .row:has(>div:nth-child(8)) {
		display: block;
	}
}


#map--hp {
	width: 100%;
	height: 410px;
}
.home-map {
	padding-bottom: 24px;
}


@media screen and ( min-width:768px ) {
	.footer-widget > .textwidget:first-child > hr:first-child {
		margin-top: calc( (23px * 1.2) + 28px + 28px);
	}
}



/* Menù aree Servizi */


.widget-area .widget :where(#menu-anziani,#menu-disabili,#menu-famiglie,#menu-welfare) li>a:is(:link,:hover,:active,:visited,:not(:link)) {
	background: none;
	color: #000;
	font-weight: 700;
	font-size: 1.11111em;
}
.widget-area .widget .menu:where(#menu-anziani,#menu-disabili,#menu-famiglie,#menu-welfare) >li>a {
	background-color: var(--col-evidenza, #666);
}
.widget-area .widget .menu:where(#menu-anziani) >li>a {
	color: #fff;
}
.widget-area .widget :where(#menu-anziani,#menu-disabili,#menu-famiglie,#menu-welfare) >li>.sub-menu {
	margin-left: 0;
}
:where(#menu-anziani,#menu-disabili,#menu-famiglie,#menu-welfare) .sub-menu >li+li {
	border-top: 1px solid #0005;
}
:where(#menu-anziani) {
	--col-evidenza: var(--col-anziani);
}
:where(#menu-famiglie) {
	--col-evidenza: var(--col-famiglie);
}
:where(#menu-disabili) {
	--col-evidenza: var(--col-disabili);
}
:where(#menu-welfare) {
	--col-evidenza: var(--col-welfare);
}


.widget_nav_menu li>a:is([href="#0"],[href="#"],[href=""],:not(:link)):is(:hover,:focus,:active) {
	cursor: default;
	text-decoration: none;
}




ul.pagination {
	max-width: none;
}



.dati-ufficio {
	font-size: 0.9em;

	padding: 1em;
	background: #eff6ff;
	margin: 2em 1em;
}
.dati-ufficio h4 {
	margin-top: 0;
	font-size: 1.2em;
}
.dati-ufficio dl {
	margin: 0.5em 0;
}
.dati-ufficio dt {
	margin-right: 0.5em;
}
.dati-ufficio dt, .dati-ufficio dd {
	display: inline;
}
.dati-ufficio dd:after { content:''; display:block; }
.dati-ufficio .nl {
	display: block;
}



article > .entry-footer {
	padding-top: 2em;
}

.entry-footer > .date-modified {
	padding: .25em .6em;
	background: #eee;
	border-radius: 4px;
	color: #666;
	font-size: .95em;
}


/* A11y fixes */

a,
.btn,
.site-main a.btn {
	text-decoration: underline;
}

a:hover,
a:focus {
	text-decoration-line: underline;
}

a:hover,
a:focus,
.btn:hover,
.btn:focus {
	text-decoration-thickness: 2px!important;
}

.leaflet-control.leaflet-control-attribution a {
	text-decoration: underline;
}


:focus, a:focus {
	outline-color: #ff8c00;
	outline-width: 4px;
	outline-style: solid;
}

[tabindex="0"]:focus {
	outline-width: 1px;
	outline-style: solid;
}

.form-control:focus,
.head-search input:focus[type=text] {
	outline-width: 2px;
	outline-color: #ff8c00;
	outline-style: solid;
}

.dropdown-menu > .active > a:focus,
a.nav-link.dropdown-toggle:focus {
	outline: 5px solid #ff8c00;
}
