/* RM international.css */

/* Utility */
.full-width {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
}

/* Generic styles */
.node--unpublished {
  background-color: #fff4f4;
}

/* Barra admin */
#toolbar-administration ul {
  font-size: small;
}

.main-navigation {
  /*background-color: #42a877;*/
  padding-top: 28px;
}

.it-footer-main {
  background-color: inherit !important;
  margin-left: 8px !important;
}

/* region-user-second "International" */
.dropdown-menu .dropdown-item {
  color: #004080 !important; /* blu istituzionale o il colore che preferisci */
  font-weight: 500;
}

.dropdown-menu .dropdown-item:hover {
  background-color: #f5f5f5;
  color: #000 !important;
}

li.en.language-selector a {
  padding-left: 5px !important;
  font-size: 22px !important;
}

/* endregion-user-second "International" */

/* ================================================
   STILI PULSANTE HAMBURGER MEGAMENU MOBILE
   ================================================ */

/* Pulsante hamburger megamenu - visibile solo su mobile */
.btn-mobile {
  border: none !important;
  background: transparent !important;
}

.btn-mobile:hover {
  border: 2px solid #172642 !important;
  border-radius: 4px !important;
}

/* ================================================
   STILI PULSANTE HAMBURGER MEGAMENU DESKTOP
   ================================================ */

/* Pulsante hamburger megamenu - visibile solo su desktop */

.megamenu-button {
  padding-top: 20px !important;
}

.megamenu-internal ul li span {
  color: #172642;
  font-size: 1.313rem;
  font-weight: 500;
  text-transform: uppercase;
}

.list-item-title {
  margin: 0 !important;
}

.navbar-toggler {
  background: transparent;
  border: none;
  padding: 4px;
  cursor: pointer;
  border-radius: 4px;
  transition: all 0.3s ease;
  position: relative;
  z-index: 1003;
  border: none !important;
}

.navbar-toggler:focus {
  outline: 2px solid #0066cc;
  outline-offset: 2px;
}

/* Container hamburger */
.hamburger {
  width: 30px;
  height: 70px;
  position: relative;
  transform: rotate(0deg);
  transition: 0.3s ease-in-out;
  cursor: pointer;
}

/* Linee dell'hamburger */
.hamburger span {
  display: block;
  position: absolute;
  height: 3px;
  width: 100%;
  background: white;
  border-radius: 2px;
  opacity: 1;
  left: 0;
  transform: rotate(0deg);
  transition: 0.25s ease-in-out;
}

.hamburger span:nth-child(1) {
  top: 0px;
}

.hamburger span:nth-child(2) {
  top: 10px;
}

.hamburger span:nth-child(3) {
  top: 20px;
}

/* Animazione hamburger → X */
.hamburger.active span:nth-child(1) {
  top: 10px;
  width: 0%;
  left: 50%;
}

.hamburger.active span:nth-child(2) {
  top: 10px;
  transform: rotate(45deg);
}

.hamburger.active span:nth-child(3) {
  top: 10px;
  transform: rotate(-45deg);
}

/* Stili per il megamenu */

/*.megamenu-wrapper .menu > li {*/
/*  !* Stile per i menu principali *!*/
/*  text-transform: uppercase;*/
/*}*/

/*.megamenu-wrapper .menu-submenu > li {*/
/*  !* Stile per le voci del sottomenu *!*/
/*  text-transform: none;*/
/*}*/

#CollapsingNavbar {
  position: relative;
  width: 100%;
  background: white;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-in-out;
}

#CollapsingNavbar.show {
  max-height: 2300px; /* Altezza massima del megamenu */
  overflow-y: auto; /* Scroll se necessario */
}

.megamenu-container {
  border-bottom: 1px solid #666666;
}

.mega-row {
  background-color: #f5f5f5;
  padding: 30px 0;
}

.megamenu-wrapper {
  margin: 40px;
}

@media (max-width: 999px) {
  .megamenu-wrapper {
    margin: 20px;
  }
}

/* Stili per il menu nel megamenu */
#CollapsingNavbar .menu {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  padding: 0;
  list-style: none;
  margin: 0;
}

