/*
Theme Name: IRPI
Theme URI: www.web42.it
Author: Gloria Goldin
Version: 1.0.2
Text Domain: irpi
*/

/* General */
:root {
  --primary: #33651B;
  --secondary: #1F71B8;
  --earth: #65281B;
  --grass: #8CC268;
  --space: #1B3365;
  --lagoon: #1B5865;
  --success: #008055;
  --danger: #E21A3C;
  --warning: #FD9B00;
  --primary-hover: #234911;
  --btn-hover-bg: #f7faf5;
  --bs-indigo: hsl(243, 100%, 65%);
  --bs-purple: hsl(243, 100%, 80%);
  --bs-pink: hsl(350, 100%, 85%);
  --bs-red: hsl(350, 60%, 50%);
  --bs-orange: hsl(36, 100%, 30%);
  --bs-yellow: hsl(44, 100%, 72.5%);
  --bs-green: hsl(160, 100%, 25%);
  --bs-teal: hsl(178, 90%, 32%);
  --bs-cyan: hsl(178, 100%, 50%);
  --bs-white: hsl(0, 0%, 100%);
  --bs-gray: hsl(0, 0%, 32%);
  --bs-gray-dark: hsl(0, 0%, 15%);
  --bs-blue: hsl(210, 100%, 45%);
  --bs-gray-secondary: hsl(210, 17%, 44%);
  --bs-gray-tertiary: hsl(205, 21.2121212121%, 44.55%);
  --bs-gray-quaternary: hsl(220, 100%, 99%);
  --bs-gray-100: hsl(0, 0%, 96%);
  --bs-gray-200: hsl(0, 0%, 90%);
  --bs-gray-300: hsl(0, 0%, 83%);
  --bs-gray-400: hsl(0, 0%, 64%);
  --bs-gray-500: hsl(0, 0%, 45%);
  --bs-gray-600: hsl(0, 0%, 32%);
  --bs-gray-700: hsl(0, 0%, 25%);
  --bs-gray-800: hsl(0, 0%, 15%);
  --bs-gray-900: hsl(0, 0%, 10%);
  --bs-primary:  hsl(101, 58%, 25%);
  --bs-secondary: hsl(210, 17%, 44%);
  --bs-success: hsl(160, 100%, 25%);
  --bs-info: hsl(210, 17%, 44%);
  --bs-warning: hsl(36, 100%, 30%);
  --bs-danger: hsl(350, 60%, 50%);
  --bs-light: hsl(255, 32.2033898305%, 92.625%);
  --bs-dark: hsl(210, 54%, 20%);
  --bs-black: hsl(0, 0%, 0%);
  --bs-white: hsl(0, 0%, 100%);
  --bs-100: hsl(0, 0%, 96%);
  --bs-200: hsl(0, 0%, 90%);
  --bs-300: hsl(0, 0%, 83%);
  --bs-400: hsl(0, 0%, 64%);
  --bs-500: hsl(0, 0%, 45%);
  --bs-600: hsl(0, 0%, 32%);
  --bs-700: hsl(0, 0%, 25%);
  --bs-800: hsl(0, 0%, 15%);
  --bs-900: hsl(0, 0%, 10%);
  --bs-primary-rgb: 51, 101, 27;
  --bs-secondary-rgb: 93, 112, 131;
  --bs-success-rgb: 0, 128, 85;
  --bs-info-rgb: 93, 112, 131;
  --bs-warning-rgb: 153, 92, 0;
  --bs-danger-rgb: 204, 51, 77;
  --bs-light-rgb: rgb(212, 212, 212);
  --bs-dark-rgb: 26, 26, 26;
  --bs-black-rgb: 0, 0, 0;
  --bs-white-rgb: 255, 255, 255;
  --bs-100-rgb: 245, 245, 245;
  --bs-200-rgb: 230, 230, 230;
  --bs-300-rgb: 212, 212, 212;
  --bs-400-rgb: 163, 163, 163;
  --bs-500-rgb: 115, 115, 115;
  --bs-600-rgb: 82, 82, 82;
  --bs-700-rgb: 64, 64, 64;
  --bs-800-rgb: 38, 38, 38;
  --bs-900-rgb: 26, 26, 26;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  --bs-body-color-rgb: 26, 26, 26;
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-green: #F6F9F4;
  --bs-dark-green: #1F3D10;
  --bs-font-sans-serif: "Lato", sans-serif;
  --bs-font-monospace: "Roboto Mono", monospace;
  --bs-gradient: linear-gradient(70deg, rgba(43,115,43,1) 10%, rgba(51,101,27,1) 88%, rgba(31,113,187,0.5) 100%);
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: hsl(0, 0%, 10%);
  --bs-body-bg: hsl(0, 0%, 100%);
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --bs-border-color: hsl(210, 4%, 78%);
  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
  --bs-border-radius: 4px;
  --bs-border-radius-sm: 4px;
  --bs-border-radius-lg: 8px;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-2xl: 2rem;
  --bs-border-radius-pill: 50rem;
  --bs-link-color: hsl(0, 0%, 10%);
  --bs-link-hover-color: rgb(115, 115, 115);
  --bs-code-color: hsl(210, 54%, 20%);
  --bs-highlight-bg: hsl(178, 100%, 90%);
  --bs-nav-link-font-size: 1rem;
  --bs-btn-border-radius: 10px;
  --bs-border-radius: 10px;
  --bs-body-font-size: 1.25rem;
  --bs-body-line-height: 2.25rem;
  --bs-card-border-radius: 10px;
}

