@font-face {
 font-family:'Ubuntu';
 src:local('Ubuntu Regular'), local('Ubuntu-Regular'), url('/fonts/Ubuntu-Regular.ttf');
}
@font-face {
 font-family:'UbuntuBold';
 src:local('Ubuntu Bold'), local('Ubuntu-Bold'), url('/fonts/Ubuntu-Bold.ttf');
 font-weight:bold;
}

:root {
 --ambiente-watergreen:#05A39B;
 --ambiente-darkgreen:#003733; /*custom*/
 --ambiente-bongreen-bg:#00BE9B;
 --ambiente-bongreen-fg:#000F28;
 --ambiente-wongreen-bg:#006159;
 --ambiente-wongreen-fg:#FFF;

 --ambiente-link:var(--ambiente-wongreen-bg);

 --magis-blue:#1D4289;
 --magis-grey:#DAD9D6;
 --magis-lightred:#C8102E;
 --magis-black:#000;
 --magis-white:#FFF;
 --magis-darkblue:#11346B;
 --magis-lightgrey:#EDEDED;
 --magis-darkred:#A5132F;
 --width-mobile:95%;
 --width-smalldesktop:980px;
 --width-desktop:1180px;
 --text-font-size:18px;
}

html, body { margin:0; padding:0; color:var(--magis-black); background-color:var(--magis-white); font-family:Ubuntu, Arial, sans-serif; font-size:15px; }
article { font-size:var(--text-font-size); }
a { color:var(--ambiente-link); text-decoration:underline; }
.withmenu article, .withoutmenu article { max-width:95%; margin:0 auto -1px auto; padding:2rem 0; }
.fullscreen article { width:100%; margin:0; padding:0; }
h1, h2, h3, h4, h5, h6, strong, dt, th { font-family:UbuntuBold, Arial, sans-serif; }
h1 { margin:0 0 1rem 0; padding:0; font-size:2.2rem; }
h2 { font-size:1.8rem; }
h3 { font-size:1.5rem; }
h4 { font-size:1rem; }
h5 { font-size:0.8rem; }
h6 { font-size:0.7rem; }
p { margin:0.5rem 0; }
dl { margin:1rem 0; padding:0; }
dt { margin:0 0 0.5rem 0; padding:0; }
dd { margin:0.5rem 0 1.5rem 2rem; padding:0; }
img { display:block; margin:0; padding:0; max-width:100%; }
figure { display:block; margin:0; padding:0; max-width:100%; }
figcaption { margin:1rem 0; }
address { font-style:normal; }
abbr { text-decoration:none; cursor:help; }
fieldset { margin:2rem 0; }
legend { font-weight:bold; font-size:1.5rem; }
fieldset.input { display:block; margin:0 0 0.6rem 0; padding:0; border:none; }
fieldset.input legend { display:block; margin:0 0 0.2rem 0; padding:0; font-size:var(--text-font-size); }
.form-control { margin:0 0 1rem 0; }
input, select, option, optgroup, textarea, button { font-size:var(--text-font-size); }
.input-input input[type=text], .input-input input[type=password], .input-input input[type=email], .input-input textarea  { width:95%; }
.subform h3 { margin:1em 0 0.5rem 0; font-size:1.5rem; }
.subform h3:first-of-type { margin-top:0; }
h3.input-label { margin:0 0 0.2rem 0; font-size:var(--text-font-size); }
.alert-danger, .errore, .error { color:red; }
.hidden { display:none !important; }
table { margin:1rem 0; paddig:0; border-spacing:0; border-collapse:collapse; border:2px solid var(--magis-black); }
th, td { padding:0.5em; border:1px solid var(--magis-black); text-align:left; }
thead th { text-align:center; }
table .number { text-align:right; }
.single-row { display:flex; gap:1rem; }
.cols2 { columns:2; }
.form-standard-onecolumn { max-width:40rem; }

