/*
 * ###############################################
 *  ACCESSIBILITY (2025)
 * ###############################################
 */

/* cta */

/* .disable-focus-styles :focus {
    outline: 0;
} */

/* text_blue_transparent  */
.text_blue_transparent {
    border: 1px solid #101C2B;
    color: #101C2B;
    padding: 12px 16px 10px 16px;
    text-decoration: none;
    background-color: transparent;
    /* display: block; */
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-transform: uppercase;
    font-size: 12px;
    /* min-width: 150px; */
    max-width: 100% !important;
    transition: all 0.5s linear;
}

.text_blue_transparent:hover {
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.20) 0%, rgba(0, 0, 0, 0.20) 100%);
    color: #101C2B;
    border: 1px solid transparent;
    text-decoration: none;
}

.text_blue_transparent:focus {
    color: #101C2B;
}

/* text_white_transparent  */
.text_white_transparent {
    padding: 12px 16px 10px 16px;
    text-decoration: none;
    background-color: transparent;
    color: #fff;
    /* display: block; */
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-transform: uppercase;
    font-size: 12px;
    /* min-width: 150px; */
    max-width: 100% !important;
    border: 1px solid #fff;
    transition: all 0.5s linear;
}

.text_white_transparent:hover {
    color: #fff;
    background: rgba(150, 148, 148, 0.20);
    border: 1px solid #fff;
    text-decoration: none;
}

.text_white_transparent:focus {
    color: #ffffff;
}

/* text_white_bg_blue  */
.text_white_bg_blue {
    padding: 12px 16px 10px 16px;
    text-decoration: none;
    background-color: #101C2B;
    color: #fff;
    /* display: block; */
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-transform: uppercase;
    font-size: 12px;
    /* min-width: 150px; */
    max-width: 100% !important;
    border: 1px solid #101C2B;
    transition: all 0.5s linear;
}

.text_white_bg_blue:hover {
    color: #fff;
    background: #76879B;
    border: 1px solid #76879B;
    text-decoration: none;
}

.text_white_bg_blue:focus {
    color: #ffffff;
}

/* text_white_bg_azure  */
.text_white_bg_azure {
    padding: 12px 16px 10px 16px;
    text-decoration: none;
    background-color: #4D82C3;
    color: #fff;
    /* display: block; */
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-transform: uppercase;
    font-size: 12px;
    /* min-width: 150px; */
    max-width: 100% !important;
    border: 1px solid #4D82C3;
    transition: all 0.5s linear;
}

.text_white_bg_azure:hover {
    color: #fff;
    background: #406DA4;
    border: 1px solid #406DA4;
    text-decoration: none;
}

.text_white_bg_azure:focus {
    color: #ffffff;
}

/* text_white_bg_orange */
.text_white_bg_orange {
    padding: 12px 16px 10px 16px;
    text-decoration: none;
    background-color: #F39E48;
    color: #ffffff;
    /* display: block; */
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-transform: uppercase;
    font-size: 12px;
    /* min-width: 150px; */
    max-width: 100% !important;
    border: 1px solid #F39E48;
    transition: all 0.5s linear;
}

.text_white_bg_orange:hover {
    color: #ffffff;
    background: #481904;
    border: 1px solid #481904;
    text-decoration: none;
}

.text_white_bg_orange:focus {
    color: #ffffff;
}

/* text_white_bg_violet */
.text_white_bg_violet {
    padding: 12px 16px 10px 16px;
    text-decoration: none;
    background-color: #8417C7;
    color: #ffffff;
    /* display: block; */
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-transform: uppercase;
    font-size: 12px;
    /* min-width: 150px; */
    max-width: 100% !important;
    border: 1px solid #8417C7;
    transition: all 0.5s linear;
}

.text_white_bg_violet:hover {
    color: #ffffff;
    background: #4F0E77;
    border: 1px solid #4F0E77;
    text-decoration: none;
}

.text_white_bg_violet:focus {
    color: #ffffff;
}

