/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
  .border-start-sm {
    border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
  .border-end-sm {
    border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
  :is(.h-my-3-sm, .h-mt-3-sm) :is(h1, h2, h3, h4, h5, h6) {
    margin-top: 1rem !important;
  }
  :is(.h-my-3-sm, .h-mt-3-sm) :is(h1, h2, h3, h4, h5, h6) {
    margin-bottom: 1rem !important;
  }
  :is(.h-my-4-sm, .h-mt-4-sm) :is(h1, h2, h3, h4, h5, h6) {
    margin-top: 1.5rem !important;
  }
  :is(.h-my-4-sm, .h-mt-4-sm) :is(h1, h2, h3, h4, h5, h6) {
    margin-bottom: 1.5rem !important;
  }
  :is(.h-my-5-sm, .h-mt-5-sm) :is(h1, h2, h3, h4, h5, h6) {
    margin-top: 3rem !important;
  }
  :is(.h-my-5-sm, .h-mb-5-sm) :is(h1, h2, h3, h4, h5, h6) {
    margin-bottom: 3rem !important;
  }
  .paginationx .content-pag li:not(:last-child) {
    margin-right: 1.25rem;
  }
  .paginationx .content-pag .page-link { 
    border-color: #E4E4E4;
    border-radius: 50%;
    width: 28px;
    height: 28px;
    font-size: 12px;
  }
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
  .hr-my-md-4 .hr,
  .hr-my-md-4 hr {
    margin: 1.5rem 0;
  }
  .hr-my-md-5 .hr,
  .hr-my-md-5 hr {
    margin: 3rem 0;
  }
  .hr-s-extend-md .hr,
  .hr-s-extend-md hr {
    position: relative;
    width: 125%;
    margin-left: -25% !important;
  }
  .hr-e-extend-md .hr,
  .hr-e-extend-md hr {
    position: relative;
    width: 125%;
    margin-right: -25% !important;
  }
  .hr-pin.hr-s-extend-md .hr::before,
  .hr-pin.hr-e-extend-md .hr::after {
    content: '';
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    top: 50%;
    transform: translateY(-50%);
    border: 1px solid #fff;
  }
  .hr-pin.hr-s-extend-md .hr::before { left:0 }
  .hr-pin.hr-e-extend-md .hr::after { right:0 }
  :is(.h-my-3-md, .h-mt-3-md) :is(h1, h2, h3, h4, h5, h6) {
    margin-top: 1rem !important;
  }
  :is(.h-my-3-md, .h-mt-3-md) :is(h1, h2, h3, h4, h5, h6) {
    margin-bottom: 1rem !important;
  }
  :is(.h-my-4-md, .h-mt-4-md) :is(h1, h2, h3, h4, h5, h6) {
    margin-top: 1.5rem !important;
  }
  :is(.h-my-4-md, .h-mt-4-md) :is(h1, h2, h3, h4, h5, h6) {
    margin-bottom: 1.5rem !important;
  }
  :is(.h-my-5-md, .h-mt-5-md) :is(h1, h2, h3, h4, h5, h6) {
    margin-top: 3rem !important;
  }
  :is(.h-my-5-md, .h-mb-5-md) :is(h1, h2, h3, h4, h5, h6) {
    margin-bottom: 3rem !important;
  }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
  .fixed-top-lg {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030;
    transition: transform .35s ease-in-out;
  }
  .fixed-top-lg.hide-on-scroll {
    transform: translateY(-100%);
  }
  .position-absolute-lg {
    position: absolute !important;
  }
  .top-0-lg { top: 0 !important; }
  .bottom-0-lg { bottom: 0 !important; }
  .start-0-lg { left: 0 !important; }
  .end-0-lg { right: 0 !important; }
  .w-50-lg { width: 50% !important; }
  .pb-lg-5rem { padding-bottom: 5rem !important; }
  .beige-after-lg { 
    position: relative; 
    z-index: 0;
  }
  .beige-after-lg::after { 
    content: '';
    position: absolute; 
    top: 0;
    bottom: 0;
    right: -5rem;
    width: 5rem;
    background-color: var(--beige);
    z-index: -1;
  }
  .border-end-before-lg {
    position: relative;
  }
  .border-end-before-lg::before {
    content: '';
    position: absolute;
    top: 0;
    right: -3px;
    width: 6px;
    height: 52px;
    background-color: var(--bs-border-color);
  }
  .border-bottom-before-lg {
    position: relative;
  }
  .border-bottom-before-lg::before {
    content: '';
    position: absolute;
    bottom: -1px;
    right: -50vw;
    width: 50vw;
    height: 1px;
    background-color: var(--bs-border-color);
  }
  .border-5.border-bottom-before-lg::before {
    height: 5px;
    bottom: -5px;
  }
  .mt-notestata-lg { margin-top: 100px !important; }
  .navbar-expand-lg .navbar-brand {

  }
  .btn-big-lg { font-size: 20px }
  .hr-my-lg-4 .hr,
  .hr-my-lg-4 hr {
    margin: 1.5rem 0;
  }
  .hr-my-lg-5 .hr,
  .hr-my-lg-5 hr {
    margin: 3rem 0;
  }
  .hr-s-extend-lg .hr,
  .hr-s-extend-lg hr {
    position: relative;
    width: 125%;
    margin-left: -25% !important;
  }
  .hr-e-extend-lg .hr,
  .hr-e-extend-lg hr {
    position: relative;
    width: 125%;
    margin-right: -25% !important;
  }
  
  .hr-pin.hr-s-extend-lg .hr::before,
  .hr-pin.hr-e-extend-lg .hr::after {
    content: '';
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    top: 50%;
    transform: translateY(-50%);
    border: 1px solid #fff;
  }
  .hr-pin.hr-s-extend-lg .hr::before { left:0 }
  .hr-pin.hr-e-extend-lg .hr::after { right:0 }
  .bg-blur-white-lg {
    --bs-bg-opacity: .77;
    background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;
    backdrop-filter: blur(4px) brightness(115%);
    -webkit-backdrop-filter: blur(4px) brightness(115%);
    border-bottom: 1px solid rgba(var(--grey-rgb), var(--bs-bg-opacity));
  }
  .navbar-expand-lg .navbar-brand {
    width: 150px !important;
  }
  .navbar-expand-lg .nav-item:not(:first-child) {
    margin-left: calc(var(--bs-gutter-x) * .25);
  }
  .navbar-expand-lg .nav-link {
    text-decoration: none;
    position: relative;
    overflow: hidden;
  }

  .navbar-expand-lg .nav-link::before,
  .navbar-expand-lg .nav-link::after {
    content: "";
    position: absolute;
    border: 0px solid transparent;
    width: 0;
    height: 0;
    bottom: 0;
    right: 0;
  }

  .navbar-expand-lg .nav-link::before {
    border-bottom-width: 2px;
    border-left-width: 2px;
  }

  .navbar-expand-lg .nav-link::after {
    border-top-width: 2px;
    border-right-width: 2px;
  }

  .navbar-expand-lg .nav-link:hover,
  .navbar-expand-lg .nav-link.active {
    color: var(--ruby);
  }

  .navbar-expand-lg .nav-link:hover::before,
  .navbar-expand-lg .nav-link:hover::after,
  .navbar-expand-lg .nav-link.active::before,
  .navbar-expand-lg .nav-link.active::after {
    border-color: var(--ruby);
    transition: border-color 0s, width 0.3s, height 0.3s;
    width: 100%;
    height: 100%;
  }

  .navbar-expand-lg .nav-link:hover::before,
  .navbar-expand-lg .nav-link.active::before {
    transition-delay: 0s, 0s, 0.3s;
  }

  .navbar-expand-lg .nav-link:hover::after,
  .navbar-expand-lg .nav-link.active::after {
    transition-delay: 0s, 0.3s, 0s;
  }
  .navbar-expand-lg .navbar-nav .dropdown-menu {
    --bs-dropdown-bg: #fff;
    box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.16);
    padding-bottom: 1.25rem;
    padding-top: 1.25rem;
  
    display: block;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
    pointer-events: none;
  }
  .navbar-expand-lg .navbar-nav .dropdown:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(-5px);
    pointer-events: auto;
  }
  .navbar-expand-lg .navbar-nav .dropdown-item {
    --bs-dropdown-link-hover-color: var(--ruby);
    --bs-dropdown-item-padding-x: 10%;
    padding-left: 20%;
    font-size: 17px;
    white-space: break-spaces;
    line-height: 1.2;
    position: relative;
  }
  .navbar-expand-lg .navbar-nav .dropdown-item::before {
    content: '\f105';
    font-weight: 400;
    font-family: "Font Awesome 6 Pro";
    color: var(--main);
    position: absolute;
    left: 10%;
  }
  .navbar-expand-lg .navbar-nav .dropdown-item:focus::before, .navbar-expand-lg .navbar-nav .dropdown-item:hover::before {
    --bs-dropdown-link-hover-color: var(--ruby);
    color: var(--bs-dropdown-link-hover-color);
  }
  :is(.h-my-3-lg, .h-mt-3-lg) :is(h1, h2, h3, h4, h5, h6) {
    margin-top: 1rem !important;
  }
  :is(.h-my-3-lg, .h-mt-3-lg) :is(h1, h2, h3, h4, h5, h6) {
    margin-bottom: 1rem !important;
  }
  :is(.h-my-4-lg, .h-mt-4-lg) :is(h1, h2, h3, h4, h5, h6) {
    margin-top: 1.5rem !important;
  }
  :is(.h-my-4-lg, .h-mt-4-lg) :is(h1, h2, h3, h4, h5, h6) {
    margin-bottom: 1.5rem !important;
  }
  :is(.h-my-5-lg, .h-mt-5-lg) :is(h1, h2, h3, h4, h5, h6) {
    margin-top: 3rem !important;
  }
  :is(.h-my-5-lg, .h-mb-5-lg) :is(h1, h2, h3, h4, h5, h6) {
    margin-bottom: 3rem !important;
  }
  .counter, .no-counter {
    font-size: 60px;
  }
  .vertical-bullets.swiper-pagination {
    width: 100px;
    height: 70%;
  }
}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
  .position-absolute-xl {
    position: absolute !important;
  }
  .top-0-xl { top: 0 !important; }
  .bottom-0-xl { bottom: 0 !important; }
  .start-0-xl { left: 0 !important; }
  .end-0-xl { right: 0 !important; }
  .navbar-expand-lg .nav-item:not(:first-child) {
    margin-left: calc(var(--bs-gutter-x) * 1);
  }
  .titolo-testata {
    font-size: 100px !important;
  }
  .titolo-testata-home {
    font-size: 80px !important;
  }
  .text-big p { font-size:24px }
  .text-big span, .text-big strong { font-size:56px!important }
  .border-start-xl {
    border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
  .border-end-xl {
    border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }
  .hr-my-xl-5 .hr,
  .hr-my-xl-5 hr {
    margin: 3rem 0;
  }
  .p-xbig p { font-size: 30px }

  h2, .h2 { font-size: 40px }
  h1, .h1 { font-size: 50px }

  :is(.h-my-3-xl, .h-mt-3-xl) :is(h1, h2, h3, h4, h5, h6) {
    margin-top: 1rem !important;
  }
  :is(.h-my-3-xl, .h-mt-3-xl) :is(h1, h2, h3, h4, h5, h6) {
    margin-bottom: 1rem !important;
  }
  :is(.h-my-4-xl, .h-mt-4-xl) :is(h1, h2, h3, h4, h5, h6) {
    margin-top: 1.5rem !important;
  }
  :is(.h-my-4-xl, .h-mt-4-xl) :is(h1, h2, h3, h4, h5, h6) {
    margin-bottom: 1.5rem !important;
  }
  :is(.h-my-5-xl, .h-mt-5-xl) :is(h1, h2, h3, h4, h5, h6) {
    margin-top: 3rem !important;
  }
  :is(.h-my-5-xl, .h-mb-5-xl) :is(h1, h2, h3, h4, h5, h6) {
    margin-bottom: 3rem !important;
  }
  :is(.h-text) :is(h1, h2, h3) {
    font-size: 2.5rem !important;
  }
  .counter, .no-counter {
    font-size: 80px;
  }
  .navbar-expand-lg .navbar-brand {
    width: 185px !important;
  }

}