header.withAdminBar { padding-top:2.5rem; }
header, header > div, header nav { position:relative; color:var(--ambiente-wongreen-fg); background-color:var(--ambiente-wongreen-bg); }
header nav a { color:var(--ambiente-wongreen-fg); text-decoration:none; }
header nav a:hover { background-color:var(--magis-black); text-decoration:none; }
#navigation-menu { margin:0; padding:0; }
#navigation-menu li { display:block; margin:0; list-style-type:none; }
#navigation-menu > li > ul {  }
#navigation-menu li li.selected a { color:var(--ambiente-wongreen-bg); font-weight:bold; }
header > div, .withmenu, footer nav, footer address { margin:0 auto; padding:0; }
header > div img { position:relative; z-index:3; }
#navigation-path { margin:0; padding:0; background-color:var(--ambiente-darkgreen); height:4rem; line-height:2rem; }
#navigation-path ul { display:flex; margin:0 auto; padding:0; }
#navigation-path li { display:block; margin:0; padding:1rem 0.5rem 1rem 0; }
#navigation-path li:before { content:">"; padding-right:0.5rem; }
#navigation-path li:first-child:before { content:""; padding-right:0; }
#page-banner { display:block; width:100%; }
.fullscreen .blockcontent, .fullscreen .blocktitle h2, .area { width:95%; margin-left:auto; margin-right:auto; }
.withmenu aside { padding:2rem 0; }
.withmenu aside ul { display:block; margin:0; padding:0; }
.withmenu aside ul ul { display:block; margin:0 0 0 1rem; padding:0; }
.withmenu aside li { display:block; margin:0; padding:0; }
.withmenu aside li a { display:block; padding:1em; background-color:var(--magis-lightgrey); border:1px solid var(--magis-grey); text-decoration:none; }
.withmenu aside li a:hover { background-color:var(--magis-white); }
.withmenu aside li.selected { font-weight:bold; }
footer { position:relative; margin:0; padding:0; color:var(--ambiente-wongreen-fg); background-color:var(--ambiente-wongreen-bg); font-size:var(--text-font-size); }
footer a { color:var(--ambiente-wongreen-fg); }
footer img { display:block; width:14rem; }
footer #footer-agsmaim { margin:0; padding:1rem; color:var(--magis-black); background-color:var(--magis-white); }
#footer-agsmaim span, img { display:block; }
#footer-agsmaim span { margin-bottom:0.2rem; }
footer > nav { width:100%; background-color:var(--magis-black); color:var(--magis-white); }
footer > nav a { color:var(--magis-white); }
footer > nav ul { display:block; margin:1rem auto 0 auto; padding:1rem 0; text-align:center; }
footer > nav ul li { display:inline-block; margin:0; padding:0.5rem 0; }
footer > nav ul li a { display:inline-block; padding:0.5rem 1rem; }
footer > div > nav ul { display:block; margin:0; padding:0; }
footer > div > nav li { display:block; margin:0; padding:0; }
footer > div > nav a { display:block; padding:0.5rem 1rem; text-transform:uppercase; }
footer > div > address dl { display:block; margin:0; padding:0; }
footer > div > address dt { display:block; float:left; margin:0; padding:0 0.5rem 0 0; }
footer > div > address dd { display:block; margin:1rem 0; padding:0; }
#zoom { display:flex; justify-content:center; align-items:center; position:fixed; left:0; right:0; top:0; bottom:0; margin:0; padding:0; background-color:rgba(0,0,0,1); }
#zoom img { max-width:100%; max-height:100%; border:none; }
#zoom.hidden { display:none; }

.news-list { display:flex; margin:0; padding:0; gap:2rem; flex-wrap:wrap; }
.news-list li { display:block; margin:0; padding:0; }

.form-field h3 { margin:0; line-height:1.5rem; height:1.5rem; font-size:1.5rem; }

@media screen {
 .sr-only { display:none; }
}

@media screen and (max-width:575px) {
}

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

@media screen and (max-width:767px) {
  .withmenu aside { margin:0.5rem; }
  .news-list li { width:100%; }
}

@media screen and (min-width:768px) {
 .withmenu { display:flex; gap:2rem; flex-direction:row-reverse; }
 .withmenu article { width:75%; width:calc(75% - 2rem); }
 .withmenu aside { width:25%; }
 .news-list li { width:45%; width:calc(50% - 1rem); }
}

@media screen and (max-width:991px) {
 header > div { padding:0.5rem 0; width:60%; margin:0 auto 0 1rem; z-index:1; }
 header > div img { width:13rem; }
 #navigation-menu-container { z-index:2; }
 #navigation-menu-handler { position:absolute; right:0.5rem; top:-4rem; display:block; width:3.8em; height:3.8em; padding:0; background:var(--magis-white); color:var(--magis-black); border:none; }
 #navigation-menu-handler img { display:block; width:100%; height:100%; }
 #navigation-menu { position:absolute; z-index:2; background-color:var(--ambiente-watergreen); left:0; right:0; top:0; line-height:4em; }
 #navigation-menu li { margin:0; padding:0; border-top:1px solid var(--ambiente-darkgreen); list-style-type:none; }
 #navigation-menu li a { display:block; padding:0 1em; }
 #navigation-path ul { padding:0; width:var(--width-mobile); }
 article { width:var(--width-mobile); }
 footer > div, footer > nav > ul { width:var(--width-mobile); margin-left:auto; margin-right:auto; padding:1rem 0 0 0; }
}

