:root {
	--cassiopeia-color-hover: #008044;
	--bs-primary: #008E4B;
	--bs-primary-rgb: 0, 142, 75;
	--bs-secondary: #004995;
	--bs-secondary-rgb: 0, 73, 149;
	--bs-tertiary: #A7D5BF;
	--bs-tertiary-rgb: 167, 213, 191;
	--bs-link-color: #008044;
	--bs-link-hover-color: #008044;
	--bs-body-bg: #fff;
	--bs-body-color: #000;
	--bs-primary-bg-subtle: #E3F3EC;
	--bs-secondary-bg-subtle: #EBF5FF;
	--bs-border-color: #008E4B;
	--bs-border-width: 1px;
	--bs-border-style: solid;
	--cassiopeia-font-weight-headings: 500;	
}

/* MY CUSTOM */
@media (min-width: 992px) {
	.pe-lg-component {
		padding-right: 6% !important;
	}
}
.dropdown-item.active, .dropdown-item:active {
	background-color: var(--bs-tertiary);
	color: #000;
	text-decoration: none;
}
#formio input {
	border: 1px solid var(--body-color) !important;
}
.text-secondary {
	color: var(--bs-secondary) !important;
}
.pb-6 {
	padding-bottom: 4rem !important;
}
.mh-5 {
    min-height: 5rem; 
}

a.text-white:not(.btn):focus, a.text-white:not(.btn):hover {
	color: #fff !important;
}
a.txt-black:not(.btn):focus, a.txt-black:not(.btn):hover {
	color: #000 !important;
}
.btn {
	border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
	border-radius: var(--bs-btn-border-radius);
	background-color: var(--bs-btn-bg);
	transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
/*
.btn:hover {
	color: var(--bs-btn-hover-color);
	background-color: var(--bs-btn-hover-bg);
	border-color: var(--bs-btn-hover-border-color);
}
*/
.slimcard-border-verde {
	border-bottom: 5px solid var(--bs-primary);
}
.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
	background-color: var(--bs-tertiary);
	color: var(--nav-pills-link-active-color);
}
.bottom-unset {
  bottom: unset!important;
}
.border-end {
	border-right: 2px var(--bs-border-style) var(--bs-border-color) !important;
}
.border-top {
	border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}
.border-bottom {
	border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}
.right-2 {
  right: 2rem!important;
}
.bg-none {
  background: none!important;
}
.bg-primary-subtle {
	background-color: var(--bs-primary-bg-subtle) !important;
}
.bg-primary-subtle-partial {
    background: linear-gradient(to bottom, var(--bs-primary-bg-subtle) 25%, transparent 20%);
    margin: 0;
}
.bg-secondary {
	--bs-bg-opacity: 1;
	background-color: rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity)) !important;
}
.bg-secondary-subtle {
	background-color: var(--bs-secondary-bg-subtle) !important;
}
.negative-margin {
  margin-top: -120px;
}
.stretched-link:hover::after .card-body {
	background-color: var(--bs-tertiary);
}
@supports (display:grid) {
  .site-grid {
    grid-gap:0 1em;
    display:grid;
    grid-template-areas:". banner banner banner banner ." ". top-a top-a top-a top-a ." ". news-l news-l news-l news-r ." ". serv-l serv-l serv-l serv-r ." ". short-l short-l short-l short-r ." ". app app app app ." ". top-b top-b top-b top-b ." ". comp comp comp comp ." ". side-r side-r side-r side-r ." ". side-l side-l side-l side-l ." ". bot-a bot-a bot-a bot-a ." ". bot-b bot-b bot-b bot-b .";
    grid-template-columns:[full-start] minmax(0,1fr) [main-start] repeat(4,minmax(0,19.875rem)) [main-end] minmax(0,1fr) [full-end]
  }
  .site-grid>[class*=" container-"],
  .site-grid>[class^=container-] {
    -webkit-column-gap:1em;
    -moz-column-gap:1em;
    column-gap:1em;
    max-width:none;
    width:100%
  }
  .site-grid>.full-width {
    grid-column:full-start/full-end
  }
  @media (min-width:992px) {
    .site-grid {
      grid-template-areas:". banner banner banner banner ." ". top-a top-a top-a top-a ." ". news-l news-l news-l news-r ." ". serv-l serv-l serv-l serv-r ." ". short-l short-l short-l short-r ." ". app app app app ." ". top-b top-b top-b top-b ." ". side-l comp comp side-r ." ". bot-a bot-a bot-a bot-a ." ". bot-b bot-b bot-b bot-b ."
    }
  }
}
.container-amiu-left {
  grid-area:amiu-l
}
.container-amiu-right {
  grid-area:amiu-r
}
/* PAGINAZIONE */ 