/* Extra large devices (large desktops, 1400px and up) */
@media (min-width: 1400px) {
  .navbar-expand-lg .nav-item:not(:first-child) {
    margin-left: calc(var(--bs-gutter-x) * 2);
  }
  .border-start-xxl {
    border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  }

  h2, .h2 { font-size: 50px }
  h1, .h1 { font-size: 55px }
  .vertical-bullets.swiper-pagination {
    width: 140px;
  }
}

/* Extra large devices (large desktops, 1600px and up) */
@media (min-width: 1630px) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1550px;
  }
  .navbar-expand-lg .nav-item:not(:first-child) {
    margin-left: calc(var(--bs-gutter-x) * 2.5);
  }
  .counter, .no-counter {
    font-size: 130px;
  }
  .tile-text {
    -webkit-line-clamp: 3;
    height: 78px;
  }
}
/* Extra large devices (large desktops, 1700px and up) */
@media (min-width: 1720px) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1640px;
  }
}
/* SuperExtra large devices (large desktops, 1920px and up) */
@media (min-width: 1920px) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1840px;
  }
  :is(.h-my-3-xxl, .h-mt-3-xxl) :is(h1, h2, h3, h4, h5, h6) {
    margin-top: 1rem !important;
  }
  :is(.h-my-3-xxl, .h-mt-3-xxl) :is(h1, h2, h3, h4, h5, h6) {
    margin-bottom: 1rem !important;
  }
  :is(.h-my-4-xxl, .h-mt-4-xxl) :is(h1, h2, h3, h4, h5, h6) {
    margin-top: 1.5rem !important;
  }
  :is(.h-my-4-xxl, .h-mt-4-xxl) :is(h1, h2, h3, h4, h5, h6) {
    margin-bottom: 1.5rem !important;
  }
  :is(.h-my-5-xxl, .h-mt-5-xxl) :is(h1, h2, h3, h4, h5, h6) {
    margin-top: 3rem !important;
  }
  :is(.h-my-5-xxl, .h-mb-5-xxl) :is(h1, h2, h3, h4, h5, h6) {
    margin-bottom: 3rem !important;
  }
}