/*
 * content-project-slider (dots) 
 */

.content-project-slider .slick-dots li button:focus:before {
    outline: 2px solid #F39E48;
    outline-offset: -2px;
    opacity: 1;
    font-size: 0;
}

.content-project-slider .slick-dots li button:hover:before {
    opacity: 1;
    font-size: 0;
    outline: 2px solid transparent;
    outline-offset: -2px;
}

/*
 * content-project-slider (arrow-white|arrow-blue) 
 */

.content-project-slider .slick-prev.arrow-white {
    width: 96px;
    height: 96px;
    border: 4px solid rgba(255, 255, 255, 0.5);
    border-radius: 60px;
    box-shadow: none;
}

.content-project-slider .slick-prev.arrow-white:hover {
    border: 4px solid rgba(255, 255, 255, 0.5);
}

.content-project-slider .slick-prev.arrow-white:focus {
    border: 4px solid rgba(255, 255, 255, 0.5);
}

.content-project-slider .slick-prev.arrow-white:before {
    content: '';
    width: 30px;
    height: 30px;
    display: block;
    border-right: 5px solid rgba(255, 255, 255, 0.5);
    border-bottom: 5px solid rgba(255, 255, 255, 0.5);
    transform: rotate(130deg);
    cursor: pointer;
    margin: 0 auto;
    position: absolute;
    top: 32%;
    left: 40%;
    opacity: 1;
}

.content-project-slider .slick-prev.arrow-blue {
    width: 96px;
    height: 96px;
    border: 4px solid rgba(127, 127, 127, 0.5);
    border-radius: 60px;
    box-shadow: none;
}

.content-project-slider .slick-prev.arrow-blue:hover {
    border: 4px solid rgba(127, 127, 127, 0.5);
}

.content-project-slider .slick-prev.arrow-blue:focus {
    border: 4px solid rgba(127, 127, 127, 0.5);
}

.content-project-slider .slick-prev.arrow-blue:before {
    content: '';
    width: 30px;
    height: 30px;
    display: block;
    border-right: 5px solid rgba(127, 127, 127, 0.5);
    border-bottom: 5px solid rgba(127, 127, 127, 0.5);
    transform: rotate(130deg);
    cursor: pointer;
    margin: 0 auto;
    position: absolute;
    top: 32%;
    left: 40%;
    opacity: 1;
}

.content-project-slider .slick-prev:hover:before {
    /* animation: animateprevproject 2s infinite; --> changed to one-shot animation */
    animation: Animation_OneShot_Prev 2s;
    animation-iteration-count: 1;
}

@keyframes animateprevproject {
    0% {
        opacity: 0;
        transform: rotate(130deg) translate(-20px, -20px);
    }

    33% {
        opacity: 1;
    }

    66% {
        opacity: 0;
        transform: rotate(130deg) translate(20px, 20px);
    }

    67% {
        opacity: 0;
        transform: rotate(130deg) translate(-20px, -20px);
    }

    100% {
        opacity: 1;
        transform: rotate(130deg) translate(0, 0);
    }
}

.content-project-slider .slick-next.arrow-white {
    width: 96px;
    height: 96px;
    border: 4px solid rgba(255, 255, 255, 0.5);
    border-radius: 60px;
    box-shadow: none;
}

.content-project-slider .slick-next.arrow-white:hover {
    border: 4px solid rgba(255, 255, 255, 0.5);
}

.content-project-slider .slick-next.arrow-white:focus {
    border: 4px solid rgba(255, 255, 255, 0.5);
}

.content-project-slider .slick-next.arrow-white:before {
    content: '';
    width: 30px;
    height: 30px;
    display: block;
    border-right: 5px solid rgba(255, 255, 255, 0.5);
    border-bottom: 5px solid rgba(255, 255, 255, 0.5);
    transform: rotate(-45deg);
    cursor: pointer;
    margin: 0 auto;
    position: absolute;
    top: 32%;
    left: 30%;
    opacity: 1;
}