/* contenitore generale */
.com-content-category__navigation {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: .5rem;
  margin-top: 2rem;
}

/* counter */
.com-content-category__counter {
  float: none !important;
  margin: 0;
  padding: 0 !important;
}

/* paginazione */
.com-content-category__pagination {
  width: 100%;
  display: flex;
  justify-content: center;
}

/* ul bootstrap */
.com-content-category__navigation .pagination {
  flex-wrap: wrap;
  justify-content: center;
  gap: .25rem;
  margin-bottom: 0 !important;
}




.active > .page-link, .page-link.active {
	background-color: var(--bs-tertiary);
	border-color: var(--bs-tertiary);
	color: #000;
	z-index: 3;
}

/* HEADER */
.container-header {
	display: grid;
	justify-content: center;
	background-color: #fff;
	background-image: none;
	-webkit-box-shadow: inset 0 5px 5px rgba(0,0,0,.03);
	box-shadow: inset 0 5px 5px rgba(0,0,0,.03);
	position: relative;
	z-index: 10;
}
.container-header .brand-logo img {
	width: 11rem; 
}

.card-fixed {
    min-height: 28rem; /* Imposta l'altezza del titolo su 2 righe */
}

#carouselServizi .card:hover {
	background-color: var(--bs-tertiary);
}

/* MY CUSTOM */

a {
	color: var(--bs-link-color);
	text-decoration: none;
	font-weight: bold;
}

a:hover,
a:active,
a:focus-visible,
a:focus {
	text-decoration: underline;
	color: var(--bs-link-hover-color);
}

.bg-tertiary {
	background-color: var(--bs-tertiary);
}

a:hover .card-header,
a:hover .card-footer,
a:hover .card-body {
	background-color: var(--bs-tertiary) !important;
}
.card {
	border: none;
}

/* Card hover no text underline */
a.txt-black {
	color: #000;
	text-decoration: none;
}

a.txt-black .card-text {
	text-decoration: none !important;
}

a.txt-black:hover .card-title {
	text-decoration: underline;
}

a:focus-visible{ 
	outline: 3px solid #004995; 
	box-shadow: 0 0 0 4px #fff;
}
button:focus-visible { 
	outline: 3px solid #004995; 
	box-shadow: 0 0 0 4px #fff;
}
.form-control:focus, .form-control:focus-visible { 
	outline: 3px solid #004995; 
	box-shadow: 0 0 0 4px #fff;
}
.nav-link:focus-visible { 
	outline: 3px solid #004995; 
	box-shadow: 0 0 0 4px #fff;
}
a.text-black:focus-visible { 
	outline: 3px solid #004995; 
	box-shadow: 0 0 0 4px #fff; 
	display: block
}

/* FIne Card hover no text underline */
.slimcard-border-verde {
	border-bottom: 5px solid var(--bs-primary);
}

.slimcard-border-azzurro {
	border-bottom: 5px solid var(--bs-secondary);
}

.overlay-black {
	background: rgba(0, 0, 0, 0.413);
	z-index: 1;
}


.nrf-widget.tf-slideshow-wrapper .swiper-button-next, 
.nrf-widget.tf-slideshow-wrapper .swiper-button-prev {
	position: unset !important;
	width: unset !important;
	border: unset !important;
	background-color: unset !important;
}

.swiper-button-next svg, .swiper-button-prev svg {
	width: 30px !important;
	height: 30px !important;
}

/* BREAKPOINTS con dimensioni */
.negative-mt {
	margin-top: -60px !important;
}
	
/* LG breakpoint */
@media (max-width: 1025px) {

	/* CUSTOM WIDTHS */
	.w-lg-25 {
		width: 25% !important;
	}

	.w-lg-50 {
		width: 50% !important;
	}

	.w-lg-75 {
		width: 75% !important;
	}

	.w-lg-100 {
		width: 100% !important;
	}
	.negative-mt-lg {
		margin-top: -30px !important;
	}
}

/* MD breakpoint*/
@media (max-width: 768px) {

	/* CUSTOM WIDTHS */
	.w-md-25 {
		width: 25% !important;
	}

	.w-md-50 {
		width: 50% !important;
	}

	.w-md-75 {
		width: 75% !important;
	}

	.w-md-100 {
		width: 100% !important;
	}
	.negative-mt-md {
		margin-top: 1rem !important;
	}
}

