:root {
  --bs-primary: #013DCB;
  --bs-primary-rgb: 1, 61, 203;
  --bs-secondary: #FF6C0A;
  --bs-secondary-rgb: 255, 108, 10;
  --bs-tertiary: #E5EFF9;
  --bs-tertiary-rgb: 229, 239, 249;
  --bs-quaternary: #FCC39C;
  --bs-quaternary-rgb: 252, 195, 156;
  --bs-link-color: #014AF4;
  --bs-link-hover-color: #014AF4;
  --bs-body-color: #000;
  --offcanvas-ld-bg: #013DCB;
}

body
  {
   overflow-x:hidden;
  }

a {
  color: var(--bs-link-color);
  text-decoration: none;
  font-weight: bold;

  &:hover,
  &:active,
  &:focus-visible,
  &:focus {
    text-decoration: underline;
    color: var(--bs-link-hover-color);
  }
}


hr {
  border-bottom: 4px solid var(--bs-secondary) !important;
  border-top: unset;
  opacity: 1;
}

.border-bottom {
  border-bottom: 4px solid var(--bs-secondary) !important;
}

.border-top {
  border-top: 8px solid var(--bs-secondary) !important;
}


.bg-tertiary {
  background-color: var(--bs-tertiary);
}

.bg-quaternary {
  background-color: var(--bs-quaternary);
}

.h-100-px {
  height: 100px;
}

/*bottoni*/
.btn-primary {
  font-weight: bold;
  --bs-btn-color: #fff;
  --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: #fff;
  --bs-btn-hover-bg: var(--bs-primary);
  --bs-btn-hover-border-color: none;
  --bs-btn-active-color: #fff;
  --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;

  &:hover,
  &:active,
  &:focus-visible {
    text-decoration: underline;
    box-shadow: none;
  }
}

.btn-secondary {
  font-weight: bold;
  --bs-btn-color: #000;
  --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: #000;
  --bs-btn-hover-bg: var(--bs-secondary);
  --bs-btn-hover-border-color: none;
  --bs-btn-active-color: #000;
  --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: #000;
  --bs-btn-disabled-bg: #6F7376;
  --bs-btn-disabled-border-color: #6F7376;

  &:hover,
  &:active,
  &:focus-visible {
    text-decoration: underline;
    box-shadow: none;
  }

}