.content-project-slider .slick-next.arrow-blue {
    width: 96px;
    height: 96px;
    border: 4px solid rgba(127, 127, 127, 0.5);
    border-radius: 60px;
    box-shadow: none;
}

.content-project-slider .slick-next.arrow-blue:hover {
    border: 4px solid rgba(127, 127, 127, 0.5);
}

.content-project-slider .slick-next.arrow-blue:focus {
    border: 4px solid rgba(127, 127, 127, 0.5);
}

.content-project-slider .slick-next.arrow-blue:before {
    content: '';
    width: 30px;
    height: 30px;
    display: block;
    border-right: 5px solid rgba(127, 127, 127, 0.5);
    border-bottom: 5px solid rgba(127, 127, 127, 0.5);
    transform: rotate(-45deg);
    cursor: pointer;
    margin: 0 auto;
    position: absolute;
    top: 32%;
    left: 30%;
    opacity: 1;
}

.content-project-slider .slick-next:hover:before {
    /* animation: animatenextproject 2s infinite; --> changed to one-shot animation */
    animation: Animation_OneShot_Next 2s;
    animation-iteration-count: 1;
}

@keyframes animatenextproject {
    0% {
        opacity: 0;
        transform: rotate(-45deg) translate(-20px, -20px);
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        transform: rotate(-45deg) translate(20px, 20px);
    }
}

/* 
 * slider-txt-4card-cta (dots) 
 */

.content-slider-txt-4card-cta .slick-dots li button:focus:before {
    outline: 2px solid #030302;
    outline-offset: -2px;
    opacity: 1;
    font-size: 0;
}

.content-slider-txt-4card-cta .slick-dots li button:hover:before {
    opacity: 1;
    font-size: 0;
    outline: 2px solid transparent;
    outline-offset: -2px;
}

/* 
 * slider-txt-4card-cta (arrow-grey) 
 */

.content-slider-txt-4card-cta .slick-prev.arrow-grey {
    width: 96px;
    height: 96px;
    border: 4px solid rgba(128, 128, 128, 0.5);
    border-radius: 60px;
    box-shadow: none;
    left: -110px;
    z-index: 1;
}

@media(min-width: 319px) and (max-width: 1024px) {
    .content-slider-txt-4card-cta .slick-prev.arrow-grey {
        left: -10px;
        transform: translate(0, -50%) scale(.7);
    }
}

.content-slider-txt-4card-cta .slick-prev.arrow-grey:hover {
    border: 4px solid rgba(128, 128, 128, 1);
}

.content-slider-txt-4card-cta .slick-prev.arrow-grey:focus {
    border: 4px solid rgba(128, 128, 128, 1);
}

.content-slider-txt-4card-cta .slick-prev.arrow-grey:before {
    content: '';
    width: 30px;
    height: 30px;
    display: block;
    border-right: 5px solid #808080;
    border-bottom: 5px solid #808080;
    transform: rotate(130deg);
    cursor: pointer;
    margin: 0 auto;
    position: absolute;
    top: 32%;
    left: 40%;
    opacity: 1;
}

.content-slider-txt-4card-cta .slick-prev:hover:before {
    /* animation: animateprev 2s infinite; --> changed to one-shot animation */
    animation: Animation_OneShot_Prev 2s;
    animation-iteration-count: 1;
}

@keyframes animateprev {
    0% {
        opacity: 0;
        transform: rotate(130deg) translate(-20px, -20px);
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        transform: rotate(130deg) translate(20px, 20px);
    }
}

.content-slider-txt-4card-cta .slick-next.arrow-grey {
    width: 96px;
    height: 96px;
    border: 4px solid rgba(128, 128, 128, 0.5);
    border-radius: 60px;
    box-shadow: none;
    right: -110px;
    z-index: 1;
}

@media(min-width: 319px) and (max-width: 1024px) {
    .content-slider-txt-4card-cta .slick-next.arrow-grey {
        right: -10px;
        transform: translate(0, -50%) scale(.7);
    }
}