/* Stile speciale per il menu Info for */
.menu-info-for {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4rem;
  list-style: none;
  padding: 2rem 0;
}

.menu-info-for li {
  text-align: center;
}

.menu-info-for li a {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  color: #172642;
  font-weight: 600;
}

.menu-info-for .item-international-student a::before,
.menu-info-for .item-prospective-student a::before {
  font-family: "FontAwesome";
  font-weight: 900;
  font-size: 3.6rem;
  color: #172642;
  display: block;
  margin-bottom: 1rem;
}

.menu-info-for .item-international-student a::before {
  /* content: "\f0ac"; */
  content: url(/themes/custom/unibg_en/images/international-student.svg);
  width: 65px;
}

.menu-info-for .item-prospective-student a::before {
  /* content: "\f007"; */
  content: url(/themes/custom/unibg_en/images/prospective-student.svg);
  width: 70px;
  margin-bottom: 10px;
}

/*===========================
    Comportamento infofor
===========================*/

.megamenu-extra-content {
  display: block;
}
.megamenu-extra-mobile {
  display: none;
  margin-left: 50px;
  margin-top: -10px !important;
}

@media (max-width: 999px) {
  .megamenu-extra-content {
    display: none;
  }

  .megamenu-extra-mobile {
    display: block;
  }
}

/* Layout mobile: 1 colonna sotto i 1000px */
@media (max-width: 999px) {
  #CollapsingNavbar .menu {
    grid-template-columns: 1fr;
  }
}

#CollapsingNavbar .menu > li,
#CollapsingNavbarMobile .menu > li {
  display: block;
  position: relative;
  z-index: 1;
  min-height: 0;
  list-style: none;
}

#CollapsingNavbar .menu > li > a,
#CollapsingNavbarMobile .menu > li > a,
.megamenu-extra-mobile .infofor {
  display: block;
  font-size: 18px;
  font-weight: 600;
  color: #040404;
  text-transform: uppercase;
  padding: 10px 0;
  margin-bottom: 10px;
}

#CollapsingNavbar .menu > li.menu-heading {
  margin-bottom: 0;
}

#CollapsingNavbar .menu > li.menu-heading > .menu-heading__text {
  display: block;
  font-size: 18px;
  font-weight: 600;
  color: #040404;
  text-transform: uppercase;
  padding: 10px 0;
  margin-bottom: 10px;
}

#CollapsingNavbar .menu > li > a:hover {
  color: #0066cc;
  text-decoration: underline;
}

/* Sottomenu nel megamenu - sempre visibili */
#CollapsingNavbar .menu ul {
  padding: 0;
  margin: 0;
  list-style: none;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: static !important;
}

#CollapsingNavbar .menu ul li,
#CollapsingNavbarMobile .menu ul li,
.megamenu-extra-mobile .megamenu-internal .menu-submenu li {
  margin: 0;
}

.megamenu-extra-mobile .megamenu-internal .menu-submenu li,
#CollapsingNavbarMobile .menu ul li {
  list-style: none;
}

#CollapsingNavbar .menu ul li a,
#CollapsingNavbarMobile .menu ul li a,
.megamenu-extra-mobile .megamenu-internal .menu-submenu li a {
  display: block;
  /*padding: 8px 0;*/
  color: #343a40;
  text-decoration: none;
  font-size: 19px;
  transition: all 0.2s ease;
}

#CollapsingNavbar .menu ul li a:hover,
#CollapsingNavbarMobile .menu ul li a:hover,
.megamenu-extra-mobile .megamenu-internal .menu-submenu li a:hover {
  color: #0066cc;
  text-decoration: underline;
}

.megamenu-buttons {
  background-color: rgb(23, 38, 66);
  color: white;
  padding: 5px 20px;
  display: none !important;
}

.mm-btn {
  color: white;
  font-size: 18px;
  margin-left: 15px;
}
.mm-btn:hover {
  color: white;
  text-decoration: none;
}