/*Form*/
.form-control {
  border-radius: 5px;
  border: 2px solid #aaa;
  box-shadow: 2px 2px 5px -3px #000000;
  padding: 5px;
  background-color: #fff;

  &:hover,
  &:focus,
  &: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: 5px;
 /* border: 2px solid #ffffff00;*/
  box-shadow: 2px 2px 5px -3px #000000;
  padding-top: 5px;
  padding-bottom: 5px;
  padding-right: 10px;
  padding-left: 10px;
  background-color: #fff;

  &:hover,
  &:focus,
  &: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*/



/*offcanvas*/
.offcanvas,
.offcanvas-lg,
.offcanvas-md,
.offcanvas-sm,
.offcanvas-xl,
.offcanvas-xxl {
  --bs-offcanvas-width: 700px;
}

.btn-close {
  --bs-btn-close-bg: none;
  --bs-btn-close-opacity: 1;
  --bs-btn-close-hover-opacity: 1;
  width: unset;
  height: unset;
}

.btn-close:hover {
  text-decoration: underline;
}

/*fine offcanvas*/

/*dropdown-checkbox*/
.dropdown-checkbox {
  position: relative;
}

.dropdown-checkbox-menu {
  display: none;
  position: absolute;
  background-color: white;
  border: 1px solid #ccc;
  z-index: 1;
  width: 100%;
}

.dropdown-checkbox-menu.show {
  display: block;
}

/*fine dropdown-checkbox*/




button.carousel-control-prev:focus,
button.carousel-control-prev:focus-visible,
button.carousel-control-next:focus,
button.carousel-control-next:focus-visible {
  outline: 2px solid var(--bs-secondary);
}

@media only screen and (max-width: 575.98px) {
  /* Il tuo CSS per schermi piccoli */
  .logo {
    width: 80%;
    height: auto;
  }
}




/********
 * MAIN *
 ********/
.h2, h2 
  {
    font-size: calc(1.325rem + .9vw);
  }
  

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 
  {
    margin-top: 0;
    margin-bottom: .5rem;
    font-weight: 500;
    line-height: 1.2;
    color: var(--bs-heading-color);
  }

h3, .h3
  {
   font-size:1rem;
  }



.itemHeader h1:after,
.page-header h1:after,
.content-category h1:after
  {
    content: "";
    margin-top: 0;
    margin-left: -1rem;
    margin-bottom:2rem;
    display: block;
    width:33% !important;
    height: .25rem;
    width: 100%;
    --tw-bg-opacity: 1;
    background-color: var(--bs-secondary);  
  }

  
.back-to-top-link
  {  
    background-color: var(--bs-secondary) !important;   
  }

.back-to-top-link:hover
  {  
    border:0px; 
    opacity:.7;
  }




/**********
 * HEADER *
 **********/
.container-header
  {
   color:#000;
   background-color:#fff;
   background-image:none;
  }
  
.scrollHeader,
.scrollHeader .justify-content-between
  {
   max-height:120px;
  }
  
.scrollHeader .navbar-brand img
  {
   height:100%;
   max-width: fit-content;
  }

/****************
 * MODULO CERCA *
 ****************/
.js-finder-search-query.form-control,
.js-finder-search-query.form-control:hover,
.btn-primary.searchButton
  {
   border:0 !important;   
  }
  
.btn-primary.searchButton:active,
.btn-primary.searchButton:focus
  {
    background-color: var(--bs-secondary) !important;     
    border:solid 2px #000 !important;   
  }
  
.icon-search:before
  {
   content:"";   
  }
  
.icon-search
  {
   background-image:url("/images/svg/Search.svg");       
   background-repeat:no-repeat;
   width: 40px;
   height: 40px;
  }
  
/*  
.mod-finder .content-box 
  {
    max-width:0;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.5s ease, opacity 0.5s ease, padding 0.5s ease;
  }

.mod-finder .content-box.show 
  {
    opacity: 1;
    max-width:100%;
    max-height:48px;
  } 
  
.cerca-header .content-box  
  {
    max-width:100%;  
  }
*/  

/**********************
 * COMPONENTE RICERCA *
 **********************/  
.com-finder__form .js-finder-search-query
  {
   width:100%;
  }


/*********************************
 * FORM SEGNALAZIONI E RICHIESTE *
 *********************************/
#frmSegnalazioniRichieste
  {
    background-color: var(--bs-tertiary);  
  }

#frmSegnalazioniRichieste label
  {
    font-weight:600;  
  }
  
#mainCaptcha 
  {
    width: 200px;
    padding:4px;
    background-color: red;
  }  
  
#cpatchaTextBox 
  {
    width: 200px;
    height: 32px;
  }  

#frmSegnalazioniRichieste input[type="checkbox"]:focus
  {
   border:solid 2px #000;
  }


/******************
 * MENU HAMBURGER *
 ******************/
.navbar-toggler-icon 
  {
    background-image:url( '/images/svg/Menu.svg' );
  }

.bgSite
  {
   background-color:#fff;
  }
  
.row.offcanvas-body 
  {
   color:#000;
   background-color:var(--offcanvas-ld-bg);
   padding:0;
  }

.offcanvas.offcanvas-end
  {
   right:0;
   width: 480px;
    -moz-box-sizing: border-box; 
    box-sizing: border-box;
   padding: 0 !important;
  }
 
.offcanvas
  {
   background-color:var(--offcanvas-ld-bg);
  }
  
.container-header .navbar-toggler
  {
   color:#000 !important;
  }
  
.container-header .navbar-toggler .MenuLabel
  {
   color:#000 !important;
   font-size:1rem !important;
   font-weight:bold;
  }
 
.container-header .offcanvas .mod-menu 
  {
   display:block;
   color:#fff;
  }
 
.container-header .offcanvas .bgSite .mod-menu
  {
   display:block;
   background-color:#fff;
   color:#000;
  }

.container-header .mod-menu > li + li
  {
   margin:0;
  }

.container-header .offcanvas .mod-menu a:hover
  {
   text-decoration: underline;
  }

.container-header .offcanvas .mod-menu .level-1.active.deeper.parent.dropdown ul
  {
   display:block;
  }

.offcanvas-header .btn-close 
  {
    background-image: url('/images/svg/chiudi.svg');
    width: 52px;
    height: 52px;
    opacity:1;
  }

.offcanvas-header .btn-close:hover,
.cerca-mobile .btn-primary:hover
  {
    text-decoration:none;
    opacity:.5;
  }

.cerca-mobile .btn-primary:hover
  {
    background-color: var(--bs-secondary);
  }  

.offcanvas .cerca-mobile
  {
    background-color: var(--offcanvas-ld-bg);
  }
  
.cerca-mobile input
  {
    height: 48px;
  }

.cerca-mobile button
  {
    background-color: var(--bs-secondary);
  }


/**********************************
 * NOTIZIE E AVVISI DIGI SHOWCASE *
 **********************************/ 
.showcase-item h2 a
  {
   color:#000;
   text-decoration:none;
  }
  
.showcase-item h2 a:hover
  {
   color:#000;
   text-decoration:underline;
  }

.showcase-item.slider-item-horizontal:focus
  {
   border:#000 solid 2px;
  }
  
.showcase-item.slider-item-horizontal .title,
.showcase-item.slider-item-horizontal p.text.text-left,
.showcase-item.slider-item-horizontal .readmore-wrapper,
.showcase-item.slider-item-horizontal .extra-info
  {
    background: white;
    margin: 0px !important;
    padding-left: 3rem;
    padding-right: 3rem;
    padding-bottom: 1rem;
    padding-top: 1rem;
    border-bottom: none!important;
  }
  
.showcase-item.slider-item-horizontal p.text.text-left,
.showcase-item.slider-item-horizontal .extra-info 
  {
    display: none;
  }

.showcase-item.slider-item-horizontal .title a 
  {
    font-size: 16px;
    text-align: left !important;
    color: #27428a !important;
    text-transform: lowercase;
  }
  
.showcase-item.slider-item-horizontal .readmore-wrapper a.readmore.btn.btn-primary 
  {
    background-color: #fff !important;
    color: #27428a !important;
    margin: 0px;
    padding: 0 !important;
    border: 0;
    text-transform: uppercase;
    font-weight: bold;
  }
  
.showcase-item.slider-item-horizontal .readmore-wrapper a.readmore.btn:after 
  {
    font-family: "Font Awesome 6 Free";
    content: "\f061";
    padding-left: 4px;
  }

.slick-prev:before 
  {
    font-family: "Font Awesome 6 Free" !important;
    content: "\f060"!important;
    font-size: 2rem !important;
    color: var(--blue) !important; 
    font-weight: 900;
  }
  
.slick-next:before 
  {
    font-family: "Font Awesome 6 Free" !important;
    content: "\f061" !important;
    font-size: 2rem !important;
    color: var(--blue) !important;  
    font-weight: 900;
  }
  
.slick-next 
  {
    width: 27px!important;
  } 
  
#digi_showcase_carousel .slick-slide .item-content 
  {
    position: relative;
  }
  
.boxinfo 
  {
    margin: 1rem;
    max-width: 15rem;
    height: 13rem;
    position: absolute;
    top: 2rem; 
    right: 2rem;
  }
  
#digi_showcase_carousel .slick-slide img 
  {
    min-height: 15rem; 
  }
    
#digi_showcase_carousel .slick-dots li
  {
   top:-80px;
  }  
  
#digi_showcase_carousel .slick-dots li button 
  {
    border: 0 !important;
  }

.slick-dots li button:before
  {
    font-family: arial !important;
    content: "_" !important;
    font-size: 3rem !important;
  }
 


/**************************
 * ULTIME NEWS ED ELENCHI *
 **************************/
.articoli-top .card_article,
.com-content-category__articles .card_article,
#search-result-list .card_article
  {
   background-color: var(--bs-tertiary);
  }

.articoli-top .card_article a
  {
   color: #000;
  }  
  
.pc_title_module
  {
    font-size:1.75rem;
    font-weight: 600;
    padding:0;
  }
  
.pc_k2_itemlist > ul 
  {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    list-style: none;
    padding: 0;
    margin: 0;
  }

.pc_k2_itemlist > ul > li 
  {
    background: var(--bs-quaternary);
    padding: 1rem;
    height: 100%; /* opzionale */
    display: block;
    align-items: start;
    justify-content: left;
    text-align: left;
  }  

.pc_k2_itemlist > ul > li strong
  {
   display: block;
   min-height:6rem;
   font-size:1.25rem;
   line-height:1.5rem;
  }
  
.pc_k2_itemlist > ul > li ul
  {
   margin:0;
   padding:0;
  }    
  
.pc_k2_itemlist > ul > li ul > li a
  {
    color: #000 !important;
    text-decoration:none;
  }  

.pc_k2_itemlist > ul > li ul > li a:hover
  {
    text-decoration:underline;
    opacity: .7;
  }    

.pc_k2_itemlist > ul > li ul > li .lbl-ext
  {    
    border: var(--border-width) var(--border-style) #000 !important;
    border-radius: var(--border-radius-pill) !important;
    color: #000 !important;
    background-color: var(--bs-secondary) !important;
    display: inline-block;
    color: #fff;
    padding: 4px 8px;
    min-width: 100px;
    text-align: center;
  }  
  
.pc_k2_itemlist > ul > li ul > li .lbl-ext::before
  {    
    font-family: "Font Awesome 6 Free"; 
    content: "\f019";
    margin-right:.5rem;
  }    

/**************
 * MODULO APP *
 **************/
.btn-primary, .btn-primary:hover 
  {
    padding:0.25rem 0.75rem;  
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
  }
  
.btn-secondary, .btn-secondary:hover 
  {
    padding:0.25rem 0.75rem;  
    background-color: var(--bs-secondary);
    border-color: var(--bs-secondary);
  }



/*******************************
 * PUBLIC COMPETITIONS - BANDI *
 *******************************/  
.pc_elenco 
  {
    padding: 1rem;
  }

.card-bandi
  {
   background-color: var(--bs-tertiary);
  }
 
.card-bandi a
  {
   color: #000;
  }  
  
.blockQuickSearch .txtQuickSearch, .blockQuickSearch .field-calendar
  {
   margin:10px 0 0 0;
  }  

.card-body-bandi 
  {
   margin-bottom:2.5rem;
  }

.bandi_date
  {
   position:absolute;
   bottom:1rem;
  }


/***********************************
 * PUBLIC COMPETITIONS - DOCUMENTI *
 ***********************************/  
.docs-cards 
  {
   text-align:center;
  }
   
.docs-cards .catDoc
  {
   display:none;
  }

.docs-cards .card-title
  {
   font-family:sans-serif !important;
  }

.docs-cards .card-body
  {
   padding:.5rem .25rem 0 .25rem; 
  }
  
.docs-cards .card,
.docs-cards .card .list-group li
  {
    border:0;
    background-color: var(--bs-quaternary);  
    padding:.25rem;
  }
  
.page-link.active, .active > .page-link
  {
    color: #000;
    background-color: var(--bs-secondary) !important;
    border-color: var(--bs-secondary);
  }

.page-link:hover    
  {
    color: #fff !important;
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary);
  }
   