/* Extra large devices (large desktops,  less than 1400px and up) */
@media (max-width: 1629.98px) {
  .ratio-1x1-xxxl-down {
    --bs-aspect-ratio: 100%;
  }
  .ratio-4x3-xxxl-down {
    --bs-aspect-ratio: 75%;
  }
  .ratio-16x9-xxxl-down {
    --bs-aspect-ratio: 56.25%;
  }
  .ratio-21x9-xxxl-down {
    --bs-aspect-ratio: 42.8571428571%;
  }
} 
/* Extra large devices (large desktops,  less than 1400px and up) */
@media (max-width: 1399.98px) {
  .ratio-1x1-xxl-down {
    --bs-aspect-ratio: 100%;
  }
  .ratio-4x3-xxl-down {
    --bs-aspect-ratio: 75%;
  }
  .ratio-16x9-xxl-down {
    --bs-aspect-ratio: 56.25%;
  }
  .ratio-21x9-xxl-down {
    --bs-aspect-ratio: 42.8571428571%;
  }
  .min-h-auto-xxl-down { min-height: auto !important }
  .mw-100-xxl-down { max-width: 100% !important }
}

/* Large devices (desktops, less than 1200px) */
@media (max-width: 1199.98px) {
  .ratio-1x1-xl-down {
    --bs-aspect-ratio: 100%;
  }
  .ratio-4x3-xl-down {
    --bs-aspect-ratio: 75%;
  }
  .ratio-16x9-xl-down {
    --bs-aspect-ratio: 56.25%;
  }
  .ratio-21x9-xl-down {
    --bs-aspect-ratio: 42.8571428571%;
  }
  .ratio-none-xl-down>*{
    position: static;
    top: auto;
    left: auto; 
    width: 100%;
    height: 100%;
  }
  .ratio-none-xl-down::before {
    display: none;
  }
  .text-capitalize-xl-down { text-transform:capitalize !important; }
  .min-h-auto-xl-down { min-height: auto !important }
  .no-boxshadow-xl-down {
    box-shadow: none !important
  }
  .no-rounded-xl-down {
    border-radius: 0 !important;
  }
  .mw-100-xl-down { max-width: 100% !important }
}