/* Skip Navigation Link - WCAG Accessibility */
.skip-link.visually-hidden-focusable {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 10000;
  padding: 1rem 1.5rem;
  background-color: var(--primary);
  color: white;
  text-decoration: none;
  font-weight: 600;
  border-radius: 0 0 4px 4px;
}

.skip-link.visually-hidden-focusable:focus {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  outline: 3px solid var(--warning);
  outline-offset: 2px;
}

html, body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* Global focus styles - WCAG 2.4.7 Focus Visible */
a:focus,
button:focus,
input:focus,
textarea:focus,
select:focus,
[tabindex]:focus {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}

/* Remove outline for :focus-visible capable browsers on mouse/pointer interaction */
a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
input:focus:not(:focus-visible),
textarea:focus:not(:focus-visible),
select:focus:not(:focus-visible),
[tabindex]:focus:not(:focus-visible) {
  outline: none;
}

/* Ensure :focus-visible always shows outline */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}

@media (min-width: 1400px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1200px;
  }
}

@media (min-width: 1200px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1200px;
  }
}

.container-fluid {
  --bs-gutter-x: 40px;
}

/* Admin */
.logged-in.admin-bar .modal .modal-dialog {
  margin-top: 32px;
}

@media(max-width: 782px) {
  .logged-in.admin-bar .modal .modal-dialog {
    margin-top: 46px;
  }
}

@media (min-width: 992px) {
  .sticky-form {
    top: 102px;
  }
}

/* Text utilies */
.fs-7 {
  font-size: 0.9rem !important;
}

.fw-black {
  font-weight: 900 !important;
}

h2, h3, h4 {
  font-weight: 900;
}

@media (min-width: 576px) {
  p, ul, ol, dl {
    font-size: 1.25rem;
    line-height: 2.25rem;
  }
}

/* Utils */
@media (max-width: 1024px) {
  .rounded-top-custom {
    border-top-left-radius: var(--bs-border-radius) !important;
    border-top-right-radius: var(--bs-border-radius) !important;
  }
}

/* Fix per immagini che escono dai bordi arrotondati */
.col-md-4.overflow-hidden {
  overflow: hidden !important;
}

@media (min-width: 992px) {
  .col-md-4.overflow-hidden.rounded-lg-start {
    border-top-left-radius: var(--bs-border-radius) !important;
    border-bottom-left-radius: var(--bs-border-radius) !important;
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
  }
}

.breadcrumb_last {
  font-weight: 700;
}

/* Background colors */
.bg-green {
  --bs-bg-opacity: 1;
  background-color: var(--bs-green) !important;
}

.bg-dark-green {
  --bs-bg-opacity: 1;
  background-color: var(--bs-dark-green) !important;
}

.bg-green-light {
  --bs-bg-opacity: 1;
  background-color: #D1E3C9;
}

/* Sizing */
.h-80 {
  height: 80vh;
}

/* Header / nav */
.it-header-center-wrapper.theme-dark {
  background: linear-gradient(45deg, var(--primary), var(--secondary));
	background-size: 400% 400%;
	animation: gradient-bg 60s ease infinite;
}

.it-nav-wrapper {
  background: var(--primary);
}