/* Nascondere pulsante megamenu desktop solo su mobile */
@media (max-width: 992px) {
  .fa-search {
    padding-right: 20px;
  }

  .navbar-toggler.d-none.d-md-block.megamenu-button {
    display: none !important;
  }
  #CollapsingNavbar .menu ul li a {
    padding-left: 30px;
  }

  .megamenu-buttons {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
  }

  .megamenu-buttons .col-6 {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
  }

  .megamenu-buttons .col-6:first-child {
    justify-content: flex-start;
    gap: 15px;
  }

  .megamenu-buttons .col-6:last-child {
    justify-content: flex-end;
    gap: 15px;
  }
}

/* ================================================
   MENU MAPPA SITO
   ================================================ */

.unibg-site-map-menu {
  margin-bottom: 1rem;
}

.unibg-site-map-menu h2,
.unibg-site-map-menu .h2 {
  margin-bottom: 1rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.2;
}

.unibg-site-map-menu ul {
  list-style-type: none;
  flex-direction: column;
}

.unibg-site-map-menu ul.unibg-site-map-menu__list li .nav-link {
  padding: 0;
  color: #222;
  font-size: 1rem;
  -webkit-transition: 0s;
  -o-transition: 0s;
  transition: 0s;
}

@media (min-width: 48rem) {
  .unibg-site-map-menu ul.unibg-site-map-menu__list li .nav-link {
    font-size: 1.125rem;
  }
}

.unibg-site-map-menu ul.unibg-site-map-menu__list li a:hover::before {
  background-color: #fff;
}

.unibg-site-map-menu ul.unibg-site-map-menu__list li a:hover {
  background-color: #e2e2e2;
}

.unibg-site-map-menu ul.unibg-site-map-menu__child-list li .nav-link::before {
  padding: 0.5rem;
  content: ">";
  color: #1c355d;
  font-size: 1.2rem;
  font-weight: 500;
}

.unibg-site-map-menu[class*="block-menu-blockfooter"]
  ul.unibg-site-map-menu__list {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  padding-left: 0.625rem;
}

/* ================================================
   STILI MENU PERSONALIZZATO - RESPONSIVE
   ================================================ */

.logo.pull-left {
  margin-right: 10px !important;
}

/* Menu wrapper - layout responsivo */
.custom-menu-wrapper .custom-menu-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  justify-content: center;
  align-items: center;
}

/* Menu items - flessibili */
.custom-menu-list > li.custom-menu-item {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
}

/* Link items - responsivi */
.custom-menu-item a {
  display: block;
  text-align: center;
  /*padding: 0.5rem 1rem;*/
  white-space: nowrap;
}

/* Titoli menu */
.custom-menu-item .list-item-title {
  display: inline-block;
  color: #043360 !important;
  text-decoration: none;
  font-size: 12px !important;
  font-weight: 500;
}

.main-menu-a {
  margin: 0 16px 0 0 !important;
  padding: 0 !important;
}
.main-menu-a span:hover {
  color: #0066cc !important;
  text-decoration: underline;
}

/* Responsive - su tablet e mobile */
@media (max-width: 991px) {
  .custom-menu-wrapper .custom-menu-list {
    flex-direction: column;
    gap: 0.5rem;
    align-items: stretch;
  }

  .custom-menu-list > li.custom-menu-item {
    display: block;
    text-align: center;
  }

  .custom-menu-item a {
    white-space: normal;
    padding: 0.75rem;
    width: 100%;
  }
}

/* footer menu shared */

.three-menu .nav > li > a {
  text-decoration: none;
  padding-top: 0;
  padding-bottom: 8px;
  line-height: 14px;
  font-size: 14px;
  font-weight: 300;
}

.three-menu .nav > li > a:hover {
  text-decoration: underline;
}

/* /footer menu shared */

/* ================================================
   RESPONSIVE LAYOUT
   ================================================ */

@media (min-width: 768px) {
  .megaburger-container {
    margin-left: 40px;
  }
}