.content-slider-txt-4card-cta .slick-next.arrow-grey:hover {
    border: 4px solid rgba(128, 128, 128, 1);
}

.content-slider-txt-4card-cta .slick-next.arrow-grey:focus {
    border: 4px solid rgba(128, 128, 128, 1);
}

.content-slider-txt-4card-cta .slick-next.arrow-grey:before {
    content: '';
    width: 30px;
    height: 30px;
    display: block;
    border-right: 5px solid #808080;
    border-bottom: 5px solid #808080;
    transform: rotate(-45deg);
    cursor: pointer;
    margin: 0 auto;
    position: absolute;
    top: 32%;
    left: 30%;
    opacity: 1;
}

.content-slider-txt-4card-cta .slick-next:hover:before {
    /* animation: animatenext 2s infinite; --> changed to one-shot animation */
    animation: Animation_OneShot_Next 2s;
    animation-iteration-count: 1;
}

@keyframes animatenext {
    0% {
        opacity: 0;
        transform: rotate(-45deg) translate(-20px, -20px);
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        transform: rotate(-45deg) translate(20px, 20px);
    }
}

/* 
 * slider-txt-4card-cta (arrow-white) 
 */

.content-slider-txt-4card-cta .slick-prev.arrow-white {
    width: 96px;
    height: 96px;
    border: 4px solid rgba(255, 255, 255, 0.5);
    border-radius: 60px;
    box-shadow: none;
    left: -110px;
    z-index: 1;
}

@media(min-width: 319px) and (max-width: 1024px) {
    .content-slider-txt-4card-cta .slick-prev.arrow-white {
        left: -10px;
        transform: translate(0, -50%) scale(.7);
    }
}

.content-slider-txt-4card-cta .slick-prev.arrow-white:hover {
    border: 4px solid rgba(255, 255, 255, 0.5);
}

.content-slider-txt-4card-cta .slick-prev.arrow-white:focus {
    border: 4px solid rgba(rgba(255, 255, 255, 0.5));
}

.content-slider-txt-4card-cta .slick-prev.arrow-white:before {
    content: '';
    width: 30px;
    height: 30px;
    display: block;
    border-right: 5px solid rgba(255, 255, 255, 0.5);
    border-bottom: 5px solid rgba(255, 255, 255, 0.5);
    transform: rotate(130deg);
    cursor: pointer;
    margin: 0 auto;
    position: absolute;
    top: 32%;
    left: 40%;
    opacity: 1;
}

.content-slider-txt-4card-cta .slick-prev:hover:before {
    /* animation: animateprev 2s infinite; --> changed to one-shot animation */
    animation: Animation_OneShot_Prev 2s;
    animation-iteration-count: 1;
}

@keyframes animateprev {
    0% {
        opacity: 0;
        transform: rotate(130deg) translate(-20px, -20px);
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        transform: rotate(130deg) translate(20px, 20px);
    }
}

.content-slider-txt-4card-cta .slick-next.arrow-white {
    width: 96px;
    height: 96px;
    border: 4px solid rgba(255, 255, 255, 0.5);
    border-radius: 60px;
    box-shadow: none;
    right: -110px;
    z-index: 1;
}

@media(min-width: 319px) and (max-width: 1024px) {
    .content-slider-txt-4card-cta .slick-next.arrow-white {
        right: -10px;
        transform: translate(0, -50%) scale(.7);
    }
}

.content-slider-txt-4card-cta .slick-next.arrow-white:hover {
    border: 4px solid rgba(255, 255, 255, 0.5);
}

.content-slider-txt-4card-cta .slick-next.arrow-white:focus {
    border: 4px solid rgba(255, 255, 255, 0.5);
}

.content-slider-txt-4card-cta .slick-next.arrow-white:before {
    content: '';
    width: 30px;
    height: 30px;
    display: block;
    border-right: 5px solid rgba(255, 255, 255, 0.5);
    border-bottom: 5px solid rgba(255, 255, 255, 0.5);
    transform: rotate(-45deg);
    cursor: pointer;
    margin: 0 auto;
    position: absolute;
    top: 32%;
    left: 30%;
    opacity: 1;
}