.navbar .dropdown-menu ul {
  list-style-type: none;
}

.navbar .dropdown-menu ul.row {
  padding-left: 0;
}

.navbar .dropdown-menu ul.sub-menu {
  padding-left: 15px;
}

.navbar .dropdown-menu ul li.icon-sub-menu a {
  position: relative;
}

.navbar .dropdown-menu ul li.icon-sub-menu a:after {
  content: "";
  position: absolute;
  display: block;
  background: url("./assets/img/download.svg") no-repeat;
  width: 16px;
  height: 16px;
  top: 50%;
  margin-top: -8px;
  right: 1rem;
}

.navbar .dropdown-menu .link-list-wrapper ul li a, .navbar .dropdown-menu .link-list-wrapper ul li a span, .navbar .dropdown-menu .link-list-wrapper ul li a i {
  color: var(--primary);
  font-size: 1rem;
}

.navbar .dropdown-menu ul li ul.sub-menu li {
  margin-bottom: 0.35rem;
}

.navbar .dropdown-menu ul li ul.sub-menu li a {
  color: var(--primary);
  font-size: 1rem;
  line-height: 1.4;
}

.navbar-nav .megamenu .dropdown-menu {
  z-index: 99;
}

.navbar .dropdown-menu ul.row > li > a {
  font-weight: 600;
  color: var(--bs-900-rgb);
}



.navbar .navbar-collapsable .navbar-nav li.nav-item a.nav-link, .navbar .navbar-collapsable .navbar-nav li.nav-item button.nav-link. .navbar .navbar-collapsable .navbar-nav li a.nav-link  {
  color: var(--primary) !important;
  font-weight: 600;
}

.navbar .navbar-collapsable .navbar-nav li a.nav-link.rounded-3 {
	color: var(--primary);
}


.navbar .navbar-collapsable .navbar-nav li.nav-item a.nav-link:hover, .navbar .navbar-collapsable .navbar-nav li.nav-item button.nav-link:hover {
  text-decoration: none;
  background-color: var(--btn-hover-bg);
}

.navbar .navbar-collapsable .navbar-nav li.nav-item button.nav-link.focus--mouse.show {
  background-color: #F6F9F4;
}

.it-right-zone .nav-menu-link:hover,
.it-right-zone .nav-menu-link:focus,
.it-right-zone .nav-menu-link:focus-visible {
  background-color: var(--btn-hover-bg);
  color: var(--primary);
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}

/* Remove outline for :focus-visible capable browsers on mouse click */
.it-right-zone .nav-menu-link:focus:not(:focus-visible) {
  outline: none;
}

.it-right-zone .nav-menu-link:hover svg path,
.it-right-zone .nav-menu-link:focus svg path,
.it-right-zone .nav-menu-link:focus-visible svg path {
  fill: var(--primary);
}

.nav-menu-divider {
  width: 1px;
  height: 44px;
  background-color: var(--bs-border-color);
  display: inline-block;
}

.it-header-slim-wrapper .it-header-slim-wrapper-content .it-header-slim-right-zone .it-access-top-wrapper>a {
  background: #ffffff;
  color: var(--bs-body-color);
  border: 2px solid var(--primary);
}

.it-header-slim-wrapper {
  background: #ffffff;
}

.it-header-slim-wrapper .it-header-slim-wrapper-content .navbar-brand {
  color: var(--bs-body-color);
  font-size: 1.25rem;
}

@media (max-width: 959px) {
  .it-header-wrapper .it-nav-wrapper .it-header-navbar-wrapper {
    margin-top: -20px;
  }

  .it-header-wrapper .it-nav-wrapper .it-header-navbar-wrapper nav .custom-navbar-toggler {
    transform: translateX(0);
  }

  .navbar .dropdown-menu ul.row > li > a {
    text-decoration: none;
  }

  .it-header-wrapper .it-nav-wrapper .it-header-navbar-wrapper {
    left: 18px;
  }
}

@media (min-width: 960px) {
  .it-header-navbar-wrapper {
    background: #fff;
    border-bottom: 1px solid var(--bs-light-rgb);
  }

  .navbar .navbar-collapsable .navbar-nav li.nav-item a.nav-link, .navbar .navbar-collapsable .navbar-nav li.nav-item button.nav-link {
    color: var(--primary);
    font-weight: 600;
    padding: 0.219rem 1.2rem;
    margin: 0.3rem;
  }
}