/* Su schermi < 1000px, footer_right va sotto footer_left e tutto allineato a sinistra */
@media (max-width: 999px) {
  .megamenu-internal .menu-submenu {
    padding-left: 10px;
  }

  .footer1 > .container > .row {
    display: contents;
  }

  .footer_left {
    order: 1;
    width: 100% !important;
    margin-bottom: 2rem;
    text-align: left !important;
  }

  .footer_right {
    order: 2;
    width: 100% !important;
    text-align: left !important;
    display: block !important;
  }

  /* Allinea tutti gli elementi del footer a sinistra */
  .footer1 .container,
  .footer1 .row,
  .footer1 div,
  .footer1 ul,
  .footer1 li,
  .footer1 a,
  .footer1 p,
  .footer1 h1,
  .footer1 h2,
  .footer1 h3,
  .footer1 h4,
  .footer1 h5,
  .footer1 h6 {
    text-align: left !important;
    justify-content: flex-start !important;
  }

  /* Allinea anche i menu a sinistra */
  .footer1 .nav,
  .footer1 .navbar-nav {
    justify-content: flex-start !important;
    text-align: left !important;
  }

  .footer1 .nav > li,
  .footer1 .navbar-nav > li {
    text-align: left !important;
  }
}

@media (min-width: 993px) {
  .custom-menu-item .list-item-title {
    font-size: 19px !important;
  }
}

@media (min-width: 993px) and (max-width: 1199px) {
  .main-navigation {
    padding-top: 18px;
  }

  .custom-menu-item .list-item-title {
    font-size: 14px !important;
  }
}

.megamenu-mobile-container {
  display: none;
}

#CollapsingNavbarMobile.show {
  display: block;
}

/* ================================================
   CORSI -- ELENCO
   ================================================ */

.views-exposed-form {
  --bs-gutter-x: 1.875rem;
  --bs-gutter-y: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: calc(var(--bs-gutter-y) * -1);
  margin-right: calc(var(--bs-gutter-x) * -0.5);
  margin-left: calc(var(--bs-gutter-x) * -0.5);
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  margin-bottom: 1rem;
  gap: 0;
}

.view-id-corsi_di_laurea .views-exposed-form > *,
.view-id-corsi_di_laurea .views-exposed-form > .form-group {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: 100%;
  margin-bottom: 1rem !important;
}

.view-id-corsi_di_laurea .views-exposed-form > .select-wrapper > select {
  margin-bottom: 0 !important;
}

.views-exposed-form > * {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
}

@media (min-width: 62rem) {
  .views-exposed-form > * {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
  }
}

/* ================================================
   CORSI
   ================================================ */
.course__breadcrumb > .breadcrumb-container {
  margin: 0;
  background-color: #fff;
}

.info-corso .info-corso__info {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  grid-gap: 2rem 0;
  align-items: start;
}

@media (min-width: 75em) {
  .info-corso .info-corso__info {
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 2rem;
    row-gap: 3rem;
    margin-bottom: 3rem;
  }
}

.course header {
  max-width: 100% !important;
}

/* ================================================
   EVENTI
   ================================================ */
select#edit-field-event-date-value-year {
  display: block;
  width: 100%;
  padding: 0.375rem 2.25rem 0.375rem 0.75rem;
  -moz-padding-start: calc(0.75rem - 0.1875rem);
  font-size: 1.125rem;
  font-weight: normal;
  line-height: 1.5;
  color: #343a40;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  -webkit-background-size: 16px 12px;
  background-size: 16px 12px;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  -webkit-transition: border-color 0.15s ease-in-out,
    -webkit-box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out,
    -webkit-box-shadow 0.15s ease-in-out;
  -o-transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out,
    -webkit-box-shadow 0.15s ease-in-out;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* ================================================
   PARAGRAFO MAPPA
   ================================================ */
.map-title.titoloevidenziato {
  margin-top: 10px;
  margin-bottom: 20px;

  .titolo-paragrafo {
    height: 53px;
    font-weight: 500;
    margin-bottom: 0;
    padding: 10px;
    align-content: center;
  }
}

.map {
  margin-bottom: 30px;
}

/* ================================================
   COOKIE
   ================================================ */