/* SM breakpoint */
@media (max-width: 576px) {

	/* CUSTOM WIDTHS */
	.w-sm-25 {
		width: 25% !important;
	}

	.w-sm-50 {
		width: 50% !important;
	}

	.w-sm-75 {
		width: 75% !important;
	}

	.w-sm-100 {
		width: 100% !important;
	}
	.negative-mt-sm {
		margin-top: 1rem !important;
	}
	
}


/*bottoni*/
.btn:focus-visible,
.btn:focus {
	outline: medium solid var(--bs-secondary) !important
}

.btn-primary {
	color: #000 !important; /*accessibilità*/
	font-weight: bold;
	--bs-btn-color: #000;
	--bs-btn-bg: var(--bs-primary);
	--bs-btn-border-color: none;
	box-shadow: 2px 2px 5px -3px #000000;
	border-radius: 5px;
	--bs-btn-border-width: none;
	--bs-btn-hover-color: #000;
	--bs-btn-hover-bg: var(--bs-primary);
	--bs-btn-hover-border-color: none;
	--bs-btn-active-color: #000;
	--bs-btn-active-bg: var(--bs-primary);
	--bs-btn-active-border-color: none;
	--bs-btn-focus-shadow-rgb: 29, 41, 75;
	--bs-btn-active-shadow: none;
	--bs-btn-disabled-color: #fff;
	--bs-btn-disabled-bg: #6F7376;
	--bs-btn-disabled-border-color: #6F7376;

}

.btn-primary:hover,
.btn-primary:active,
.btn-primary:focus-visible {
	background-color: var(--bs-primary); /*accessibilità*/
	color: #000 !important; /*accessibilità*/
	text-decoration: underline;
	box-shadow: none;
}

.btn-secondary {
	color: #fff !important; /*accessibilità*/
	font-weight: bold;
	--bs-btn-color: #fff;
	--bs-btn-bg: var(--bs-secondary);
	--bs-btn-border-color: none;
	box-shadow: 2px 2px 5px -3px #000000;
	border-radius: 5px;
	--bs-btn-border-width: none;
	--bs-btn-hover-color: #fff;
	--bs-btn-hover-bg: var(--bs-secondary);
	--bs-btn-hover-border-color: none;
	--bs-btn-active-color: #fff;
	--bs-btn-active-bg: var(--bs-secondary);
	--bs-btn-active-border-color: none;
	--bs-btn-active-shadow: none;
	--bs-btn-focus-shadow-rgb: 29, 41, 75;
	--bs-btn-disabled-color: #fff;
	--bs-btn-disabled-bg: #6F7376;
	--bs-btn-disabled-border-color: #6F7376;
}

.btn-secondary:hover,
.btn-secondary:active,
.btn-secondary:focus-visible {
	background-color: var(--bs-secondary); /*accessibilità*/
	color: #fff !important; /*accessibilità*/	
	text-decoration: underline;
	box-shadow: none;
}

.btn-tertiary {
	font-weight: bold;
	--bs-btn-color: #000;
	--bs-btn-bg: var(--bs-tertiary);
	--bs-btn-border-color: none;
	box-shadow: 2px 2px 5px -3px #000000;
	border-radius: 5px;
	--bs-btn-border-width: none;
	--bs-btn-hover-color: #000;
	--bs-btn-hover-bg: var(--bs-tertiary);
	--bs-btn-hover-border-color: none;
	--bs-btn-active-color: #000;
	--bs-btn-active-bg: var(--bs-tertiary);
	--bs-btn-active-border-color: none;
	--bs-btn-focus-shadow-rgb: 29, 41, 75;
	--bs-btn-active-shadow: none;
	--bs-btn-disabled-color: #fff;
	--bs-btn-disabled-bg: #6F7376;
	--bs-btn-disabled-border-color: #6F7376;

}

.btn-tertiary:hover,
.btn-tertiary:active,
.btn-tertiary:focus-visible {
	text-decoration: underline;
	box-shadow: none;
}

/*Form*/
.form-control {
	border-radius: 0px;
	border-bottom: 3px solid var(--bs-quaternary);
	box-shadow: none;
	padding: 5px;
	background-color: #fff;
	border: #ffffff00 2px solid !important;
}

.form-control:hover,
.form-control:focus,
.form-control:focus-visible {
	background-color: #fff;
	box-shadow: 0 0 0 .15rem var(--bs-quaternary);
	border: var(--bs-primary) 2px solid !important;
}

.form-select {
	border-radius: 0px;
	border-bottom: 3px solid var(--bs-quaternary);
	box-shadow: none;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-right: 10px;
	padding-left: 10px;
	background-color: #fff;
	border: #ffffff00 2px solid !important;
}