.content-slider-txt-4card-cta .slick-next:hover:before {
    /* animation: animatenext 2s infinite; --> changed to one-shot animation */
    animation: Animation_OneShot_Next 2s;
    animation-iteration-count: 1;
}

@keyframes animatenext {
    0% {
        opacity: 0;
        transform: rotate(-45deg) translate(-20px, -20px);
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        transform: rotate(-45deg) translate(20px, 20px);
    }
}

/* content-slider-2card-hubdb (dots) */
.content-slider-2card-hubdb .slick-dots li button:focus:before {
    opacity: 1;
    font-size: 0;
    outline: 2px solid #F39E48;
    outline-offset: -2px;
}

.content-slider-2card-hubdb .slick-dots li button:hover:before {
    opacity: 1;
    font-size: 0;
    outline: 2px solid transparent;
    outline-offset: -2px;
}

/* content-slider-txt-3card-cta (dots) */
.content-slider-txt-3card-cta .slick-dots li button:focus:before {
    outline: 2px solid #F39E48;
    outline-offset: -2px;
    opacity: 1;
    font-size: 0;
}

.content-slider-txt-3card-cta .slick-dots li button:hover:before {
    opacity: 1;
    font-size: 0;
    outline: 2px solid transparent;
    outline-offset: -2px;
}

/**
 * Note: the same styles for ARROWS and DOTS are applied to <content-project-slider> for consistency and to avoid code duplication.
 * Modulo: <content-slider-txt-3card-cta>
 * Modulo: <content-slider-txt-2card-cta>
 * Modulo: <content-logo-carousel-grid>
 */


/* Arrows (common styles) */

.content-project-slider .slick-prev,
.content-project-slider .slick-next {
  display: block;
  width: 96px;
  height: 96px;
  padding: 0;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: 2px solid transparent;
  background: transparent;
  z-index: 1;
  border: 5px solid rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  box-shadow: 0.375em 0.375em 0 0 rgba(15, 28, 63, 0.125);
}

.content-project-slider .slick-prev.arrow-white,
.content-project-slider .slick-next.arrow-white {
    border: 5px solid rgba(255, 255, 255, 0.5);
}

.content-project-slider .slick-prev.arrow-blue,
.content-project-slider .slick-next.arrow-blue {
    border: 5px solid rgba(127, 127, 127, 0.5);
}

.content-project-slider .slick-prev,
.content-project-slider.txt-2card .slick-prev,
.content-project-slider.txt-3card .slick-prev {
    left: -110px;
}

.content-project-slider .slick-next,
.content-project-slider.txt-2card .slick-next,
.content-project-slider.txt-3card .slick-next {
    right: -110px;
}

.content-project-slider .slick-prev:focus,
.content-project-slider .slick-prev:hover,
.content-project-slider .slick-next:focus,
.content-project-slider .slick-next:hover {
    border: 5px solid rgba(255, 255, 255, .5);
}

.content-project-slider .slick-prev:before {
    content: '';
    width: 30px;
    height: 30px;
    display: block;
    border-right: 5px solid rgba(255, 255, 255, .5);
    border-bottom: 5px solid rgba(255, 255, 255, .5);
    transform: rotate(130deg);
    cursor: pointer;
    margin: 0 auto;
    position: absolute;
    top: 32%;
    left: 40%;
    opacity: 1;
}

.content-project-slider .slick-next:before {
    content: '';
    width: 30px;
    height: 30px;
    display: block;
    border-right: 5px solid rgba(255, 255, 255, .5);
    border-bottom: 5px solid rgba(255, 255, 255, .5);
    transform: rotate(-45deg);
    cursor: pointer;
    margin: 0 auto;
    position: absolute;
    top: 32%;
    left: 25%;
    opacity: 1;
}