@media (min-width: 992px) {
  .it-header-center-wrapper {
    height: 80px;
    padding-top: 0;
  }

  .it-header-wrapper {
    position: sticky;
    top: -80px;
  }
}

@media (min-width: 992px) {
  .it-header-navbar-wrapper nav .navbar-collapsable .menu-wrapper .navbar-nav.navbar-secondary a {
    font-size: 1rem;
    line-height: inherit;
  }
}

@-webkit-keyframes gradient-bg {
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}
@-moz-keyframes gradient-bg {
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}
@keyframes gradient-bg {
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}

/* Megamenu */
.navbar .navbar-collapsable .menu-wrapper .nav-item.megamenu .dropdown-menu .col-12 ul li a:hover {
  background-color: #F6F9F4;
  text-decoration: underline;
}

/* Fonts */
.lato-thin {
  font-family: "Lato", sans-serif;
  font-weight: 100;
  font-style: normal;
}

.lato-light {
  font-family: "Lato", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.lato-regular {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.lato-bold {
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.lato-black {
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-style: normal;
}

.lato-thin-italic {
  font-family: "Lato", sans-serif;
  font-weight: 100;
  font-style: italic;
}

.lato-light-italic {
  font-family: "Lato", sans-serif;
  font-weight: 300;
  font-style: italic;
}

.lato-regular-italic {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: italic;
}

.lato-bold-italic {
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-style: italic;
}

.lato-black-italic {
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-style: italic;
}

/* Buttons */
.btn {
  font-weight: 700;
}

.btn-white:hover,
.btn-white:focus,
.btn-white:focus-visible {
  background-color: #F6F9F4;
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}

.btn-white:focus:not(:focus-visible) {
  outline: none;
}

.btn:not(.btn-xs):not(.btn-lg):not(.btn-sm) {
  padding: 0.754rem 1.125rem;
  font-size: 1rem;
  line-height: 1.5rem;
  border-radius: 10px;
}

.btn.btn-sm {
  padding: 0.438rem 1.275rem;
  font-size: 1rem;
  line-height: 1.5rem;
}

.btn-xs, .btn-sm, .btn-group-sm>.btn, .btn-lg, .btn-group-lg>.btn {
  border-radius: 10px;  
}

.btn-outline-primary,
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:focus-visible {
  color: var(--primary);
  box-shadow: inset 0 0 0 1px var(--primary);
  background-color: #fff;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:focus-visible {
  background-color: #F6F9F4;
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}

.btn-outline-primary:focus:not(:focus-visible) {
  outline: none;
}

.btn-primary {
  background-color: var(--primary);
  border-color: var(--primary);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:focus-visible {
  background-color: var(--primary-hover);
  border-color: var(--primary-hover);
  outline: 2px solid var(--warning);
  outline-offset: 2px;
}

.btn-primary:focus:not(:focus-visible) {
  outline: none;
}

.btn-icon {
  justify-content: center;
}

.btn-light.d-flex {
  justify-self: start;
}

.btn-light {
  color: var(--primary);
  background-color: #fff;
  border-color: #fff;
}

.btn-light:hover {
  background-color: var(--btn-hover-bg);
  color: var(--primary);
  border-color: var(--btn-hover-bg);
}

/* Carousel */
.it-carousel-wrapper .it-header-block h2, .it-carousel-wrapper .it-header-block .h2 {
  border-bottom: none;
  padding-bottom: 0;
}

.it-carousel-wrapper.it-carousel-landscape-abstract-three-cols-arrow-visible .lined_slide:after {
  display: none;
}

.it-carousel-wrapper .it-single-slide-wrapper .card-wrapper .card {
  border: 1px solid var(--bs-border-color);
  border-radius: 10px;
}

.it-carousel-wrapper .it-single-slide-wrapper .card-wrapper .card:hover {
  border-color: var(--primary);
}

.it-carousel-wrapper .it-single-slide-wrapper .card-wrapper .card .img-responsive-wrapper .img-responsive {
  padding-bottom: 66.67%; /* 3:2 */
}

.it-carousel-wrapper .it-single-slide-wrapper .card-wrapper .card .img-responsive-wrapper .img-wrapper img {
  border-radius: 10px 10px 0 0;
  object-fit: cover;
}

.it-carousel-wrapper .splide__pagination button.is-active {
  background-color: #1F3D10;
}

.it-carousel-wrapper .splide__pagination button {
  background-color: transparent;
  border: 1px solid #33651B;
}

.it-carousel-wrapper.it-carousel-landscape-abstract-three-cols-arrow-visible .splide__arrows {
  top: auto;
  bottom: 0;
  left: 0;
  right: 0;
}

.it-carousel-wrapper.it-carousel-landscape-abstract-three-cols .splide__arrows {
  display: none;
}

.it-carousel-wrapper .splide__pagination {
  height: 40px;
}

.it-carousel-wrapper.it-carousel-landscape-abstract-three-cols-arrow-visible .splide__arrows .splide__arrow {
  background: var(--primary);
}


/* Cards */
.card {
  --bs-card-inner-border-radius: 10px;
  --bs-card-border-radius: 10px;
  --bs-card-cap-padding-x: 1.5rem;
}

.card .card-body .category-top .data:before {
  display: none;
}

.card .card-body .category-top .data {
  float: right;
  text-transform: none;
}

.card .card-body .category-top span.category {
  text-decoration: none;
  color: #fff;
  border-radius: 50rem;
  padding: 4px 16px;
  line-height: 2em;
  font-size: .875rem;
}

.card .card-body .category-top span.category.news,
.card .card-body .category-top span.category.news-en {
  background-color: var(--primary);
}

.card .card-body .category-top span.category.eventi,
.card .card-body .category-top span.category.events {
  background-color: var(--earth);
}

.card .card-body .category-top span.category.focus {
  background-color: var(--secondary);
}

.card .card-body .card-text {
  font-family: inherit;
}

.card .card-body a:not(.category) {
  display: flex;
}

.card .card-body .card-pin {
  position: absolute;
  right: 20px;
  top: 15px;
}

.card.card-img h5.card-title, .card.card-img .card-title.h5 {
  margin-bottom: 10px;
  font-size: 1.25rem;
}

.card-cta .img-responsive-wrapper .img-responsive .img-wrapper img {
  width: 50%;
  object-fit: contain;
  margin: auto;
}

.card a.read-more {
  position: static;
  color: var(--primary)
}

.card:after {
  display: none;
}

.card-square .card.card-img .img-responsive-wrapper .img-responsive, .card-horizontal .card.card-img .img-responsive-wrapper .img-responsive {
  position: static;
  padding: 0;
  height: auto;
}

.card-square .card.card-img .img-responsive-wrapper .img-responsive .img-wrapper, .card-horizontal .card.card-img .img-responsive-wrapper .img-responsive .img-wrapper {
  position: static;
}

.card-horizontal .card .img-wrapper {
  margin-bottom: 0;
}

a.card {
  border: 1px solid #C5C7C9;
}

a.card:hover {
  border-color: var(--primary);
}

/* Timeline */
.it-timeline-wrapper .card-title {
  text-transform: none;
}

.it-timeline-wrapper .it-pin-wrapper .pin-text {
  font-family: inherit;
  background: #F6F9F4;
  color: var(--bs-body-color);
}

.it-timeline-wrapper .it-pin-wrapper.it-evidence .pin-text, .it-timeline-wrapper .it-pin-wrapper.it-now .pin-text {
  background: #1F3D10;
  color: #fff;
}

.it-timeline-wrapper .it-pin-wrapper .pin-text span:after {
  background: #F6F9F4;
}

.it-timeline-wrapper .it-pin-wrapper.it-evidence .pin-icon {
  background: #1F3D10;
}

.it-timeline-wrapper .it-pin-wrapper.it-now .pin-text span:after {
  background: #1F3D10;
}

.it-timeline-wrapper .it-pin-wrapper .pin-icon {
  border-width: 6px;
}

.it-timeline-wrapper .it-pin-wrapper svg {
  height: 18px;
  width: 18px;
}

.it-timeline-wrapper .row:after {
  background: #1F3D10;
  top: 0;
  bottom: 0;
}

.it-timeline-wrapper .it-pin-wrapper.it-now .pin-icon {
  background: var(--grass);
}

.it-timeline-wrapper .col-12:nth-child(odd) .it-now-label {
  right: 0;
}

.it-timeline-wrapper .it-now-label {
  color: var(--primary);
  font-family: inherit;
}

.it-timeline-wrapper .it-pin-wrapper {
  top: 0;
}

.it-timeline-wrapper .row {
  padding-top: 0;
}

.it-timeline-wrapper .col-12:nth-child(odd) .card-wrapper .card:after {
  margin-top: 0;
  margin-bottom: 0;
}

.it-timeline-wrapper .col-12:nth-child(1) .timeline-element {
  padding-top: 0;
}

.it-timeline-wrapper .col-12:nth-child(odd) .timeline-element .card-title, .it-timeline-wrapper .col-12:nth-child(odd) .timeline-element .card-text {
  margin-left: auto;
}

@media(min-width: 992px) {
  .it-timeline-wrapper .col-12 .timeline-element .card-title, .it-timeline-wrapper .col-12 .timeline-element .card-text, .it-timeline-wrapper .col-12 .timeline-element img {
    width: 75%;
  }
}


/* Form */
.input-group .input-group-text{
  border-top: 1px solid var(--bs-gray-300);
  border-left: 1px solid var(--bs-gray-300);
  border-bottom: 1px solid var(--bs-gray-300);
  border-radius: 10px 0 0 10px;
}

.input-group input[type="email"], .input-group input[type="text"], .input-group input[type="search"] {
  border-top: 1px solid var(--bs-gray-300);
  border-right: 1px solid var(--bs-gray-300);
  border-bottom: 1px solid var(--bs-gray-300);
  border-radius: 0 10px 10px 0 !important;
}

.form-group input[type="text"], .form-group input[type="search"] {
  border: 1px solid var(--bs-gray-300);
  border-radius: 10px !important;
}

.select-search select {
  border: 1px solid var(--bs-gray-300);
  border-radius: 10px;
}

.select-custom select {
  border: 1px solid var(--primary);
  border-radius: 10px;
  color: var(--primary);
  font-size: 14px;
  padding: 0 1rem;
  padding-right: 2rem;
  margin: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;

  background-image: url('assets/img/arrow-down.svg');
  background-position:
    calc(100% - 1rem) calc(1em + 2px);
  background-size:
    10px;
  background-repeat: no-repeat;
}

input[type=text].form-control {
  padding: .688rem 1rem;
}

input[type=text].form-control.input-icon {
  padding-right: 54px;
}

#fieldset-year .form-check.hidden {
  display: none;
}

.form-check:hover [type=checkbox]:not(:checked)+label::after {
  border-color: var(--bs-gray-500);
}

.form-check [type=checkbox]:not(:checked)+label::after {
  border-color: var(--bs-gray-300);
}

.form-check [type=checkbox]:checked+label::after {
  background-color: var(--success);
  border-color: var(--success);
}

.wpcf7 .wpcf7-form-control-wrap .wpcf7-form-control {
  border-radius: 10px;
  border: 1px solid #C5C7C9;
  padding: .657rem 1rem;
}

.wpcf7 .wpcf7-form-control-wrap textarea {
  font-size: inherit;
}

.wpcf7 .wpcf7-submit {
  padding-right: 4rem !important;
  background-image: url(assets/svg/send.svg);
  background-repeat: no-repeat;
  background-position: center right 24px;
}

@media (min-width: 992px) {
  .sticky-form {
    position: sticky;
    top: 70px;
  }
}

/* Footer */
.it-footer-main {
  background-color: #fff;
  color: var(--bs-body-color);
}

.it-footer a {
  color: var(--bs-body-color);
}

.it-footer h4, .it-footer .h4, .it-footer ul, .it-footer li, .it-footer p {
  line-height: 1.5rem;
}

.it-footer a:hover {
  color: var(--bs-gray-500);
}

.it-footer-small-prints {
  background-color: #fff;
}

/* Modals */
.modal .modal-dialog {
  margin-top: 0;
}

/* Gutters */
.g-6, .gy-6 {
  --bs-gutter-y: 4rem;
}

.g-6, .gx-6 {
  --bs-gutter-x: 4rem;
}

.g-7, .gy-7 {
  --bs-gutter-y: 5rem;
}

.g-7, .gx-7 {
  --bs-gutter-x: 5rem;
}

/* Tabs */
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
  color: var(--primary);
  border-bottom-color: var(--primary);
}

.nav-tabs .nav-link:hover {
  color: var(--primary);
}

/* Accordions */
.accordion-header .accordion-button:after {
  color: var(--primary);
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 24 24' %3E%3Cg%3E%3Cpath fill='hsl(101, 58%, 25%)' d='M12,10.3l4.8,4.8c0.3,0.3,0.8,0.3,1.1,0c0.3-0.3,0.3-0.8,0-1c0,0,0,0,0,0l-4.8-4.8c-0.6-0.6-1.5-0.6-2.1,0L6.2,14c-0.3,0.3-0.3,0.8,0,1c0,0,0,0,0,0c0.3,0.3,0.8,0.3,1.1,0L12,10.3z'/%3E%3C/g%3E%3C/svg%3E");
}

/* Filters temi di rircerca */
.chars-filter button.btn {
  width: 36px;
  height: 36px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Badge */
/* 01 - Internazionali / International → --bs-indigo */
.badge-01-internazionali,
.badge-01-international,
.badge-contratto,
.badge-contract {
  border: 1px solid var(--bs-indigo);
  color: var(--bs-indigo);
}

/* 02 - Europei / European → --bs-purple */
.badge-02-europei,
.badge-02-european {
  border: 1px solid  var(--bs-purple);
  color: var(--bs-purple);
}

/* 03 - Agenzie Spaziali / Space Agency → --space */
.badge-03-agenzie-spaziali,
.badge-03-space-agency,
.badge-accordo,
.badge-agreement,
.badge-concluso {
  border: 1px solid  var(--secondary);
  color: var(--secondary);
}

/* 04 - Bilaterali / Bilateral → --bs-teal */
.badge-04-bilaterali,
.badge-04-bilateral,
.badge-convenzione,
.badge-framework-agreement {
  border: 1px solid  var(--bs-teal);
  color: var(--bs-teal);
}

/* 05 - Fondazioni / Foundations → --bs-yellow */
.badge-05-fondazioni,
.badge-05-foundations {
  border: 1px solid  var(--bs-red);
  color: var(--bs-red);
}

/* 06 - Nazionali / National → --bs-green */
.badge-06-nazionali,
.badge-06-national {
  border: 1px solid  var(--bs-orange);
  color: var(--bs-orange);
}

/* 07 - Regionali / Regional → --grass */
.badge-07-regionali,
.badge-07-regional,
.badge-intesa,
.badge-memorandum-of-understanding,
.badge-in-corso {
  border: 1px solid  var(--grass);
  color: var(--grass);
}

/* 08 - Locali / Local → --lagoon */
.badge-08-locali,
.badge-08-local {
  border: 1px solid  var(--lagoon);
  color: var(--lagoon);
}

/* 09 - Istituto / Institute → --primary */
.badge-09-istituto,
.badge-09-institute {
  border: 1px solid  var(--primary);
  color: var(--primary);
}

.badge-news,
.badge-news-en {
  background-color: var(--bs-indigo);
  border: 1px solid var(--bs-indigo);
  color: white;
}

.badge-rassegna-stampa,
.badge-press-reviews {
  background-color: var(--grass);
  border: 1px solid var(--grass);
  color: white;
}

.badge-dal-web,
.badge-from-the-web {
  background-color: var(--lagoon);
  border: 1px solid var(--lagoon);
  color: white;
}

.badge-audio,
.badge-audio-en {
  background-color: var(--bs-teal);
  border: 1px solid var(--bs-teal);
  color: white;
}

.badge-print,
.badge-stampa {
  background-color: var(--bs-orange);
  border: 1px solid var(--bs-orange);
  color: white;
}
.badge-video,
.badge-video-en {
  background-color: var(--bs-red);
  border: 1px solid var(--bs-red);
  color: white;
}


.badge.badge-evento {
  background-color: var(--earth);
  color: white;
}

.badge.badge-eventi,
.badge.badge-events {
  background-color: var(--earth);
  color: white;
}

.badge.badge-focus {
  background-color: var(--secondary);
  color: #fff;
}

.badge.badge-altro {
  border: 1px solid var(--grey);
  color: var(--grey);
}

.badge-warning {
  color: black;
  background-color: var(--warning);
}

.badge-danger {
  color: #fff;
  background-color: var(--danger);
}

.badge.rounded-pill {
  padding: .3rem 1rem;
}

/* Pagination */
.pagination-wrapper .pagination {
  width: 100%;
}

.pagination-wrapper .pagination .page-item:first-child {
  margin-right: auto;
}

.pagination-wrapper .pagination .page-item:last-child {
  margin-left: auto;
}

.pagination .page-item .page-link {
  color: var(--primary);
}

.pagination .page-item .page-link:hover {
  color: var(--primary);
  background-color: #F6F9F4;
}

.pagination .page-item .page-link[aria-current] {
  border: none;
  color: var(--primary);
  background-color: #F6F9F4;
}

/* Chips */
.chip .chip-label {
  line-height: 1.5;
}

.chip button {
  line-height: 0.6;
}

/* Share buttons */
.share-btns {
  right: 0;
  top: 35%;
  padding: 0.8rem 0.6rem;
}

.share-btns .share-socials {
  display: none;
}

.share-btns:hover .share-socials {
  display: flex;
}

.share-btns:hover .share-icon {
  display: none;
}

.share-btns .share-socials a {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.wp-block-irpi-title-grid.alignfull {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
}

.wp-block-heading {
	margin-top: 2em;
	margin-bottom: 1em;
}

.wp-block-irpi-banner-verde.alignfull {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  margin-top: 2em;
  margin-bottom: 2em;
}

.wpcf7 .wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-acceptance {
	border: 0 !important;
}

/* per evitare che vengano usati segnaposti dove l'immagine è vuota */

.wp-block-irpi-timeline img[src=""],
.wp-block-irpi-timeline img:not([src]),
.wp-block-irpi-timeline img[src^=" "],
.wp-block-irpi-timeline img[src="#"] {
  display: none !important;
}

img[src*="pixel.png"] {
  height: 0 !important;
  width: 0 !important; /* opzionale, se vuoi anche eliminare la larghezza */
  overflow: hidden;    /* per sicurezza */
  display: block;      /* evita che resti spazio in linea */
}

span.badge-senza-categoria {
	display: none !important;
}

/* Badge per tipologie di contenuto nei risultati di ricerca */
/* Colori unici, non duplicati con badge categorie post, contrasto WCAG AA (4.5:1) */

.badge-affiliazione {
  background-color: #6B4C9A; /* viola scuro - contrasto 6.4:1 */
  border: 1px solid #6B4C9A;
  color: white;
}

.badge-collaboration {
  background-color: #2D6A4F; /* verde smeraldo - contrasto 5.8:1 */
  border: 1px solid #2D6A4F;
  color: white;
}

.badge-conference {
  background-color: #9C4221; /* terracotta - contrasto 5.5:1 */
  border: 1px solid #9C4221;
  color: white;
}

.badge-progetto {
  background-color: #1E3A5F; /* blu navy - contrasto 9.8:1 */
  border: 1px solid #1E3A5F;
  color: white;
}

.badge-progettoscuole {
  background-color: #0D5C63; /* teal scuro - contrasto 6.2:1 */
  border: 1px solid #0D5C63;
  color: white;
}

.badge-sede {
  background-color: #495057; /* grigio ardesia - contrasto 7.2:1 */
  border: 1px solid #495057;
  color: white;
}

.badge-cartografia {
  background-color: #3D5A3D; /* verde oliva - contrasto 6.1:1 */
  border: 1px solid #3D5A3D;
  color: white;
}

.badge-citizenscience {
  background-color: #0B525B; /* petrolio - contrasto 7.8:1 */
  border: 1px solid #0B525B;
  color: white;
}

.badge-corso {
  background-color: #1B4332; /* verde bosco - contrasto 10.5:1 */
  border: 1px solid #1B4332;
  color: white;
}

.badge-gruppo-di-ricerca {
  background-color: #2B580C; /* verde pino - contrasto 7.4:1 */
  border: 1px solid #2B580C;
  color: white;
}

.badge-laboratorio {
  background-color: #3730A3; /* indaco scuro - contrasto 7.9:1 */
  border: 1px solid #3730A3;
  color: white;
}

.badge-pcto {
  background-color: #155E75; /* ciano scuro - contrasto 5.5:1 */
  border: 1px solid #155E75;
  color: white;
}

.badge-portale {
  background-color: #1E40AF; /* blu reale - contrasto 8.2:1 */
  border: 1px solid #1E40AF;
  color: white;
}

.badge-servizio {
  background-color: #991B1B; /* rosso scuro - contrasto 6.8:1 */
  border: 1px solid #991B1B;
  color: white;
}

.badge-strumentazione {
  background-color: #374151; /* grigio antracite - contrasto 8.5:1 */
  border: 1px solid #374151;
  color: white;
}