.form-select:hover,
.form-select:focus,
.form-select:focus-visible {
	box-shadow: 0 0 0 .15rem var(--bs-quaternary);
	background-color: #fff;
	border: var(--bs-primary) 2px solid !important;
}

.form-check-input {
	background-color: #fff;
	border: 1px solid var(--bs-primary);
}

.form-check-input:checked {
	background-color: var(--bs-primary);
	border-color: var(--bs-primary);
}

/*fine Form*/

.negative-margin {
	margin-top: -120px;
}


/*grandezza menu laterale */
.w-6 {
	width: 6%;
}

/*grandezza offcanvas*/
.offcanvas,
.offcanvas-lg,
.offcanvas-md,
.offcanvas-sm,
.offcanvas-xl,
.offcanvas-xxl {
	--bs-offcanvas-width: 80%;
	--offcanvas-width: 80%;
}

@media (max-width: 768px) {

	.offcanvas,
	.offcanvas-lg,
	.offcanvas-md,
	.offcanvas-sm,
	.offcanvas-xl,
	.offcanvas-xxl {
		--bs-offcanvas-width: 100%;
		--offcanvas-width: 100%;
	}
}


.nav-side-menu {
	z-index: 1050 !important;
}


.z-index {
	z-index: 1049 !important;
}


button.carousel-control-prev:focus-visible,
button.carousel-control-next:focus-visible {
	outline: 2px solid var(--bs-secondary);
}


.btn-close {
	--bs-btn-close-bg: unset;
	--bs-btn-close-opacity: 1;
	--bs-btn-close-hover-opacity: 1;
}

/*img di sfondo in homepage N1*/
.background-image-container {
	background-image: url('/images/sampledata/AdobeStock_1052598681.jpeg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	width: 100%;
	height: 55vh;
}

/*img di sfondo in homepage N2*/
.background-image-container-app {
	background-image: url('/images/sampledata/AdobeStock_613525474.jpeg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	width: 100%;
	height: 55vh;
}

/*overlay bianco per img di sfondo della app Amiu*/
.overlay-white {
	background-color: rgba(255, 255, 255, 0.7);
	top: 0;
	left: 0;
}

/* carousel card responsive */
.carousel-container .row.d-flex.flex-nowrap {
  overflow-x: hidden;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}
.carousel-container .carousel-card {
  flex: 0 0 auto;
}
.carousel-inner img {
	max-width: unset!important;
}

.carousel-inner-card,
.carousel-inner-card-avvisi,
.carousel-inner-card-news,
.carousel-inner-card-comunicati {
	position: relative;
	width: 100%;
	overflow: hidden;
}

/*tab laterale*/
.nav-pills {
	--bs-nav-pills-link-active-bg: var(--bs-tertiary);
	--bs-nav-pills-link-active-color: #000;
}

/*accordion mobile*/
.accordion-button:focus {
	box-shadow: unset !important;
}

hr {
	color: var(--bs-primary);
	opacity: 1;
	margin: 0;
}

.border-tertiary {
	border-color: var(--bs-tertiary) !important;
	opacity: 1;
}

.card.border-tertiary:hover {
	background-color: var(--bs-tertiary) !important;
}


a.active .card {
	border: 3px solid var(--bs-primary);
	text-decoration: underline;
}

.cursor-pointer {
	cursor: pointer;
}

button.nav-link:hover {
	text-decoration: underline !important;
}

/* IMMAGINE HEADER */
.image-wrap {
    aspect-ratio: 1920 / 600;
    width: 100%;
    overflow: hidden;
}

.image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* CAROUSEL */
.next-carousel-control,
.prev-carousel-control {
	position: unset;
	display: unset;
	padding: 0;
	width: unset;
	border: unset;
	background-color: unset;
}
#carouselBannerIndicators .carousel-image-wrap {
    aspect-ratio: 1920 / 600;
    width: 100%;
    overflow: hidden;
}
#carouselBannerIndicators .carousel-image-wrap > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
#carouselBannerIndicators .carousel-control-next, #carouselBannerIndicators .carousel-control-prev {
	width: 5%;
}

/* tablet */
/*
@media (max-width: 991.98px) {
    #carouselBannerIndicators .carousel-image-wrap {
        aspect-ratio: 4 / 3;
    }
}
*/
/* mobile */
@media (max-width: 575.98px) {
    #carouselBannerIndicators .carousel-image-wrap {
        aspect-ratio: 1 / 1;
    }
}