.bg-info 
  {
    color: #000 !important;
    background-color: var(--bs-secondary) !important;
    border-color: var(--bs-secondary);
  }

span.filesize
  {
    color: #000 !important;
  }
  
span.filesize:hover
  {
    text-decoration:underline !important;
  }  
  
.view-document .bandi,
.view-document .bandi .row,
.view-document .bandi .row > div.p-3
  {
   margin:0 !important;
   padding:0 !important;
  }

.view-document .bandi .card-body-bandi
  {
    height: auto;
  }
  
.card-deck
  {
   padding-left:0;
  }
  
li.elencoDocs a:focus
  {
   border:#000 solid 2px;
  }  
  
  

/**********
 * FOOTER *
 **********/
.footer .grid-child
  {
   background-color:#fff;     
   color:#000;
  }
  
.bg-primary 
  {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
  } 
  


/***************
 * FOOTER MENU *
 ***************/
.footer-menu
  {
   color:#000;
   background-color:#fff;   
  }
  
.footer-menu ul, .footer-menu ul li
  {
   display:inline-block;
  }  
  
.footer-menu a, .footer-menu a:hover
  {
   color:#000;
   margin:0 1rem;
   font-weight:normal;
  }    
  
  
  
  
/*-------------------------------------------------
                      MEDIA QUERY
  -------------------------------------------------*/  
  