/* Medium devices (tablets, less than 992px) */
@media (max-width: 991.98px) {
  .ratio-1x1-lg-down {
    --bs-aspect-ratio: 100%;
  }
  .ratio-4x3-lg-down {
    --bs-aspect-ratio: 75%;
  }
  .ratio-16x9-lg-down {
    --bs-aspect-ratio: 56.25%;
  }
  .ratio-21x9-lg-down {
    --bs-aspect-ratio: 42.8571428571%;
  }
  .ratio-none-lg-down>*{
    position: static;
    top: auto;
    left: auto; 
    width: 100%;
    height: 100%;
  }
  .ratio-none-lg-down::before {
    display: none;
  }
  .ms-auto-lg-down { margin-left: auto !important }
  .mw-100-lg-down { max-width: 100% !important }
  .min-h-auto-lg-down { min-height: auto !important }
  .border-end-0-lg-down {
    border-right: 0 !important;
  }
  .border-start-0-lg-down {
    border-left: 0 !important;
  }
  .navbar-expand-lg .nav-item.dropdown.dropdown-user {
    border-top: 1px solid var(--ruby);
    border-bottom: 1px solid var(--ruby);
    padding-top: 1rem;
    padding-bottom: 1rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
  .navbar-expand-lg .nav-item.dropdown:not(.dropdown-user) > .nav-link { display:none; }
  .navbar-expand-lg .nav-item.dropdown.dropdown-user > .nav-link { pointer-events: none; cursor: default; }
  .navbar-expand-lg .nav-item.dropdown > .dropdown-menu {
    --bs-dropdown-font-size: var(--bs-nav-link-font-size);
    --bs-dropdown-item-padding-y: var(--bs-nav-link-padding-y);
    --bs-dropdown-link-color: var(--main);
    --bs-dropdown-item-padding-x: 0;
    --bs-dropdown-padding-y:0;
    --bs-dropdown-bg: transparent;
    display: block; 
  }
  .navbar-expand-lg .nav-item.dropdown.dropdown-user > .dropdown-menu {
    --bs-dropdown-link-color: var(--ruby);
  }
}

/* Small devices (landscape phones, less than 768px) */
@media (max-width: 767.98px) {
  .ratio-1x1-md-down {
    --bs-aspect-ratio: 100%;
  }
  .ratio-4x3-md-down {
    --bs-aspect-ratio: 75%;
  }
  .ratio-16x9-md-down {
    --bs-aspect-ratio: 56.25%;
  }
  .ratio-21x9-md-down {
    --bs-aspect-ratio: 42.8571428571%;
  }
  .ratio-none-md-down {
    position: static !important;
    display: block;
  }
  .ratio-none-md-down>*{
    position: static;
    top: auto;
    left: auto; 
    width: 100%;
    height: 100%;
  }
  .ratio-none-md-down::before {
    display: none;
  }
  .min-h-auto-md-down { min-height: auto !important }
  .border-end-0-md-down {
    border-right: 0 !important;
  }
}

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) {
  .ratio-1x1-sm-down {
    --bs-aspect-ratio: 100%;
  }
  .ratio-4x3-sm-down {
    --bs-aspect-ratio: 75%;
  }
  .ratio-16x9-sm-down {
    --bs-aspect-ratio: 56.25%;
  }
  .ratio-21x9-sm-down {
    --bs-aspect-ratio: 42.8571428571%;
  }
  .ratio-none-sm-down {
    position: static !important;
    display: block;
  }
  .ratio-none-sm-down>*{
    position: static;
    top: auto;
    left: auto; 
    width: 100%;
    height: 100%;
  }
  .ratio-none-sm-down::before {
    display: none;
  }
  .position-static-sm-down {
    position: static !important;
  }
  .min-h-auto-sm-down { min-height: auto !important }
  .text-big span, .text-big strong {
    font-size: calc(2.5rem  + 0.3vw) !important;
  }
  .tile-text { display: none; }
  .article-wrap:hover .tile-link {
    transition-delay: 500ms;
  }

}