/*background-color custom per uniformarlo ai colori del portale*/
.cookiesjsr-btn {
  cursor: pointer;
  font: inherit;
  width: calc(100% - 2.5em);
  text-transform: uppercase;
  padding: 0 0.8em;
  font-size: 0.85em;
  text-decoration: none;
  white-space: nowrap;
  margin: 0.625em;
  opacity: 0.95;
  -webkit-transform: scale(1);
  transform: scale(1);
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  color: #fff;
  color: var(--btn-font-color, #fff);
  border: 2px solid #fff;
  border: 2px solid var(--btn-border-color, #fff);
  background-color: #043360;
  background-color: var(--btn-bg-color, #043360);
}
@media (min-width: 576px) {
  .cookiesjsr-btn {
    min-height: 48px;
  }
}
@media (min-width: 992px) {
  .cookiesjsr-btn {
    padding: 0 2em;
  }
}
.cookiesjsr-btn:hover {
  opacity: 1;
  -webkit-transform: scale(1.02);
  transform: scale(1.02);
}
.cookiesjsr-btn.invert {
  color: #043360;
  color: var(--btn-inv-font-color, #043360);
  border-color: #043360;
  border-color: var(--btn-inv-border-color, #043360);
  background-color: #fff;
  background-color: var(--btn-inv-bg-color, #fff);
}
.cookiesjsr-btn.important {
  color: #043360;
  color: var(--btn-prime-font-color, #043360);
  border-color: #fff;
  border-color: var(--btn-prime-border-color, #fff);
  background-color: #fff;
  background-color: var(--btn-prime-bg-color, #fff);
}
.cookiesjsr-btn.important.invert {
  color: #fff;
  color: var(--btn-prime-inv-font-color, #fff);
  border-color: #043360;
  border-color: var(--btn-prime-inv-border-color, #043360);
  background-color: #043360;
  background-color: var(--btn-prime-inv-bg-color, #043360);
}
.cookiesjsr-links {
  list-style: none;
  margin: 0 -0.75em;
  padding: 0;
  display: flex;
  flex-direction: column;
}
@media (min-width: 576px) {
  .cookiesjsr-links.links--row {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: left;
    align-items: center;
  }
}
.cookiesjsr-links.links--row li {
  margin: 0;
  padding-left: 0.75em;
  padding-right: 0.75em;
  position: relative;
}
.cookiesjsr-links.links--row li a {
  margin: 0;
  padding: 0;
  line-height: 2em;
  display: inline-block;
  color: #fff; /*custom*/
}
/*custom*/
.cookiesjsr-links.links--row li a:hover {
  text-decoration: underline;
  color: #fff;
}
/********/
.cookiesjsr-links.links--row li:first-child:before {
  content: none;
}
@media (min-width: 576px) {
  .cookiesjsr-links.links--row li:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 0.3em;
    height: 0.3em;
    background-color: #fff;
    background-color: var(--link-list-separator-color, #fff);
    -webkit-transform: translate(-50%, -40%);
    transform: translate(-50%, -40%);
  }
}
.cookiesjsr-btn.denyAll {
  display: none;
}
@media (min-width: 1200px) {
  .cookiesjsr-btn.denyAll {
    display: inline-block;
  }
}
.cookiesjsr-switch {
  position: relative;
  margin: 0;
  padding: 0;
  display: block;
  width: 45px;
  width: var(--switch-width, 45px);
  height: 20px;
  height: var(--switch-height, 20px);
  border-radius: 20px;
  border-radius: var(--switch-height, 20px);
  background-color: #fff;
  background-color: var(--switch-bg-off, #fff);
  cursor: pointer;
  box-shadow: inset -1px 2px 1px rgba(0, 0, 0, 0.25);
  border: 0;
  transition: background-color 0.1s ease-in-out;
}
.cookiesjsr-switch:focus-within:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 10px;
  border: 1px dotted #eee;
  -webkit-transform: scale(1.4);
  transform: scale(1.4);
}
.cookiesjsr-switch:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 20px;
  width: var(--switch-height, 20px);
  height: 20px;
  height: var(--switch-height, 20px);
  border-radius: 20px;
  border-radius: var(--switch-height, 20px);
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
  background-color: #fff;
  background-color: var(--switch-handle-color, #fff);
  border: 1px solid #e4e5e6;
  border: 1px solid var(--switch-border-color, #e4e5e6);
  transition: left 0.1s ease-in-out;
  box-shadow: -1px 2px 1px rgba(0, 0, 0, 0.25);
}
.cookiesjsr-switch.active {
  background-color: #0a0;
  background-color: var(--switch-bg-on, #0a0);
}
.cookiesjsr-switch.active:after {
  left: 25px;
}
.cookiesjsr-switch input[type="checkbox"] {
  position: absolute;
  opacity: 0;
}
.cookiesjsr-banner {
  position: fixed;
  z-index: 10000;
  left: 0;
  bottom: 0;
  height: auto;
  width: 100vw;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  padding: 1em;
  background-color: #043360;
  background-color: var(--banner-bg-color, #043360);
  color: #fff;
  color: var(--banner-font-color, #fff);
  max-height: calc(100vh - 100px);
  overflow: auto;
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
.cookiesjsr-banner.active {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
@media (min-width: 768px) {
  .cookiesjsr-banner {
    flex-direction: row;
  }
}
.cookiesjsr-banner a {
  color: #fff;
  color: var(--link-list-font-color, #fff);
}
.cookiesjsr-banner--action,
.cookiesjsr-banner--info {
  width: 100%;
}
@media (min-width: 768px) {
  .cookiesjsr-banner--action,
  .cookiesjsr-banner--info {
    width: 50%;
  }
}
.cookiesjsr-banner--info {
  padding: 0 1.25em;
  padding: 0 var(--default-margin, 1.25em);
  margin-bottom: 1.25em;
  margin-bottom: var(--default-margin, 1.25em);
  max-height: calc(100vh - 100px - 2.5em);
  overflow: auto;
}
.cookiesjsr-banner--text {
  display: block;
}
.cookiesjsr-banner--links {
  margin-top: 0.5em;
  font-size: 0.85em;
}
.cookiesjsr-banner--action {
  display: flex;
  flex-direction: column;
  padding: 0;
}
@media (min-width: 420px) {
  .cookiesjsr-banner--action {
    flex-direction: row;
  }
}
.cookiesjsr-banner button.denyAll {
  display: none;
}
@media (min-width: 1200px) {
  .cookiesjsr-banner button.denyAll {
    display: inline-block;
  }
}
.cookiesjsr-service-groups {
  position: static !important;
  display: block;
  max-height: 100%;
  overflow: auto;
  list-style: none;
  margin: 0 0 -1px !important;
  padding: 0 !important;
}
.cookiesjsr-service-group {
  position: static !important;
  line-height: 1.5em;
  list-style: none;
}
.cookiesjsr-service-group--tab {
  min-height: 3em;
  padding: 1em 1.25em;
  padding: 1em var(--default-margin, 1.25em);
  display: block;
  width: 100%;
  text-decoration: none;
  text-align: left;
  cursor: pointer;
  font-weight: 700;
  margin: 0;
  border: 0;
  color: #000f37;
  color: var(--layer-tab-font-color, #000f37);
  background: #fff;
  background: var(--layer-tab-bg-color, #fff);
  border-bottom: 1px solid #e4e5e6;
  border-bottom: 1px solid var(--layer-border-color, #e4e5e6);
  -webkit-appearance: none;
  -moz-appearance: none;
}
.cookiesjsr-service-group--tab:last-child {
  border-bottom: 0;
}
@media (min-width: 768px) {
  .cookiesjsr-service-group--tab {
    padding: 1em 3.25em 1em 1.25em;
    width: calc(30% + 2em);
  }
}
.cookiesjsr-service-group--content {
  display: none;
}
@media (min-width: 768px) {
  .cookiesjsr-service-group--content {
    position: absolute;
    width: 70%;
    height: 100%;
    overflow: auto;
    right: 0;
    top: 0;
  }
}
.cookiesjsr-service-group--intro {
  padding: 1em 1.25em;
  padding: 1em var(--default-margin, 1.25em);
}
.cookiesjsr-service-group.active .cookiesjsr-service-group--tab {
  color: #fff;
  color: var(--layer-tab-active-font-color, #fff);
  background: #043360;
  background: var(--layer-tab-active-bg-color, #043360);
  border-bottom: 0;
}
.cookiesjsr-service-group.active .cookiesjsr-service-group--content {
  display: block;
  color: #fff;
  color: var(--layer-tab-active-font-color, #fff);
  background: #043360;
  background: var(--layer-tab-active-bg-color, #043360);
  font-weight: 500;
}
.cookiesjsr-service-group--services {
  margin: 0 !important;
  padding: 0 !important;
}
.cookiesjsr-service {
  display: flex;
  align-items: center;
  background-color: rgba(228, 229, 230, 0);
  transition: background-color 0.3s ease;
}
.cookiesjsr-service:hover {
  background-color: rgba(228, 229, 230, 0.1);
}
.cookiesjsr-service--description {
  padding: 0.625em 1.25em;
  width: calc(100% - 2.5em - 45px);
}
.cookiesjsr-service--description h3 {
  margin: 0;
  font-size: 1.125em;
  font-weight: 400;
  color: #fff;
  color: var(--layer-font-light, #fff);
}
.cookiesjsr-service--links a {
  font-size: 0.75em;
}
.cookiesjsr-service--links a,
.cookiesjsr-service--links a:active,
.cookiesjsr-service--links a:hover,
.cookiesjsr-service--links a:visited {
  color: #fff;
  color: var(--layer-font-light, #fff);
}
.cookiesjsr-service--action {
  padding: 0.625em 1.25em;
  width: calc(2.5em + 45px);
}
.cookiesjsr-service--always-on {
  color: #0a0;
  color: var(--switch-always-on-font-color, #0a0);
  text-align: right;
  display: flex;
  justify-content: flex-end;
  white-space: nowrap;
}
.cookiesjsr-service--always-on span {
  background-color: #fff;
  background-color: var(--switch-always-on-bg-color, #fff);
  padding: 0 0.5em;
}
.cookiesjsr-layer {
  display: block;
  position: fixed;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background: #fff;
  background: var(--layer-header-bg-color, #fff);
  height: 100vh;
  width: 100vw;
  max-width: 100%;
  z-index: 314160;
  padding: 3.5em 0 4.5em;
  padding: var(--layer-header-height, 3.5em) 0 var(--layer-footer-height, 4.5em);
  overflow: hidden;
  line-height: 1.5em;
}
@media (min-height: 668px) {
  .cookiesjsr-layer {
    height: 80vh;
    max-height: 575px;
  }
}
@media (min-height: 992px) {
  .cookiesjsr-layer {
    height: 60vh;
  }
}
@media (min-width: 768px) {
  .cookiesjsr-layer {
    width: 860px;
  }
}
.cookiesjsr-layer--overlay {
  position: fixed;
  z-index: 314159;
  height: 100vh;
  width: 100vw;
  left: 0;
  top: 0;
  background: rgba(0, 0, 0, 0.4);
}
.cookiesjsr-layer--header {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 100;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #fff;
  margin: 0;
  background: #fff;
  background: var(--layer-header-bg-color, #fff);
  padding: 0 1.25em;
  padding: 0 var(--default-margin, 1.25em);
  border-bottom: 1px solid #e4e5e6;
  border-bottom: 1px solid var(--layer-border-color, #e4e5e6);
  height: 3.5em;
}
.cookiesjsr-layer--title {
  color: #000f37;
  color: var(--layer-header-font-color, #000f37);
  text-transform: uppercase;
}
.cookiesjsr-layer--close {
  z-index: 102;
  width: 1em;
  height: 1em;
  background: transparent
    url("data:image/svg+xml;charset=utf-8,%3Csvg width='27' height='27' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24.263 0L13.501 10.762 2.737 0 0 2.737l10.764 10.764L0 24.263 2.737 27l10.764-10.764L24.263 27 27 24.263 16.238 13.501 27 2.737z' fill='%23000f37' fill-rule='evenodd'/%3E%3C/svg%3E")
    no-repeat 50% scroll;
  background-size: contain;
  text-indent: -999em;
  overflow: hidden;
  border: 0;
  cursor: pointer;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.cookiesjsr-layer--body {
  position: absolute;
  left: 0;
  right: 0;
  background: #fff;
  background: var(--layer-body-bg-color, #fff);
  top: 3.5em;
  top: var(--layer-header-height, 3.5em);
  bottom: 4.5em;
  bottom: var(--layer-footer-height, 4.5em);
}
.cookiesjsr-layer--footer {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 0 1.25em;
  padding: 0 var(--default-margin, 1.25em);
  height: 4.5em;
  height: var(--layer-footer-height, 4.5em);
  display: flex;
  justify-content: flex-end;
  align-items: center;
  background: #fff;
  background: var(--layer-footer-bg-color, #fff);
  border-top: 1px solid #e4e5e6;
  border-top: 1px solid var(--layer-border-color, #e4e5e6);
}
@media (min-width: 768px) {
  .cookiesjsr-layer--footer {
    justify-content: space-between;
  }
}
.cookiesjsr-layer--label-all {
  color: #000f37;
  color: var(--layer-footer-font-color, #000f37);
  display: none;
}
@media (min-width: 768px) {
  .cookiesjsr-layer--label-all {
    display: block;
    width: 30%;
    padding-right: 1.25em;
    padding-right: var(--default-margin, 1.25em);
  }
}
.cookiesjsr-layer--actions {
  display: flex;
  align-items: center;
  margin: -0.625em;
  width: calc(100% + 1.25em);
}
@media (min-width: 768px) {
  .cookiesjsr-layer--actions {
    width: calc(70% + 0.625em);
  }
}
.cookiesjsr-layer button.denyAll {
  display: none;
}
@media (min-width: 576px) {
  .cookiesjsr-layer button.denyAll {
    display: inline-block;
  }
}
#cookiesjsr {
  --default-margin: 1.25em;
  --font-size-reset: 1rem;
  --btn-font-color: #fff;
  --btn-border-color: #fff;
  --btn-bg-color: #043360;
  --btn-prime-font-color: #043360;
  --btn-prime-border-color: #fff;
  --btn-prime-bg-color: #fff;
  --btn-inv-font-color: #043360;
  --btn-inv-border-color: #043360;
  --btn-inv-bg-color: #fff;
  --btn-prime-inv-font-color: #fff;
  --btn-prime-inv-border-color: #043360;
  --btn-prime-inv-bg-color: #043360;
  --link-list-font-color: #fff;
  --link-list-separator-color: #fff;
  --banner-logo-offset: 100px;
  --banner-bg-color: #043360;
  --banner-font-color: #fff;
  --layer-header-height: 3.5em;
  --layer-header-bg-color: #fff;
  --layer-header-font-color: #000f37;
  --layer-body-bg-color: #fff;
  --layer-tab-bg-color: #fff;
  --layer-tab-font-color: #000f37;
  --layer-tab-active-bg-color: #043360;
  --layer-tab-active-font-color: #fff;
  --layer-bg-dark: #043360;
  --layer-font-light: #fff;
  --layer-font-dark: #000f37;
  --layer-border-color: #e4e5e6;
  --layer-footer-bg-color: #fff;
  --layer-footer-font-color: #000f37;
  --layer-footer-height: 4.5em;
  --switch-border-color: #e4e5e6;
  --switch-handle-color: #fff;
  --switch-bg-off: #fff;
  --switch-bg-on: #0a0;
  --switch-width: 45px;
  --switch-height: 20px;
  --switch-always-on-font-color: #0a0;
  --switch-always-on-bg-color: #fff;
}
.cookiesjsr--app {
  font-size: 1rem;
  font-size: var(--font-size-reset, 1rem);
}
body .cookiesjsr--app,
body .cookiesjsr--app *,
body .cookiesjsr--app :after,
body .cookiesjsr--app :before {
  box-sizing: border-box;
}
/* end: cookiesjsr.min.css */