@media screen and (max-width: 1024px) 
  {
    .boxinfo 
      {
        top: 1rem;
        right: 1rem;
      }
  
    .pc_k2_itemlist > ul 
      {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 1rem;
        list-style: none;
        padding: 0;
        margin: 0;
      }      
  }  
  
@media screen and (max-width: 768px) 
  {
    .itemHeader h1:after,
    .page-header h1:after,
    .content-category h1:after
      {
        width:50% !important;
      }
  
    .showcase-item.slider-item-horizontal .title, 
    .showcase-item.slider-item-horizontal p.text.text-left, 
    .showcase-item.slider-item-horizontal .readmore-wrapper, 
    .showcase-item.slider-item-horizontal .extra-info 
      {
        padding-left: 1rem;
        padding-right: 1rem;
      }
    .boxinfo 
      {
        right: unset;
        left: 50%;
        translate: -50%;
      }
  
    .pc_k2_itemlist > ul,
    .docs-cards.card-deck 
      {
        display: grid;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 0 1rem;
        list-style: none;
        padding: 0;
        margin: 0;
      }
      
  }  
  
@media screen and (max-width: 576px) 
  {  
    .itemHeader h1:after,
    .page-header h1:after,
    .content-category h1:after
      {
        width:100% !important;
      }
  
    .boxinfo 
      {
        top: 0rem;
        right: 0rem;
        left: unset!important;
        translate: 0 ;
       }  
      
    .pc_k2_itemlist > ul
      {
        display: grid;
        grid-template-columns: repeat(1, 1fr) !important;
        gap: 0;
        list-style: none;
        padding: 0;
        margin: 0;
       }
       
    .cerca-header
     {
       display:none;
      }
  }  
  
@media screen and (max-width: 460px) 
  {  
    .docs-cards.card-deck
      {
        display: grid;
        grid-template-columns: repeat(1, 1fr) !important;
        gap: 0;
        list-style: none;
        padding: 0;
        margin: 0;
      }

    .docs-cards 
      {
       text-align:left;
      }     
  }  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  