/* Extra small devices (portrait phones, less than 480px) */
@media (max-width: 479.98px) {
  .row-cols-1-xs-down-border-top > *:nth-child(n+2) > * {
    padding-top: 1.5rem;
    border-top: 1px solid var(--bs-border-color);
  }
  .row-cols-1-xs-down > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .col-12-xs-down {
    flex: 0 0 auto;
    width: 100%;
  }
  .list-1col-xs-down li {
    width: 100%;
  }
  .ratio-1x1-xs-down {
    --bs-aspect-ratio: 100%;
  }
  .ratio-4x3-xs-down {
    --bs-aspect-ratio: 75%;
  }
  .ratio-16x9-xs-down {
    --bs-aspect-ratio: 56.25%;
  }
  .ratio-21x9-xs-down {
    --bs-aspect-ratio: 42.8571428571%;
  }
  .ratio-none-xs-down {
    position: static !important;
    display: block;
  }
  .ratio-none-xs-down>*{
    position: static;
    top: auto;
    left: auto; 
    width: 100%;
    height: 100%;
  }
  .ratio-none-xs-down::before {
    display: none;
  }
  .co-link {
    width: calc(100% - 3rem);
    padding: var(--bs-gutter-y) calc(var(--bs-gutter-x) * 0.5);
  }
}

/* Extra small devices (portrait phones, less than 375px) */
@media (max-width: 374.98px) {
  .navbar-brand { width: 40vw !important }
}