@media screen and (min-width:992px) {
 header { position:relative; padding:1rem 0 0 0; margin:0 auto; }
 header > div { width:var(--width-smalldesktop); }
 header > div img { display:block; width:14rem; }
 header #navigation-menu-container { margin-top:-4rem; padding:0 0 0 9rem; }
 #navigation-menu-handler { display:none; }
 #navigation-menu { position:relative; display:flex; gap:0; justify-content: flex-end; margin:0 auto; text-transform:uppercase; font-weight:bold; }
 #navigation-menu li { padding:0; }
 #navigation-menu li a { display:block; padding:1rem 1rem; }
 #navigation-menu > li { line-height:3rem; }
 #navigation-menu > li.selected { background-color:var(--ambiente-darkgreen); }
 .form-flex { display:flex; gap:1rem; }
 #navigation-path ul, .withmenu, .withoutmenu article { width:var(--width-smalldesktop); }
 #pagePicture { display:block; max-width:50%; float:right; padding:0 0 1rem 1rem; }
 footer > div, footer > nav > ul { width:var(--width-smalldesktop); margin-left:auto; margin-right:auto; }
 footer > div { display:grid; grid-template-columns:16rem auto 16rem; grid-template-areas:"agsmaimambiente nav agsmaim" "address address address"; justify-items:start; align-items:stretch; gap:0; }
 footer #footer-ambiente { grid-area:agsmaimambiente; width:14rem; margin-bottom:2rem; padding:2rem 1rem 0 0; }
 footer #footer-agsmaim { grid-area:agsmaim; justify-self:end; width:14rem; margin-bottom:2rem; padding:2rem 1rem 1rem 1rem; }
 footer > div > nav { grid-area:nav; width:100%; margin-bottom:2rem; padding:2rem 0 0 0; }
 footer > div > address { grid-area:address; width:100%; padding:1rem 0; border-top:1px solid var(--magis-white); }
}

@media screen and (min-width:1200px) {
 header > div { width:var(--width-desktop); }
 header #navigation-menu-container { padding-left:20rem; }
 #navigation-menu { font-size:16px; }
 #navigation-menu > li > ul { left:-10rem; }
 #navigation-path ul, .withmenu, .withoutmenu article  { width:var(--width-desktop); }
 footer > div, footer > nav > ul { width:var(--width-desktop); }
}

@media screen and (min-width:1400px) {
 #navigation-menu > li > ul { left:-8rem; }
 .news-list li { width:30%; width:calc(32% - 1rem); }
}

@media print {
 .sr-only { display:none; }
 header { display:none; }
 footer { display:none; }
}