.content-project-slider .slick-prev:hover:before {
    animation: Animation_OneShot_Prev 2s;
    animation-iteration-count: 1;
}

.content-project-slider .slick-next:hover:before {
    animation: Animation_OneShot_Next 2s;
    animation-iteration-count: 1;
}

@media(min-width: 319px) and (max-width: 768px) {
    .content-project-slider .slick-prev,
    .content-project-slider.txt-2card .slick-prev,
    .content-project-slider.txt-3card .slick-prev {
        transform: translate(0, -50%) scale(.7);
    }

    .content-project-slider .slick-prev {left: 30px;}
    .content-project-slider.txt-2card .slick-prev {left: -70px;}
    .content-project-slider.txt-3card .slick-prev {left: -85px;}

    .content-project-slider .slick-next,
    .content-project-slider.txt-2card .slick-next,
    .content-project-slider.txt-3card .slick-next {
        transform: translate(0, -50%) scale(.7);
    }

    .content-project-slider .slick-next {right: 30px;}
    .content-project-slider.txt-2card .slick-next {right: -70px;}
    .content-project-slider.txt-3card .slick-next {right: -85px;}
}

/* Arrow animation one-shot (previous + next) */
@keyframes Animation_OneShot_Prev {
    0% {
        opacity: 0;
        transform: rotate(130deg) translate(-20px, -20px);
    }

    33% {
        opacity: 1;
    }

    66% {
        opacity: 0;
        transform: rotate(130deg) translate(20px, 20px);
    }

    67% {
        opacity: 0;
        transform: rotate(130deg) translate(-20px, -20px);
    }

    100% {
        opacity: 1;
        transform: rotate(130deg) translate(0, 0);
    }
}

@keyframes Animation_OneShot_Next {
    0% {
        opacity: 0;
        transform: rotate(-45deg) translate(-20px, -20px);
    }

    33% {
        opacity: 1;
    }

    66% {
        opacity: 0;
        transform: rotate(-45deg) translate(20px, 20px);
    }

    67% {
        opacity: 0;
        transform: rotate(-45deg) translate(-20px, -20px);
    }

    100% {
        opacity: 1;
        transform: rotate(-45deg) translate(0, 0);
    }
}


/* Dots (common styles) */

.content-project-slider .slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.content-project-slider .slick-dots {
  position: absolute;
  top: 580px;
  bottom: auto;
  right: 910px;
  display: block;
  width: auto;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: right;
}

.content-project-slider .slick-dots li {
  position: relative;
  display: inline-block;
  width: 32px;
  height: 4px;
  margin: 0 2px;
  padding: 0;
  cursor: pointer;
  border: 1px solid transparent;
  font-size: 0;
}

.content-project-slider .slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 32px;
  height: 4px;
  padding: 5px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: 2px solid transparent;
  outline-offset: -2px;
  background: transparent;
  border: 1px solid transparent;
}

.content-project-slider .slick-dots li button:hover {
  outline: 2px solid transparent;
  outline-offset: -2px;
  opacity: 1;
  font-size: 0;
}

.content-project-slider .slick-dots li button:hover:before {
  opacity: 1;
  font-size: 0;
  outline: 2px solid transparent;
  outline-offset: -2px;
}

.content-project-slider .slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 32px;
  height: 4px;
  text-align: center;
  opacity: 1;
  color: #4D82C3;
  background: #4D82C3;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 0;
}

.content-project-slider .slick-dots li.slick-active button:before {
  opacity: 1;
  color: #F39E48;
  background: #F39E48;
  font-size: 0;
}

@media (max-width: 1024px) {
  .content-project-slider .slick-dots {
    right: auto;
    top: 645px;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    margin: 0 auto;
    text-align: center;
  }
}

@media(min-width: 319px) and (max-width:767px) {
  .content-project-slider .slick-dots {
    position: relative;
    top: 40px;
    bottom: 80px;
    height: 55px;
  }
}

/* END: SLIDER DOTS */