/* Blocks */
.block { padding:1.5rem 0; }
.blocktitle { padding:1.5rem 0 0 0; }
.block img { display:block; }
.block > h2:first-child, .block > h3:first-child, .blocktext > h2:first-child, .blocktext > h3:first-child, .blocktitle h2, .blockcontent > h2:first-child, .blockcontent > h3:first-child { margin-top:0; }
.block-standardgray { background-color:var(--magis-lightgrey); }
.block-standardgreen { background-color:var(--ambiente-bongreen-bg); }
figure.blockimage { margin:0; padding:0; }
figure.blockimage figcaption { margin:0; padding:1em 0 0 0; text-align:center; }
.blocktr .blockimage img, .blocktl .blockimage img, .blockimages .blockimage img, .block4images .blockimage img { display:block; width:100%; }
.blocktu .blockimage img, .blocktd .blockimage img { display:block; max-width:100%; }
.blocktext h2:first-child { margin-top:0; }
.block-video iframe { width:100%; height:100%; aspect-ratio:16/9; }
#page-files dt, .block-documents dt { display:block; margin:0 0 1rem 0; padding:0; }
#page-files dd, .block-documents dd { display:block; margin:-1rem 0 1rem 4rem; padding:0;}
#page-files dt a, .block-documents dt a { display:flex; gap:1rem; align-items:center; }
#page-files dt img, .block-documents dt img { display:block; height:2rem; }
#page-files dt span, .block-documents dt span { display:block; }
.blockicon img { display:block; height:4rem; }
figure.blockimage, .blockimage figure { margin:0; padding:0; }
figure.blockimage img, .blockimage figure img { display:block; max-width:100%; margin:0; padding:0; }
.blockimgtext figure.blockimage img, .blockimage figure img { margin:0 auto; }
.blockimgtext .blocktext { text-align:center; }
.blockimgtext .blockicon img { margin:0 auto; }
.blockimgtext .blockcta { margin:1em 0 0 0; line-height:3em; font-size:0.8rem; text-align:center; }
.blockimgtext .blockcta a { border:1px solid var(--ambiente-watergreen); background-color:var(--magis-lightgrey); text-transform:uppercase; padding:1.25em; font-weight:bold; }
.blockimgtext .blockcta a:hover { background-color:var(--magis-white); }
.blockicontext .subblocks { text-align:center; }
.blockicontext .subblocks img { max-height:10rem; margin:0 auto; }
ul.subblocks { display:block; margin:0; padding:0; }
.subblocks > li { display:block; margin:0; padding:0; }
.fullscreen .block-iconeutilita .blockcontent { width:100%; margin-left:0; margin-right:0;  }
.block-with-subblocks.block-iconeutilita .subblocks.grid { display:flex; gap:1rem; flex-wrap:wrap; justify-content:center; align-items:stretch; padding:0 1rem; }
.block-with-subblocks.block-iconeutilita .subblocks.grid img { height:5rem; }
.block-with-subblocks.block-iconeutilita li { width:10rem; padding:0.5rem; border:1px solid var(--ambiente-watergreen); border-radius:8px; }
.block-with-subblocks.block-iconeutilita li:hover { border-color:#2b750c; transition:border .4s; }
.block-with-subblocks.block-iconeutilita figcaption { margin:0; }
.block-with-subblocks.block-iconeutilita h3 { margin-bottom:0; font-size:1rem; }
.children-list { display:block; margin:0; padding:0; }
.children-list li { display:block; margin:0; padding:0.5rem 0; }
.children-list li h3 { margin:0; padding:0; font-size:1rem; }
.banner-container { padding:1rem 0; }
.banner figure figcaption { display:block; padding:0 1rem; }
.blockpagefiles li { list-style-type:none; margin:0.5em 0; }
.blockpagefiles li a { padding-left:32px; background:left center url('/images/icons/md40/file/file_download.svg') no-repeat; }
.blockservices.block-with-subblocks .subblocks { flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:1rem; }
.blockservice { width:100%; }
.blockservice h2 { color:var(--ambiente-wongreen-fg); background-color:var(--ambiente-wongreen-bg); border-radius:5px; display:flex; padding:0.5rem 1em; gap:2em; align-items:center; }
.blockservice h2 a { color:var(--ambiente-wongreen-fg); }
.blockservice h2 img { height:2em; }
.blockservice ul { display:block; margin:1em 0; padding:0; }
.blockservice li { display:block; margin:0.5em 0; padding:0 0 0 32px; background:left center url('/images/icons/md40/navigation/arrow_forward.svg') no-repeat; font-weight:bold; }

@media only screen and (min-width:768px) {
  .block { padding:3rem 0; }
  .blocktitle { padding:3rem 0 0 0; margin-bottom:-3rem; }
  .block-with-subblocks .subblocks { display:flex; gap:6%; justify-content:space-around; align-items:center; flex-wrap:wrap; }
  .block-with-subblocks .subblocks.grid { display:grid; grid-template-columns:repeat(2, 1fr); }
  .block-with-subblocks .subblocks.grid.grid-3-cols { grid-template-columns:repeat(3, 1fr); }
  .blockicontext .subblocks { align-items:flex-start; }
}

@media only screen and (min-width:992px) {
  .fullscreen .blockcontent, .fullscreen .blocktitle h2, .area { width:980px; margin-left:auto; margin-right:auto; }
  .blockcols .blockcontent { display:flex; gap:3rem; }
  .blocktr { flex-direction:row-reverse; }
  .blocktl { flex-direction:row; }
  .blocktu { display:flex; flex-direction:column; }
  .blocktd { display:flex; flex-direction:column-reverse; }
  .blocktr .blocktext, .blocktl .blocktext, .blockcols .blocktext { width:50%; }
  .blocktr .blockimage, .blocktl .blockimage, .blockimages .blockimage { width:50%; }
  .blockservice { width:45%; width:calc(50% - 2.1em); }
  .banner { width:100%; }
  .banner figure { display:flex; align-items:center; gap:2rem; margin-left:auto; margin-right:auto; }
  .fullscreen .banner figure { width:980px; }

  .banner figure img { display:block; max-width:280px; }
  .banner figure figcaption h2 { margin:0 0 0.5rem; font-size:2.5rem; }
  .banner figure figcaption p { margin:0; font-size:1.5rem; }
}

@media screen and (min-width:1200px) {
  .fullscreen .blockcontent, .fullscreen .blocktitle h2, .area { width:1180px; }
  .fullscreen .banner figure { width:1180px; }
}

@media screen and (min-width:1800px) {
  .block-with-subblocks.block-iconeutilita .subblocks.grid { grid-template-columns:repeat(9, 1fr); }
  .blockservice { width:22%; width:calc(25% - 2.1em); }
}

/* Home */
#home-icons { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:2rem; margin:2rem 0; padding:0; }
#home-icons li { display:flex; flex-direction:column; width:90%; width:calc(99% - 3rem); margin:0; padding:1rem; border:1px solid var(--ambiente-watergreen); border-radius:5px; font-size:1.2rem; text-align:center; }
#home-icons li img { display:block; height:4rem; margin:0 auto 1rem auto; padding:0; }
#home-icons li span { display:block; margin:1rem auto; padding:0; }

@media only screen and (min-width:992px) {
  #home-icons {  flex-direction:row;  align-items:stretch; }
  #home-icons li { width:20%; width:calc(24% - 3rem); }
}

/* Popup */
.popup { position:fixed; top:0; bottom:0; right:0; left:0; width:100%; z-index:9998; line-height:normal; background-color:transparent; border:none; }
.popup h2 { font-size:26px; }
.popup h4 { font-size:1.2rem; }
.popup-bg { position:fixed; top:0; bottom:0; right:0; left:0; background-color:rgba(0, 0, 0, 0.5); z-index:9998; }
.popup-container { background-color:#fff; padding:2rem; position:relative; top:4rem; left:0; right:0; bottom:0; margin:auto; width:80%; max-height:510px; max-width:600px; z-index:9999; overflow:auto; }
#popup-close { border:none; color:var(--magis-black); background-color:var(--magis-white); }
#popup-buttons { line-height:1.3rem; margin:0.8rem 0; }
#popup-buttons button { display:inline-block; padding:0.6rem; background-color:var(--ambiente-wongreen-bg); color:var(--ambiente-wongreen-fg); text-transform:uppercase; font-size:15px; text-align:center; border:1px solid var(--ambiente-darkgreen); transition:color .3s, background-color .3s; border-radius:5px; margin-right:0.6rem; height:auto; }
#popup-buttons button:hover { text-decoration:none; background-color:var(--ambiente-wongreen-fg); color:var(--ambiente-wongreen-bg); transition:color .3s, background-color .3s; }

@media only screen and (max-width:749px) {
  .popup-container { max-height:80%; }
  #popup-buttons button { display:block; margin-bottom:1rem; width:100%; }
}

#popup-magis { padding-top:2rem; padding-bottom:2rem; }
#popup-magis h2, #popup-magis h4, #popup-magis p { font-weight:normal; font-size:1rem; line-height:1.4rem; text-align:center; }
#popup-magis h2 { margin:0 auto; color:#555; }
#popup-magis h4, #popup-magis p { margin:0.5em auto; color:#1D4289; }
#popup-magis h2 #popup-magis-agsmaim { display:inline-block; width:inherit; height:1.6em }
#popup-magis h2 #popup-magis-magis { display:block; height:6rem; margin:0 auto 0 0; }
#popup-magis a { display:inline-block; padding:0.7rem 2.5rem 0.7rem 1.15rem; color:#FFF; background-color:#DB052C; border:1px solid #DB052C; transition:color .3s; font-size:1rem; line-height:1.5rem; position:relative; background-image:url('/img/svg/freccia-bottoni-bianca.svg'); background-size:auto 1rem; background-repeat:no-repeat; background-position:calc(100% - 1rem) center; }
#popup-magis a:hover { color:#DB052C; background-color:#FFF; background-image:url('/img/svg/freccia-bottoni.svg'); }

@media only screen and (min-width:1260px) {
    #popup-magis h2, #popup-magis h4, #popup-magis p { font-size:1.2rem; line-height:1.6rem; }
}

/* Amministrazione */
#adminBar { display:flex; margin:0; padding:0 1rem; position:absolute; top:0; left:0; right:0; height:2rem; gap:1rem; background-color:var(--magis-white); border:2px solid var(--magis-lightred); justify-content:space-between; align-items:center; }
#adminBar h4 { margin:0; padding:0; }
#adminBar ul { display:flex; margin:0; padding:0; gap:1rem; justify-content:space-around; align-items:center;  }
#adminBar li { display:block; margin:0; padding:0; }
#adminBar a { color:var(--magis-blue); }
