img:is([sizes=auto i], [sizes^="auto," i]) {
   contain-intrinsic-size: 3000px 1500px
}

link[rel="icon"]{
    display:none;
}


a {

    text-decoration: none !important; 
}
   
p {

    font-size: 18px;
}

/*new section*/
.about-section-s5  {
   margin: 20px 0px;
}
.about-details p {
   font-size: 17px;
}
.indsustry-slider .carousel-item img{

    height: 400px;
    object-fit: cover;

 
}
.indsustry-slider .carousel-indicators{
   display: none;
}

.indsustry-slider .carousel-caption {   

          padding: 0px 44px;
    text-align: left;
    padding-left: 3%;
    background: black;
    width: 35%;
   height: 342px;

    right: 0%;
    left: 60%;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.12);
    /* backdrop-filter: blur(18px); */
    -webkit-backdrop-filter: blur(18px);
    border: 1px solid rgba(255, 255, 255, 0.18);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
    color: #fff;
    overflow: hidden;
    background: white;
}

.indsustry-slider .carousel-caption h5{

    font-size: 26px;
    color: #385890;    padding-bottom: 7px;
    padding-top: 15px;

}
.indsustry-slider .carousel-caption p{
    color: black;
    font-size: 16px;
}
.indsustry-slider .transition-link.transparent {
color: black !important;
}
.indsustry-slider .carousel-control-prev {
left: 83%;
    top: 71%;

}

.indsustry-slider .carousel-control-next{
    top: 71%;

}

@media screen and (min-width:100px) and (max-width:768px) {
/*.other-service .service-container.grid-container {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
*/
.other-service .other-s {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.hero-large .grid-container {

   grid-template-columns: unset !important; 
}



}



.syne-<uniquifier> {
  font-family: "Syne", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}
.spl-ttl{
   text-align: center;
}
.spl-ttl h2{
    font-size: 35px;
    font-family: "Syne", sans-serif;
    color: black;
    font-weight: 700;

}

.mission-vision h3{
  font-family: "Syne", sans-serif;
font-size: 25px;       color: #ffa500;
    font-weight: 700;
}

.mission-vision p{
font-family: "Outfit", sans-serif;
    color: #e8e8e8;
font-size: 18px;
}
.tagline{
    color: orange;
    margin-bottom: 12px;
    font-weight: 600;
}

.spl-ttl span{
   color: #385890;
}
.spl-ttl p{

font-size: 22px;
font-family: "Outfit", sans-serif;
margin-bottom: 25px;
}
.other-service .spl-ttl h2 {

    color: orange;
}
.other-service .title {
   
    font-size: 18px;
    line-height: 25px;
}

/*.placement-section .spl-ttl h2{
   color: white;
}*/
.placement-section .spl-ttl h2 span{
    color: #385890;

}
.placement-section .spl-ttl p{
    color: black;

}

.carousel-control-prev-icon, .carousel-control-next-icon {

    filter: invert(1);
}


.page-title3 {
    background: url(https://www.pioneerfinance.co.in/assets/images/about-us.jpg) center center / cover no-repeat local;
    width: 100%;
    height: 470px;
    text-align: center;
    position: relative;
}

.page-title4 {
    background: url(../wp-media/join-us.png) center center / cover no-repeat local;
    width: 100%;
    height: 470px;
    text-align: center;
    position: relative;
}


.section-title-s2 h2 {
    line-height: 1.2em;
font-weight: bold;
    color: #012f5c;
    position: relative;
    line-height : 1.2em;

}

.section-title-s2 p {
   
   
    font-size: 15px;
}
.about-section-s5 .about-img {
    margin-top: -140px;
    border-radius: 5px;
    -webkit-box-shadow: 0 0 10px #b3b3b3;
    box-shadow: 0 0 10px #b3b3b3;
}

.section-title-s2 h2:before{

    content: "";
    background-color: #fdd415;
    width: 30px;
    height: 5px;
    border-radius: 5px;
    position: absolute;
       left: 2%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
      bottom: -6px;
}
:root {
   --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Solid";
   --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Regular";
   --fa-font-light: normal 300 1em/1 "Font Awesome 6 Light";
   --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Thin";
   --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone";
   --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp";
   --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp";
   --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp";
   --fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp";
   --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";

}

@view-transition {
   navigation: auto
}

:root {
   view-transition-name: root;
   --radius-l: 24px;
   --radius-m: 16px;
   --radius-s: 8px;
   --cursor-default: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2720%27%20height%3D%2720%27%20viewBox%3D%270%200%2020%2020%27%3E%3Crect%20x%3D%270%27%20y%3D%270%27%20width%3D%2720%27%20height%3D%2720%27%20rx%3D%274%27%20fill%3D%27%230066ff%27%2F%3E%3Cpolygon%20points%3D%277%2C5%2014%2C10%207%2C15%27%20fill%3D%27%23fff%27%2F%3E%3C%2Fsvg%3E") 10 10, default;
   --cursor-pointer: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2720%27%20height%3D%2720%27%20viewBox%3D%270%200%2020%2020%27%3E%3Crect%20x%3D%270%27%20y%3D%270%27%20width%3D%2720%27%20height%3D%2720%27%20rx%3D%274%27%20fill%3D%27%230066ff%27%2F%3E%3Cpath%20d%3D%27M11.5%205%20L15%2010%20L11.5%2015%27%20stroke%3D%27%23fff%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3Cpath%20d%3D%27M15%2010%20H4%27%20stroke%3D%27%23fff%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%2F%3E%3C%2Fsvg%3E") 10 10, pointer;
   --cursor-text: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2720%27%20height%3D%2720%27%20viewBox%3D%270%200%2020%2020%27%3E%3Crect%20x%3D%270%27%20y%3D%270%27%20width%3D%2720%27%20height%3D%2720%27%20rx%3D%274%27%20fill%3D%27%230066ff%27%2F%3E%3Crect%20x%3D%279%27%20y%3D%274%27%20width%3D%272%27%20height%3D%2712%27%20fill%3D%27%23fff%27%2F%3E%3Crect%20x%3D%276%27%20y%3D%274%27%20width%3D%278%27%20height%3D%272%27%20fill%3D%27%23fff%27%2F%3E%3Crect%20x%3D%276%27%20y%3D%2714%27%20width%3D%278%27%20height%3D%272%27%20fill%3D%27%23fff%27%2F%3E%3C%2Fsvg%3E") 10 10, text;
   --cursor-pause: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2720%27%20height%3D%2720%27%20viewBox%3D%270%200%2020%2020%27%3E%3Crect%20x%3D%270%27%20y%3D%270%27%20width%3D%2720%27%20height%3D%2720%27%20rx%3D%274%27%20fill%3D%27%230066ff%27%2F%3E%3Crect%20x%3D%277%27%20y%3D%275%27%20width%3D%272.5%27%20height%3D%2710%27%20rx%3D%271%27%20fill%3D%27%23fff%27%2F%3E%3Crect%20x%3D%2711%27%20y%3D%275%27%20width%3D%272.5%27%20height%3D%2710%27%20rx%3D%271%27%20fill%3D%27%23fff%27%2F%3E%3C%2Fsvg%3E") 10 10, grab
}

html {
   scroll-behavior: smooth
}

body,
html {
   height: auto;
   min-height: 100vh;
   margin: 0 !important
}

body {
   display: flex;
   flex-direction: column;
   position: relative;
   background-color: var(--light);
   color: var(--colour-4);
   font-weight: 400
}

body * {
   box-sizing: border-box
}

.main-content {
   flex: 1 0 auto
}

main {
   view-transition-name: content
}

::view-transition-new(content),
::view-transition-old(content) {
   animation-duration: .7s;
   animation-timing-function: ease;
   animation-fill-mode: both
}

:root:active-view-transition-type(forward) ::view-transition-old(content) {
   animation-name: vt-old-forward
}

:root:active-view-transition-type(forward) ::view-transition-new(content) {
   animation-name: vt-new-forward
}

:root:active-view-transition-type(backward) ::view-transition-old(content) {
   animation-name: vt-old-back
}

:root:active-view-transition-type(backward) ::view-transition-new(content) {
   animation-name: vt-new-back
}

@keyframes vt-old-forward {
   from {
      opacity: 1;
      clip-path: circle(140% at 50% 50%)
   }

   to {
      opacity: 1;
      clip-path: circle(0% at 50% 50%)
   }
}

@keyframes vt-new-forward {
   from {
      opacity: 1;
      clip-path: circle(0% at 50% 50%)
   }

   to {
      opacity: 1;
      clip-path: circle(140% at 50% 50%)
   }
}

@keyframes vt-old-back {
   from {
      opacity: 1;
      clip-path: circle(140% at 50% 50%)
   }

   to {
      opacity: 1;
      clip-path: circle(0% at 50% 50%)
   }
}

@keyframes vt-new-back {
   from {
      opacity: 1;
      clip-path: circle(0% at 50% 50%)
   }

   to {
      opacity: 1;
      clip-path: circle(140% at 50% 50%)
   }
}

section {
   position: relative;
   background-repeat: no-repeat;
   overflow: hidden
}

.overlay {
   position: absolute;
   width: 100%;
   height: 100%;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   z-index: -1
}

section:has(.dark-overlay) {
   color: var(--light)
}

section:has(.light-overlay) {
   color: var(--dark)
}

.object-fit-cover {
   object-fit: cover
}

.object-fit-contain {
   object-fit: contain
}
.logo1 p{
   
    font-size: 14px;
    color: black;
    font-weight: 500;
}
section video {
   position: absolute;
   width: 100%;
   height: 100%;
   object-fit: cover;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   z-index: -2
}

p {
   font-size: var(--md-font)
}
.til-btm{
position: absolute;
    bottom: 19px;    z-index: 1;
}

.industries .til-btm .title--m {
    color: white !important;
}
.industries .service {
   position: relative;

}

.industries .service:before {
     content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000000 100%);
}


.radius-l {
   --radius: var(--radius-l)
}

.radius-m {
   --radius: var(--radius-m)
}

.radius-s {
   --radius: var(--radius-s)
}

.radius {
   border-radius: var(--radius)
}

.radius-tl {
   border-top-left-radius: var(--radius)
}

.radius-tr {
   border-top-right-radius: var(--radius)
}

@font-face {
   font-family: Telefonica;
   src: url(wp-content/themes/papyrus-child/assets/fonts/frontend/telefonica/Regular/Telefonica_Sans_Regular.woff2) format("woff2"), url(https://telefonicatech.uk/wp-content/themes/papyrus-child/assets/fonts/frontend/telefonica/Regular/Telefonica_Sans_Regular.woff) format("woff");
   font-weight: 400;
   font-style: normal;
   font-display: swap
}

@font-face {
   font-family: Telefonica-Light;
   src: url(https://telefonicatech.uk/wp-content/themes/papyrus-child/assets/fonts/frontend/telefonica/Light/Telefonica_Sans_Light.woff2) format("woff2"), url(https://telefonicatech.uk/wp-content/themes/papyrus-child/assets/fonts/frontend/telefonica/Light/Telefonica_Sans_Light.woff) format("woff");
   font-weight: 400;
   font-style: normal;
   font-display: swap
}

@font-face {
   font-family: Telefonica-Regular;
   src: url(https://telefonicatech.uk/wp-content/themes/papyrus-child/assets/fonts/frontend/telefonica/Regular/Telefonica_Sans_Regular.woff2) format("woff2"), url(https://telefonicatech.uk/wp-content/themes/papyrus-child/assets/fonts/frontend/telefonica/Regular/Telefonica_Sans_Regular.woff) format("woff");
   font-weight: 400;
   font-style: normal;
   font-display: swap
}

@font-face {
   font-family: Telefonica-Medium;
   src: url(https://telefonicatech.uk/wp-content/themes/papyrus-child/assets/fonts/frontend/telefonica/Medium/Telefonica_Sans_Medium.woff2) format("woff2"), url(https://telefonicatech.uk/wp-content/themes/papyrus-child/assets/fonts/frontend/telefonica/Medium/Telefonica_Sans_Medium.woff) format("woff");
   font-weight: 400;
   font-style: normal;
   font-display: swap
}

@font-face {
   font-family: TelefonicaBold;
   src: url(https://telefonicatech.uk/wp-content/themes/papyrus-child/assets/fonts/frontend/telefonica/Medium/Telefonica_Sans_Medium.woff2) format("woff2"), url(https://telefonicatech.uk/wp-content/themes/papyrus-child/assets/fonts/frontend/telefonica/Medium/Telefonica_Sans_Medium.woff) format("woff");
   font-weight: 400;
   font-style: normal;
   font-display: swap
}

html {
   font-size: 62.5%;
   -webkit-text-size-adjust: 100%
}

body {
   font-family: "Syne", sans-serif;
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
   line-height: 1
}

body.is-fixed {
   position: fixed;
   right: 0;
   left: 0;
   top: 0;
   bottom: 0
}

body.is-blocked {
   position: absolute;
   height: 100%;
   overflow: hidden;
   width: 100%
}

.body--m {
   font-size: 1.6rem;
   line-height: 2.6rem;
   font-family: "Outfit", sans-serif;
   font-weight: 400;
   direction: ltr
}

@media (max-width:767px) {
   .body--m {
      font-size: 1.5rem;
      line-height: 2.5rem
   }
}

a,
address,
article,
body,
code,
div,
dl,
dt,
em,
embed,
figure,
footer,
form,
h1,
h2,
header,
html,
i,
iframe,
img,
label,
li,
nav,
object,
output,
p,
section,
span,
tr,
tt,
ul,
video {
   margin: 0;
   padding: 0;
   border: 0;
   vertical-align: baseline
}

article,
figure,
footer,
header,
nav,
section {
   display: block
}

ul {
   list-style: none
}

a {
   text-decoration: none;
   color: var(--colour-5)
}

button,
input,
label,
select,
textarea {
   margin: 0;
   border: 0;
   padding: 0;
   display: inline-block;
   vertical-align: middle;
   white-space: normal;
   background: 0 0;
   line-height: 1;
   border-radius: 0;
   font-size: 13px;
   font-family: "Syne", sans-serif;
}

input:focus,
textarea:focus {
   outline: 0
}

input,
textarea {
   -webkit-box-sizing: content-box;
   -moz-box-sizing: content-box;
   box-sizing: content-box
}

button,
input[type=button],
input[type=checkbox],
input[type=radio],
input[type=reset],
input[type=submit],
select {
   -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
   box-sizing: border-box
}

input[type=checkbox],
input[type=radio] {
   width: 13px;
   height: 13px
}

input[type=search] {
   -webkit-appearance: textfield;
   -webkit-box-sizing: content-box
}

::-webkit-search-decoration {
   display: none
}

button,
input[type=button],
input[type=reset],
input[type=submit] {
   overflow: visible;
   width: auto
}

::-webkit-file-upload-button {
   padding: 0;
   border: 0;
   background: 0 0
}

textarea {
   vertical-align: top;
   overflow: auto
}

input::-webkit-inner-spin-button,
input::-webkit-outer-spin-button {
   -webkit-appearance: none;
   margin: 0
}

input[type=number] {
   -moz-appearance: textfield
}

button {
   -webkit-border-radius: 0;
   border-radius: 0;
   -webkit-box-shadow: none;
   box-shadow: none;
   outline: 0;
   border: 0
}

.title--xs {
   font-family: "Syne", sans-serif;
   font-size: 1.2rem;
   line-height: 1.8rem;
   font-weight: 400
}

.title--s {
   font-family: "Syne", sans-serif;
   font-size: 1.6rem;
   line-height: 2.6rem;
   font-weight: 400;
   color: var(--colour-4)
}

@media (max-width:767px) {
   .title--s {
      font-size: 1.4rem;
      line-height: 2rem
   }
}

.title--m {
   font-size: 2.3rem;
   line-height: 3.3rem;
   font-family: "Outfit", sans-serif;
   font-weight: 400
}

@media (max-width:767px) {
   .title--m {
      font-size: 1.8rem;
      line-height: 2.5rem
   }
}

@media screen and (min-width:768px) and (max-width:1279px) {
   .title--m {
      font-size: 2rem;
      line-height: 3rem
   }
}

.title--xl {
   font-family: "Syne", sans-serif;;
   font-weight: 400;
    font-size: 5rem;
    line-height: 5.7rem;
}

@media (max-width:767px) {
   .title--xl {
      font-size: 3.5rem;
      line-height: 4.4rem
   }
}

.title--tag {
   text-transform: uppercase;
   position: relative;
   display: flex;
   align-content: center;
   align-self: flex-start;
   font-size: 1.2rem;
   line-height: 1.5rem;
   font-family: "Syne", sans-serif;
   font-weight: 400;
   color: var(--colour-4);
   padding-right: 20px;
   letter-spacing: 1px;
   min-height: 2.5rem;
   align-items: center
}

.is-grey,
.is-grey :is(.title, .title--xl, .title--l, .title--m, .title--s, .title--tag, .body--m) {
   color: var(--colour-3)
}

.is-blue,
.is-blue :is(.title, .title--xl, .title--l, .title--m, .title--s, .title--tag, .body--m),
.is-white,
.is-white :is(.title, .title--xl, .title--l, .title--m, .title--s, .title--tag, .body--m) {
   color: var(--colour-4)
}

@media (max-width:767px) {
   .title--tag {
      font-size: 1.1rem;
      line-height: 1.5rem;
      font-family: Telefonica-Medium, sans-serif
   }

   .grid {
      grid-gap: 0 20px
   }
}

em {
   font-family: 'Playfair Display', sans-serif
}

.circles {
   background-color: var(--colour-3);
   margin-left: 9px;
   margin-right: 14px
}

.circles,
.circles::after,
.circles::before {
   border-radius: 50%;
   display: block;
   height: 7px;
   width: 7px
}

.circles::after,
.circles::before {
   content: "";
   position: absolute
}

.circles::before {
   background-color: var(--colour-3);
   transform: translate(-9px)
}

.circles::after {
   background-color: var(--colour-1);
   transform: translate(9px)
}

.transition-link:hover {
   opacity: 1
}

.link {
   display: inline-flex;
   align-items: center;
   text-decoration: none;
   font-family: "Syne", sans-serif;
   font-size: 1.5rem;
   line-height: 2.5rem;
   color: var(--blue-clr);
   font-weight: 400;
   transition: opacity .25s ease-in-out
}

.link:hover {
   opacity: .6
}

@media (min-width:768px) {
   .link {
      font-size: 1.6rem;
      line-height: 2.6rem
   }
}

.link--svg {
   cursor: pointer;
   display: inline-flex;
   direction: ltr
}

.link--svg span {
   display: inline-flex;
   justify-content: flex-start;
   margin-right: 15px
}

.link--svg svg {
   position: relative;
   transition: all .3s ease-in-out;
   flex-shrink: 0
}

.link--svg svg .ellipse-4 {
   stroke-dasharray: 90;
   stroke-dashoffset: 0
}

.link--svg:hover .ellipse-4 {
   animation: 1s ease-in-out forwards stroke
}

.transition-link {
   align-items: center;
   cursor: pointer;
   display: inline-flex;
   font-family: Telefonica-Medium, sans-serif;
   font-size: 1.1rem;
   letter-spacing: .8px;
   line-height: 1.6rem;
   padding: 10px 12px 10px 45px;
   position: relative;
   z-index: 9;
   text-transform: uppercase;
   transition: color .5s ease .2s
}

.transition-link::after,
.transition-link::before {
   content: "";
   position: absolute;
   transition-behavior: normal
}

.transition-link::before {
   border-radius: 25px;
   height: 32px;
   left: 0;
   top: 50%;
   transform: translateY(-50%);
   transition: all .5s cubic-bezier(.645, .045, .355, 1);
   width: 32px;
   z-index: -1
}

.transition-link::after {
   height: .9rem;
   left: 15px;
   top: calc(50% - .42rem);
   transform: translateZ(0);
   transition: all .2s;
   width: .6rem;
   z-index: 1
}

.transition-link.transparent,
.transition-link.transparent.on-white:hover {
   color: var(--colour-3) !important
}

.transition-link.transparent.on-white,
.transition-link.transparent:hover {
   color: var(--colour-1) !important
}

.transition-link:hover::before {
   border-radius: 21px;
   transition-timing-function: cubic-bezier(.215, .61, .355, 1)
}

.transition-link.transparent::before {
   background-color: var(--colour-3)
}

.transition-link.transparent.on-white::before {
   background-color: var(--blue-clr)
}

.transition-link.transparent::after {
   background-color: initial;
   background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAABBCAYAAAC9zNZMAAAACXBIWXMAAC4jAAAuIwF4pT92AAABT0lEQVRogeWa2xLDIAhEl/7/P9uHjk6aS+Mq4GbKU2YKeEKjImLYSSml1Gczs/3vWfI18BaqKSyCa4OeQTWlBXAG/IZqislw1gPVlBPhXowy8xKzQoEBeXDd39jBMPhv7ZqVl8aBcLfr2K2DILiDUxW4U4cKcJfOVsP9dLQS7tbJKrguByvguo2z4SjDTDjaaHCvNABgGOlNfDACfKQHBvmMFBy5qZkTCTe93kTBuazSEXBue5s3nGtG4Annnkd5wYVknx5wYTn7LFzoSWcKzpnlIKNwKUf+oawkAuRMWLj/jZjkNyY5KyXXMcmVX3KvlMwuJPMxyQxWMueXPCVJniszygRZdX46AOE3I9taB1P2eHZ9TLKiKFmDlaxaS9b5V0MBT7lLUoEC1O8r1aAAsougGSV0E2TV+WmhwDL7LnQ7VeqDZG9PFcluqCoq/WNvSZr5NKMcXNoAAAAASUVORK5CYII=);
   background-position: 50% 50%;
   background-repeat: no-repeat;
   background-size: .7rem 1.1rem
}

@media (min-width:768px) {
   .link-container {
      display: flex
   }
}

.transition-link.transparent:hover::before {
   width: 100%
}

.transition-link.transparent:hover::after {
   background-color: initial;
   background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGcAAABBCAYAAADMtLrSAAAACXBIWXMAAC4jAAAuIwF4pT92AAABwElEQVR4nO3d0Y7CIBBG4Z+N7//K7I1tarUWhoGZxHPu3DUx4VuqS7EttVb9eqWUl8f1MCjl/MuF/UW9cNbq6a/1/Hhl4By6gogCAufZHUAEUOE9R5LUPAgr34OYOZ2tnEHgGFoFBI5sh6oVQOA8ywgEzqFsQOCcygQEzoeyAIFzUQYgcL4UDQTOTZFA4DQUBQROYxFA4HS0GohVab2fCb3LOOCl97WYOYaMpw26QcExZgWqtap14oEz0MgMagECZ7CZQOA4NAsIHKdmAIHjmDcQOM55AoEzIS+gbYWAZYI87SsJJXIvMF1WJA5rWasSOJmr4CQOnMSBk7cCTs72T2th33mkj+3/5zyOP/jVZnwfyuNUNoe1CXntMQDHOc/NH+A45r0rBxynZmyXAsehWfvYwBls5gZDcAaavfMTHGMrtuSCY2gEpidwOrPAHPcU9KxGPO6fQlsjMJYlImZOY6MzxhI4DUXASODcFgUjgfO1SBgJnMuiYSRwPpYBRgLnrSwwEjgvZYKRwNnLBiNxHYKtdDASM8fUqssXg9MZ15VeXOuAr77pBDjP7gY+4m4g4By6Aoi6TQs4p84QkffP+QcU5+SS2zU4nAAAAABJRU5ErkJggg==);
   background-position: 50% 50%;
   background-repeat: no-repeat;
   background-size: 1.7rem 1.1rem;
   width: 1.7rem
}

.transition-link.transparent::after,
.transition-link.transparent:hover::after {
   filter: brightness(0) saturate(100%) invert(41%) sepia(85%) saturate(6818%) hue-rotate(212deg) brightness(102%) contrast(106%)
}

.transition-link.transparent.on-white::after,
.transition-link.transparent.on-white:hover::after {
   filter: brightness(1.2) saturate(100%) sepia(0%) hue-rotate(0deg)
}

.transition-link {
   text-decoration: none !important
}

.grid {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   padding: 0 20px;
   width: 100%;
   box-sizing: border-box;
   max-width: 1920px;
   margin-left: auto;
   margin-right: auto
}

@media (min-width:768px) {
   .grid {
      grid-gap: 0 40px
   }

   .grid {
      grid-template-columns: repeat(8, 1fr);
/*      padding: 0 60px*/
   }
}

@media (min-width:1600px) {
   .grid {
      grid-gap: 0 100px
   }
}

@media (min-width:1024px) {
   .grid {
      grid-template-columns: repeat(12, 1fr);
      grid-gap: 20px
   }

   .main-header.is-sticky.is-scrolling-up .second-nav,
   .main-header.is-sticky.is-scrolling-up .subsections {
      display: block
   }
}

@media (min-width:1280px) {
   .grid {
      /*padding: 0 100px;
      grid-gap: 40px*/
   }
}

.grid.full-width {
   padding: 0
}

.grid-container {
   grid-column: 1/-1;
   width: 100%
}

.component:not(.banner) {
   content-visibility: auto;
   contain-intrinsic-size: 1px 100px
}

.component {
   padding-top: 60px;
   padding-bottom: 60px
}

@media (min-width:768px) {
   .component {
        padding-top: 49px;
        padding-bottom: 66px;
   }
}

.component.is-blue:not(.alt-blue)+.component.is-blue:not(.alt-blue),
.component.is-grey+.component.is-grey,
.component.is-white+.component.is-white {
   padding-top: 0 !important
}

.is-blue {
   background-color: var(--colour-3)
}

.is-grey {
   background-color: var(--colour-5);
   color: var(--colour-3)
}

.control-left {
   margin-right: 50px
}

.touch .controls svg:not(.is-disabled):hover {
   transform: scale(1)
}

@keyframes stroke {
   to {
      stroke-dashoffset: 90
   }
}

@keyframes buttonAnimation {
   0% {
      opacity: 0;
      transform: translateY(5px)
   }

   to {
      opacity: 1;
      transform: translateY(0)
   }
}

@keyframes buttonAnimationOff {
   0% {
      opacity: 0;
      transform: translateY(-5px)
   }

   to {
      opacity: 1;
      transform: translateY(0)
   }
}

.is-blue a,
.is-white a {
   color: var(--colour-4) !important
}

.is-grey a {
   color: var(--colour-3) !important
}

:root {
   --fa-style-family-brands: "Font Awesome 6 Brands";
   --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"
}

:root {
   --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free"
}

:root {
   --fa-style-family-classic: "Font Awesome 6 Free";
   --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"
}

:root {
   --dark: #000000;
   --light: #ffffff;
   --dark-overlay: rgba(43, 52, 71, .4);
   --light-overlay: rgba(255, 255, 255, .5);
   --colour-1: #0066ff;
   --colour-2: #1d64f9;
   --colour-3: #f2f4ff;
   --colour-4: #58617a;
   --colour-5: #2b3447;
   --blue-clr: #385890
}

html {
   opacity: 0
}

.logo-carousel .title {
   font-size: 2.3rem !important
}

.testimonial.component {
   padding-bottom: 0
}

.testimonial.component figure {
   margin: 40px 0 0 auto
}

.testimonial.component figure img {
   border-top-left-radius: var(--radius-m);
   border-top-right-radius: var(--radius-m)
}

@media (max-width:991px) {
   .testimonial.component .info {
      margin-right: auto;
      max-width: 600px;
      margin-top: 48px
   }
}

@media (min-width:992px) {
   .testimonial.component .info {
      margin-bottom: 48px;
      margin-right: auto;
      margin-top: 48px;
      max-width: 621px;
      width: 44%
   }
}

.posts .filters {
   margin: auto !important;
   margin-top: 36px !important;
   margin-bottom: 36px !important
}

@media (max-width:768px) {
   img.object-fit-cover {
      object-fit: contain;
      height: 100%
   }
}

.htmx-indicator {
   opacity: 0
}

.htmx-request .htmx-indicator {
   opacity: 1;
   transition: opacity .2s ease-in
}

.htmx-request.htmx-indicator {
   opacity: 1;
   transition: opacity .2s ease-in
}

.main-header {
   position: absolute;
   left: 0;
   right: 0;
   z-index: 11;
   top: 0;
   transition: background-color .6s ease-in-out;
   background: white;
}

.main-header.top-is-active .main-nav ul {
   display: none
}

.main-header .logo {
   position: relative;
   z-index: 1;
   width: 252px;
/*   margin-left: -28px*/
}

.main-header .logo img,
.main-header .logo svg {
   height: 60px
}

.main-header.is-sticky {
   transition: top 1s ease-in-out
}

.main-header.is-sticky+li {
   padding-top: 120px
}

.main-header.is-sticky.is-scrolling-up {
   left: 0;
   top: 0;
   transition: top 1s ease-in-out
}

header a {
   color: var(--light);
   cursor: pointerl;    font-size: 20px !important;
}

header .mobile_only a {
   color: var(--light);
   cursor: pointer
}
/*
header a:hover {
   opacity: .8
}*/

.main-header .main-nav ul {
   display: none;
   animation-name: fadeIn;
   animation-duration: 1s;
   animation-fill-mode: forwards
}

.main-header .subsection {
   height: 515px;
   overflow: hidden
}

@media screen and (min-width:1024px) and (max-width:1279px) {
   .main-header .subsection {
      height: 580px !important
   }
}

.main-header .subsection .title--xs {
   margin-bottom: 15px
}

.main-header .subsection .title--s {
   font-family: Telefonica-Medium, sans-serif;
   margin-bottom: 15px
}

.main-header .item-recursive-container {
   display: flex;
   margin-right: 50px
}

.main-header .item-recursive-container a,
.main-header .item-recursive-container button {
   display: flex;
   align-items: center
}

.main-header .item-recursive-container a,
.main-header .item-recursive-container button {
   margin-right: 30px
}

.main-header .item-recursive-container svg {
   margin-left: 5px
}

.main-header .item-recursive-container svg line {
   stroke: var(--light)
}

.main-header .subsections .links {
   display: flex;
   flex-direction: column
}

.main-header .subsections .subsection:not([data-section-type=icon-section]) .links_top {
   display: flex;
   flex-wrap: wrap;
   align-items: flex-start;
   align-content: flex-start
}

.main-header .subsections .link-container {
   width: 100%;
   text-align: right;
   display: flex;
   justify-content: flex-end;
   align-items: flex-end;
   margin-bottom: 40px;
   box-sizing: border-box;
   padding-right: 10px;
   margin-top: auto
}

.main-header .subsections .subsection:not([data-section-type=icon-section]) .nav_subsection_title {
   flex-basis: 25%;
   margin-bottom: 20px
}

.main-header .subsections .subsection:not([data-section-type=icon-section]) .nav_subsection_title .nav_subsection_title_container {
   padding-right: 30px
}

.main-header .header-center {
   position: relative;
   z-index: 20
}

.main-header .header-center .is-active {
   font-family: Telefonica-Medium, sans-serif
}

.main-header .second-nav {
   position: relative;
   z-index: 20
}

@media (min-width:768px) {
   .main-header .header-center {
      height: 55px;
      padding-left: 60px
   }

   .main-header .mobile-nav button {
      padding-right: 44px;
      padding-left: 44px;
      box-sizing: border-box
   }
}

@media (max-width:767px) {
   .main-header.is-sticky {
      top: -45px
   }

   .main-header .item-recursive-container {
      display: none
   }

   .main-header .header-center {
      justify-content: space-between;
      padding: 0 20px;
      height: 45px !important
   }
}

.main-header .header-center a span,
.main-header .header-center button span {
   transition: color .3s ease-in
}

.main-header .header-center .grid {
   padding-left: 0;
   display: flex
}

.main-header.is-fixed {
   top: 0;
   position: fixed
}

.main-header .second-nav .is-active {
   color: var(--light)
}

.main-header .second-nav .is-active svg path {
   fill: var(--light)
}

.main-header .first-level.is-active {
   color: var(--blue-clr);
   position: relative
}

.main-header .first-level.is-active svg path {
   fill: var(--blue-clr)
}

.main-header .first-level.is-active span {
   display: inline-block
}

.main-header .desktop-nav {
   display: none
}

@media (min-width:1051px) {
   .main-header .header-center .grid {
      width: auto;
      padding: 0
   }

   .main-header .desktop-nav {
      display: block;
      width: 100%
   }
}

@media (min-width:1920px) {
   .main-header .header-center {
      padding-left: 0 !important
   }

   .main-header .header-center .grid {
      padding-left: 20px;
      display: grid;
      width: 100%
   }

   .main-header .desktop-nav {
      position: absolute;
      right: 0
   }
}

.main-header .header-center {
   display: flex;
   justify-content: space-between;
   height: 55px;
   align-items: center;
   box-sizing: border-box
}

.main-header .mobile-nav {
   height: 100%;
   display: flex;
   align-items: center;
   display: none
}

.main-header .mobile-nav button {
   transition: background-color .5s ease-in
}

@media screen and (min-width:0) and (max-width:1050px) {
   .main-header .mobile-nav {
      display: flex
   }
}

.main-header .main-nav,
.main-header .main-nav ul,
.main-header .second-nav,
.main-header .second-nav ul {
   display: flex;
   align-items: center
}

.main-header .main-nav span,
.main-header .main-nav ul span,
.main-header .second-nav span,
.main-header .second-nav ul span {
   pointer-events: none;
   color: var(--blue-clr)
}

/*.main-header.is-fixed.is-sticky:not(.is-open) .main-nav span {
   color: var(--light)
}
*/
.main-header .second-nav {
   background-color: var(--colour-2);
   height: 65px;
   display: flex;
   align-items: center
}

.main-header .second-nav svg {
   margin-left: 5px
}

.main-header .second-nav:not(:first-child) {
   margin-left: 30px
}

@media (min-width:1280px) {
   .main-header .header-center {
      padding-left: 60px
   }

   .main-header .second-nav:not(:first-child) {
      margin-left: 40px
   }
}

@media (min-width:1600px) {
   .component {
      padding-top: 120px;
      padding-bottom: 120px
   }

   .main-header .second-nav:not(:first-child) {
      margin-left: 60px
   }
}

.main-header .main-nav {
   width: 100%
}

.main-header .main-nav .first-level a,
.main-header .main-nav .first-level button {
   pointer-events: none
}

.main-header .main-nav .first-level.is-active svg .line-2,
.main-header .main-nav .first-level:hover svg .line-2,
.main-header .second-nav a:hover svg .line-2 {
   opacity: 0;
   transition: opacity .15s ease-in-out
}

@media (min-width:1024px) {
   .main-header .item-recursive-container {
      margin-right: 45px
   }

   .main-header .header-center {
      overflow: hidden
   }

   .main-header .main-nav ul {
      justify-content: center
   }
}

.main-header .main-nav .leave-out a {
   pointer-events: all
}

.main-header .main-nav ul {
   width: 100%
}

.main-header .second-nav {
   height: 45px
}

.main-header .second-nav .item-recursive-container button {
   color: var(--light);
   cursor: pointer
}

.main-header .second-nav .item-recursive-container button:hover {
   opacity: .8
}

.main-header .second-nav .item-recursive-container button:hover svg .line-2 {
   opacity: 0;
   transition: opacity .15s ease-in-out
}

.main-header .second-nav .link-container {
   height: 100%
}

.main-header .second-nav>div {
   width: 100%;
   height: 100%
}

.main-header .second-nav>div .search-btn {
   padding-left: 0;
   transform: translateY(3px)
}

.main-header .second-nav>div ul {
   height: 100%;
   justify-content: flex-end
}

.main-header .second-nav>div ul li {
   margin: 0 50px 0 0
}

@media (min-width:768px) {
   .main-header .mobile-nav button {
      height: 100%
   }

   .main-header .second-nav>div ul {
      justify-content: flex-end
   }

   .main-header .second-nav>div ul li {
      margin: 0 30px 0 0
   }
}

.main-header line {
   transition: stroke .8s ease-in-out
}

.main-header .subsections {
   z-index: 2;
   position: absolute;
   left: 0;
   right: 0;
   height: 515px;
   top: -515px;
   transition: top .6s ease-in-out
}

@media screen and (min-width:1024px) and (max-width:1279px) {
   .main-header .subsections {
      height: 580px;
      top: -580px
   }
}

.main-header .subsections .grid {
   max-width: 1920px;
   padding-right: 0;
   height: 100%
}

@media (min-width:1920px) {
   .main-header .subsections .grid {
      padding-left: 100px;
      padding-right: 100px
   }
}

.main-header .subsections .grid .grid-container {
   position: relative
}

.main-header .subsections.is-open {
      top: 98%;
}

.main-header .subsection-bottom {
   padding-top: 50px;
   display: flex;
   flex-wrap: wrap;
   height: 100%;
   box-sizing: border-box
}

.main-header .subsection-bottom ul {
   flex-basis: calc(50% - 40px);
   margin-right: 40px;
   flex-direction: column
}

.main-header .subsection-bottom li {
   margin-bottom: 20px
}

.main-header .subsection {
   visibility: hidden;
   background-color: #000000e6;
   z-index: 2;
   position: absolute;
   opacity: 0;
   left: 0;
   right: 0;
   height: 100%;
   top: 0;
   bottom: 0
}

.main-header .subsection .grid-container {
   grid-column: 1/12
}

.main-header .subsection .title--m {
   margin-top: 30px;
   margin-bottom: 20px
}

.main-header .subsection.is-active {
   visibility: visible;
   opacity: 1;
   z-index: 60;
   transition: opacity .5s ease-in-out
}

@media screen and (min-width:0) and (max-width:1023px) {
   .main-header .subsections.is-open {
      display: none
   }

   .main-header .subsection {
      display: none
   }
}

header.main-header.mobile-open nav#main_nav {
   transform: none
}

nav#main_nav {
   position: fixed;
   display: flex;
   flex-direction: column;
   top: 0;
   bottom: 0;
   right: 0;
   left: 0;
   overflow: hidden;
   transform: translate(140%);
   z-index: 20;
   transition: transform .32s ease-in-out
}

#header .nav_subsection_subtitle_container .title--xs,
#header .nav_subsection_title_container__description .title--xs {
   color: var(--light)
}

@media (min-width:768px) {
   nav#main_nav {
      left: 60px
   }

   nav#main_nav .title--xs {
      margin-bottom: 13px
   }

   nav#main_nav .close_container {
      height: 84px;
      background: #212326;
      position: fixed;
      top: 0;
      left: 60px;
      right: 0;
      display: flex;
      z-index: 4;
      align-items: center;
      justify-content: flex-end
   }
}

nav#main_nav .nav_subsection_title_container__description {
   display: none
}

@media (min-width:768px) {
   nav#main_nav .nav_subsection_title_container__description {
      display: block
   }
}

nav#main_nav svg .line-2 {
   will-change: transition;
   transition: transform .15s ease-in-out;
   transform: translate(8px) translateY(0) rotate(0)
}

nav#main_nav .title--m {
   color: var(--light);
   width: 100%;
   display: flex;
   padding: 0 20px;
   position: relative;
   z-index: 2;
   box-sizing: border-box
}

nav#main_nav .nav_subsection_title_container:first-child .title--s:not(.link) {
   margin-top: 0
}

nav#main_nav .link.title--s {
   color: var(--light)
}

nav#main_nav .title--m.mobile_only line {
   stroke: var(--light)
}

@media (min-width:768px) {
   nav#main_nav .title--m {
      padding: 0
   }

   nav#main_nav .link.title--s {
      font-family: Telefonica-Medium, sans-serif
   }
}

nav#main_nav .nav_sections {
   flex-grow: 1;
   background-color: #000000e6;
   overflow-y: auto;
   padding: 76px 0 30px;
   position: relative;
   overflow-x: hidden
}

nav#main_nav .nav_sections .link:not(.is-active) span svg {
   opacity: 0;
   margin-left: -16px;
   width: 20px;
   height: 20px
}

nav#main_nav .nav_sections .link.is-active {
   color: var(--colour-2);
   position: relative;
   font-family: Telefonica-Medium, sans-serif
}

nav#main_nav .nav_sections .link.is-active span {
   display: flex;
   align-items: center
}

nav#main_nav .nav_sections .link.is-active span svg {
   opacity: 1;
   margin-left: 0;
   margin-right: 8px
}

nav#main_nav .nav_sections li.navsection-active svg .line-2 {
   opacity: 0;
   transform: translate(15px) translateY(8px) rotate(90deg)
}

nav#main_nav .nav_sections li.navsection-active span:after {
   transform: rotate(-90deg)
}

nav#main_nav .nav_sections li.navsection-active .links {
   max-height: 100%;
   margin-top: 20px;
   opacity: 1;
   margin-bottom: 10px
}

@supports (-webkit-overflow-scrolling:touch) {
   nav#main_nav .nav_sections {
      overflow-y: scroll;
      -webkit-overflow-scrolling: touch
   }
}

nav#main_nav .nav_sections li {
   cursor: pointer;
   margin-bottom: 25px
}

nav#main_nav .nav_sections li .links {
   max-height: 0;
   overflow: hidden;
   opacity: 0;
   transition: all .32s ease-in-out
}

nav#main_nav .nav_sections li .links li {
   margin-bottom: 20px
}

nav#main_nav .nav_sections li .links li:last-child {
   margin-bottom: 0 !important
}

nav#main_nav .nav_sections li .links li a {
   text-decoration: none
}

nav#main_nav .nav_sections li .links li a svg {
   display: none
}

@media (max-width:767px) {
   nav#main_nav .nav_sections li.navsection-active .links {
      margin-bottom: 20px;
      margin-top: 25px
   }

   nav#main_nav .nav_sections li .links li {
      margin-bottom: 30px
   }
}

@media (min-width:768px) {
   nav#main_nav .nav_sections {
      padding: 134px 60px 50px 50px
   }

   nav#main_nav .nav_sections li.navsection-active .links {
      margin-top: -10px
   }

   nav#main_nav .nav_sections li {
      margin-bottom: 0
   }

   nav#main_nav .nav_sections li .nav_section_title_container {
      margin-bottom: 40px
   }

   nav#main_nav .nav_sections li .links {
      display: flex;
      flex-wrap: wrap
   }

   nav#main_nav .nav_sections li .links li {
      margin-bottom: 4rem
   }
}

nav#main_nav .ui_menu {
   display: flex;
   flex-shrink: 0;
   align-items: center;
   justify-content: space-between;
   background: var(--blue-clr);
   padding: 0 20px;
   height: 80px
}

nav#main_nav .ui_menu .link-container {
   margin: 0;
   padding: 0
}

nav#main_nav .ui_menu .link-container .link--svg {
   height: 100%;
   width: 100%;
   color: var(--light);
   justify-content: flex-start
}

nav#main_nav .ui_menu .link-container .link--svg rect {
   fill: var(--light)
}

nav#main_nav .ui_menu .link-container .link--svg .ellipse-4,
nav#main_nav .ui_menu .link-container .link--svg path {
   stroke: var(--light)
}

@media all and (min-width:768px) {
   nav#main_nav .ui_menu {
      justify-content: flex-start
   }
}

.ui_menu ul {
   display: flex;
   width: 100%;
   padding-left: 20px
}

.ui_menu ul a {
   padding-right: 15px;
   color: var(--colour-2);
   position: relative;
   transition: color .32s ease-in-out;
   display: inline-flex;
   text-decoration: none
}

.ui_menu ul a:not(:first-child):after {
   content: "";
   width: 1px;
   height: auto;
   background-color: var(--colour-2);
   display: inline-block;
   position: absolute;
   left: 1px;
   top: 6px;
   bottom: 6px
}

.ui_menu ul a:not(:first-child) {
   padding-left: 15px
}

nav#main_nav .links_static {
   border-top: 1px solid #e3e6ef;
   margin-top: 40px;
   padding-top: 40px
}

@media (min-width:768px) {
   nav#main_nav .ui_menu {
      height: 100px;
      padding-left: 60px
   }

   nav#main_nav .links_static {
      display: none
   }

   nav#main_nav .links_static li {
      margin-bottom: 4rem
   }
}

nav#main_nav .link-container {
   text-align: right;
   padding-inline: 20px;
   box-sizing: border-box;
   padding-top: 15px;
   margin-bottom: 30px;
   flex-basis: 100%;
   display: flex;
   align-items: flex-end
}

@media screen and (min-width:768px) and (max-width:1023px) {
   nav#main_nav .link-container {
      padding-inline: 0
   }
}

nav#main_nav .nav_subsection_title_container {
   position: relative;
   margin-bottom: 15px;
   padding: 0 20px;
   box-sizing: border-box
}

@media (min-width:768px) {
   nav#main_nav .nav_subsection_title_container {
      margin-bottom: 5px;
      padding-left: 0;
      padding-right: 60px
   }
}

nav#main_nav .nav_subsection_title {
   flex-basis: 50%;
   margin-bottom: 20px
}

nav#main_nav .nav_section_title_container {
   overflow: hidden;
   display: flex;
   justify-content: center;
   box-sizing: border-box
}

nav#main_nav .nav_section_title_container.left {
   justify-content: flex-start
}

nav#main_nav .nav_section_title_container.title--s {
   align-content: center
}

nav#main_nav .nav_section_title_container svg {
   width: 12px;
   height: 12px;
   flex-shrink: 0;
   transform: translateY(8px);
   margin-left: auto
}

nav#main_nav .nav_section_title_container svg path {
   stroke: var(--colour-2)
}

nav#main_nav .mobile-close {
   position: absolute;
   right: 20px;
   top: 20px;
   z-index: 1
}

nav#main_nav .mobile-close svg {
   flex-shrink: 0
}

nav#main_nav .mobile-close svg path {
   fill: var(--light)
}

.main-header .item-recursive-container {
   margin-right: 25px
}

.main-header .second-nav .item-recursive-container {
   margin-right: 30px
}

.cta-link {
   font-size: 14px;
   line-height: 20px;
   box-sizing: border-box
}

.cta-link {
   background-color: var(--blue-clr);
   color: var(--colour-2);
   min-width: 225px;
   height: 50px;
   display: inline-flex;
   justify-content: center;
   align-content: center;
   align-items: center;
   cursor: pointer;
   padding: 0 20px;
   box-sizing: border-box;
   position: relative
}

.cta-link:before {
   content: "";
   display: block;
   top: 100%;
   left: 0;
   right: 0;
   bottom: 0;
   position: absolute;
   transition: top .25s cubic-bezier(0, .99, 1, .99);
   background-color: var(--colour-2);
   color: var(--light);
   will-change: position
}

.cta-link span {
   display: inline-block;
   animation-name: buttonAnimationOff;
   animation-duration: .45s;
   animation-fill-mode: forwards
}

.cta-link:hover span {
   color: var(--light);
   animation-name: buttonAnimation;
   animation-duration: .45s;
   animation-fill-mode: forwards
}

.cta-link:hover:before {
   top: 0
}

.main-header .first-level:not(.cta-btn):hover {
   cursor: pointer
}

.main-header .tablet-cta {
   height: 100%
}

.main-header .second-nav .cta-link {
   height: 45px;
   background-color: var(--light);
   min-width: 135px
}

.main-header .second-nav .cta-link span {
   color: var(--colour-2)
}

@media (min-width:450px) and (max-width:768px) {
   .cta-link {
      min-width: 230px;
      max-width: 320px;
      margin-left: auto
   }
}

@media (max-width:767px) {
   .cta-link {
      min-width: 100%
   }

   .main-header .tablet-cta {
      display: none
   }

   nav#main_nav li[data-target-frame="2"] .nav_subsection_title_container:nth-child(odd) {
      border-right: 1px solid var(--colour-3)
   }
}

@media (min-width:1024px) {
   .main-header .second-nav .item-recursive-container {
      margin-right: 160px
   }

   .main-header .header-center .cta-btn {
      margin-left: 45px
   }

   .main-header .main-nav ul li:not(.cta-btn) {
      margin-left: 30px;
      height: 54px;
      display: flex;
      padding-top: 4px;
      border-bottom: 8px solid transparent;
      transition: border .3s ease
   }

   .main-header .main-nav ul li:not(.cta-btn):is(.is-active, :focus, :hover) {
      border-bottom: 8px solid var(--colour-2)
   }

   .main-header .main-nav ul li:not(.cta-btn):hover a,
   .main-header .main-nav ul li:not(.cta-btn):hover button {
      opacity: .8
   }

   .main-header .main-nav ul li:not(.cta-btn) a,
   .main-header .main-nav ul li:not(.cta-btn) button {
      display: flex;
      align-items: center;
      transition: opacity .15s ease-in-out
   }

   .main-header .main-nav ul li:not(.cta-btn) a svg,
   .main-header .main-nav ul li:not(.cta-btn) button svg {
      margin-left: 5px
   }

   .main-header .main-nav .cta-link:hover:before {
      background-color: var(--colour-2)
   }

   .main-header .main-nav .cta-link:hover span {
      color: var(--light) !important
   }

   .main-header .main-nav .cta-link span {
      color: white
   }
}

nav#main_nav li[data-target-frame="2"] .is-active {
   background-color: var(--colour-3)
}

nav#main_nav li[data-target-frame="2"] .link-container {
   padding-top: 30px
}

nav#main_nav li[data-target-frame="2"] .link.title--s {
   height: 60px;
   padding: 14px
}

nav#main_nav li[data-target-frame="2"] .icon {
   display: flex;
   align-items: flex-start
}

nav#main_nav li[data-target-frame="2"] .icon svg {
   opacity: 1 !important;
   margin-left: 0 !important;
   margin-right: 10px !important
}

nav#main_nav li[data-target-frame="2"] .link:not(.link--svg) {
   padding: 5px 10px 5px 20px;
   box-sizing: border-box;
   width: 100%
}

nav#main_nav li[data-target-frame="2"] .link:not(.link--svg) span {
   display: flex;
   align-items: center
}

nav#main_nav li[data-target-frame="2"] .links {
   display: flex;
   flex-wrap: wrap
}

nav#main_nav li[data-target-frame="2"] .nav_subsection_title_container {
   flex-basis: 50%;
   border-bottom: 1px solid var(--colour-3);
   margin-bottom: 0;
   padding: 0;
   margin-left: -1px
}

@media (min-width:768px) {
   nav#main_nav .nav_section_title_container svg {
      width: 16px;
      height: 16px
   }

   nav#main_nav .mobile-close {
      right: 60px;
      top: 32px
   }

   .cta-link {
      min-width: 144px;
      height: 54px;
      font-size: 1.6rem;
      line-height: 2.6rem
   }

   .main-header .second-nav .cta-btn {
      display: none
   }

   nav#main_nav li[data-target-frame="2"] .nav_subsection_title_container {
      flex-basis: 33.3333333333%;
      border-left: 1px solid var(--colour-3);
      border-right: 1px solid var(--colour-3)
   }

   nav#main_nav li[data-target-frame="2"] .nav_subsection_title_container:last-child {
      border-right: 1px solid var(--colour-3)
   }

   nav#main_nav li[data-target-frame="2"] .nav_subsection_title_container:first-child,
   nav#main_nav li[data-target-frame="2"] .nav_subsection_title_container:nth-child(2),
   nav#main_nav li[data-target-frame="2"] .nav_subsection_title_container:nth-child(3) {
      border-top: 1px solid var(--colour-3)
   }

   .footer .tab-content nav.static-links a {
      margin-right: 20px
   }
}

nav#main_nav li[data-target-frame="2"] .nav_subsection_title_container:first-child,
nav#main_nav li[data-target-frame="2"] .nav_subsection_title_container:nth-child(2) {
   border-top: 1px solid var(--colour-3)
}

.main-header .subsection .nav_subsection_title_container .title--s {
   margin-bottom: 0 !important;
   color: var(--light)
}

.main-header .subsection .nav_subsection_title_container .title--s,
nav#main_nav li .nav_subsection_title .title--s {
   transition: .3s
}

.main-header .subsection .nav_subsection_title_container:is(:focus, :hover) .title--s,
nav#main_nav li .nav_subsection_title:is(:focus, :hover) .title--s {
   color: var(--colour-1);
   opacity: 1
}

header.main-header li[data-target-frame="0"] {
   display: none
}

.main-header .overlay.mobile-active {
   visibility: visible;
   opacity: 1;
   z-index: 20
}

@media screen and (min-width:0) and (max-width:1023px) {
   .main-header .overlay {
      opacity: 0;
      position: absolute;
      background-color: var(--dark-overlay);
      bottom: 0;
      top: 0;
      left: 0;
      right: 0;
      content: "";
      height: 100vh;
      visibility: hidden;
      transition: opacity 1s ease-in-out;
      display: block
   }
}

@media (min-width:1024px) {
   .main-header .overlay {
      position: absolute;
      background-color: var(--dark-overlay);
      bottom: 0;
      top: 100px;
      left: 0;
      right: 0;
      content: "";
      opacity: 0;
      visibility: hidden;
      transition: opacity 1s ease-in-out
   }

   .main-header.is-sticky .overlay {
      visibility: hidden;
      height: 0;
      opacity: 0;
      transition: opacity 1s ease-in-out
   }

   .main-header .overlay.is-active {
      visibility: visible;
      opacity: 1;
      height: 100vh
   }
}

.search-btn {
   position: absolute;
   top: 12px;
   right: 12px;
   cursor: pointer
}

.close-btn {
   position: absolute;
   top: 0;
   right: 0;
   font-size: 40px;
   color: var(--colour-3);
   background: var(--colour-1);
   border: none;
   cursor: pointer;
   z-index: 9999;
   padding: 0;
   margin: 0;
   width: 36px;
   height: 40px;
   display: flex;
   justify-content: center;
   align-items: center;
   font-family: sans-serif;
   line-height: 1;
   transform: translateY(-8px)
}

.search-screen {
   position: fixed;
   inset: 0;
   width: 100%;
   height: 100vh;
   background-color: var(--colour-3);
   display: none;
   z-index: 999;
   overflow: hidden
}

.search-container {
   display: flex;
   flex-direction: column;
   align-items: center;
   overflow-y: auto;
   max-width: 1200px;
   height: 100%;
   margin: 0 auto;
   padding: 80px 20px 160px;
   box-sizing: border-box;
   scrollbar-width: none;
   -ms-overflow-style: none
}

.search-container::-webkit-scrollbar {
   display: none
}

.search-container .grid {
   padding: 0
}

.search-form {
   width: 100%;
   max-width: 600px;
   display: flex;
   margin-bottom: 40px
}

.search-cta .search-form {
   max-width: 100%
}

.search-input {
   width: 100%;
   padding: 10px 30px;
   font-size: 2rem;
   caret-color: #444;
   border-bottom: 1px solid #ccc;
   color: var(--colour-4)
}

.search-input::placeholder {
   color: var(--colour-4)
}

.search-submit {
   width: 100%;
   flex: 0 0 calc(33.333% - 13px);
   padding: 20px;
   font-size: 2rem;
   background-color: var(--colour-1);
   color: var(--colour-3);
   border: none;
   cursor: pointer
}

.search-results {
   color: var(--colour-4)
}

.search-results.grid-container .grid {
   grid-template-columns: repeat(12, 1fr);
   grid-template-rows: 1fr;
   grid-column-gap: 0;
   grid-row-gap: 0;
   border-bottom: 1px solid #8f97af;
   padding: 40px 0
}

.search-results.grid-container .grid:has(.intro) {
   padding-top: 0
}

.search-results .text {
   grid-column: span 8
}

.search-results .text .title--m {
   color: var(--colour-1);
   margin-bottom: 20px;
   font-weight: 700
}

.search-results .image {
   grid-column: span 4;
   display: flex;
   justify-content: end
}

@media (max-width:667px) {
   .search-results.grid-container .grid {
      grid-template-columns: 1fr;
      padding: 20px 0
   }

   .search-results .image {
      justify-content: end
   }
}

@media (max-width:767px) {
   .search-form {
      flex-wrap: wrap
   }

   .search-submit {
      margin-top: 10px;
      flex: 1 1 100%
   }
}

.search-container .htmx-indicator {
   display: none
}

.search-container .htmx-indicator {
   display: block;
   opacity: 0;
   position: absolute;
   bottom: 10px;
   left: 50%;
   transform: translateX(-50%);
   transition: opacity .5s ease-in
}

.search-container .htmx-indicator-inner {
   width: 100%;
   display: flex;
   justify-content: center;
   align-items: center;
   padding-top: 20px
}

.search-container .htmx-request .htmx-indicator {
   opacity: 1
}

.search-container .htmx-request.htmx-indicator {
   opacity: 1
}

body.in-search {
   overflow: hidden;
   height: 100vh
}

.main-header.is-fixed:not(.is-open) {
   background-color: white;
   padding: 13px 0px;
}

.main-header.is-fixed.is-open,
.main-header.is-fixed.is-sticky.is-open {
   background-color: #ffffff
}

.main-header.is-fixed.is-sticky:not(.is-open) {
   background-color: var(--light)
}

.main-header .header-center .logo .st0 {
   transition: .5s;
   fill: var(--colour-3)
}

.main-header.is-sticky:not(.is-open) .header-center .logo .st0 {
   fill: var(--colour-2)
}

.main-header.is-fixed.is-sticky:not(.is-open) .btn-menu rect,
.main-header.is-fixed.is-sticky:not(.is-open) .title--xs path {
   fill: var(--colour-2)
}

.footer {
   background-color: var(--colour-3);
   overflow: hidden
}

.footer .grid {
   column-gap: 20px;
   grid-template-columns: repeat(5, 1fr);
   row-gap: 20px
}

.footer .body--m {
   color: var(--colour-1)
}

.footer .title--s {
   font-family: "Outfit", sans-serif
}

.footer .static-links {
   display: flex;
   flex-direction: column
}

@media (max-width:767px) {
   .footer .static-links {
      padding: 2rem 20px 0
   }
}

.footer .body--m:not(:last-child) {
   margin-bottom: 10px
}

.footer .logo {
   height: 50px
}

.footer .logo .st0 {
   transition: .5s;
   fill: var(--colour-2)
}

.footer .logo {
   max-width: 252px;
   width: 100%;
   margin-left: -30px
}

@media (min-width:768px) {
   .footer .logo {
      margin-right: 30px;
      margin-left: -35px;
      max-width: 144px;
      order: 1
   }
}

@media (min-width:1280px) {
   .main-header .second-nav>div ul li {
      margin: 0 36px 0 0
   }

   .footer .logo {
      margin-right: 100px
   }
}

.footer .desktop-menu {
   display: none
}

.footer .desktop-menu .menu-bottom ul li:last-child span:nth-child(3) {
   margin-top: 30px
}

.footer .mobile-menu {
   background: var(--colour-3);
   position: relative;
   z-index: 7
}

@media (min-width:1024px) {
   .footer .tab-content nav.static-links {
      align-items: center;
      flex-direction: row;
      order: 2;
      margin-top: 4rem
   }

   .footer .body--m {
      color: var(--colour-4);
      margin-bottom: 0
   }

   .footer .tab-content nav a.body--m {
      margin-bottom: 0
   }

   .footer .logo {
      min-width: 270px
   }

   .footer .desktop-menu {
      background-color: var(--colour-3);
      display: block;
      position: relative
   }

   .footer .mobile-menu {
      display: none
   }

   .footer .bottom-menu {
      border-top: 1px solid #d1d5e4
   }
}

.footer .menu-top {
   background-color: var(--colour-3);
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   overflow: hidden;
   padding-right: 35px;
   position: relative;
   z-index: 6
}

.footer .menu-top .grid .title--s {
   display: block;
   margin-bottom: 15px;    font-weight: 800;
}

.footer .menu-top .link {
      font-size: 14px;
    color: #707070;
}

.footer .menu-top .grid,
.footer .menu-top .tab-content {
   padding-left: 0;
   padding-right: 0
}

.footer .bottom-menu {
   align-items: center;
   background: var(--colour-3);
   box-sizing: border-box;
   display: flex;
   min-height: 64px;
   position: relative;
   z-index: 6
}

@media (max-width:767px) {
   .footer .bottom-menu {
      flex-direction: column;
      padding-top: 30px
   }

   .footer .social-nav {
      width: 100%
   }
}

@media (min-width:768px) {
   .footer .bottom-menu .grid-container {
      align-items: center;
      display: flex;
      max-width: 80%
   }
}

@media (min-width:1920px) {
   .footer .menu-top {
      padding-right: 100px
   }

   .footer .menu-top .menu-bottom .grid {
      column-gap: 60px;
      row-gap: 60px
   }

   .footer .menu-top .menu-bottom .grid li {
      max-width: 210px
   }
}

.footer .social-nav {
   align-items: center;
   background-color: var(--colour-2);
   box-sizing: border-box;
   display: flex;
   height: 40px;
   margin-top: 30px;
   min-height: 64px;
   padding: 0 20px;
   position: static;
   z-index: 1
}

@media (min-width:1920px) {
   .footer .social-nav {
      padding: 0 40px
   }

   .footer .social-nav {
      right: 0
   }
}

.footer .social-nav a:hover,
.link:hover {
   opacity: .6
}

.footer .social-nav a {
   color: var(--light);
   display: flex;
   transition: opacity .25s ease-in-out;
   margin-right: 20px
}

@media screen and (min-width:768px) {
   .footer .social-nav a:last-of-type {
      margin-right: 0
   }
}

.footer .tabs {
   border-bottom: 1px solid #d1d5e4;
   overflow: hidden;
   padding-bottom: 30px;
   padding-top: 10px
}

@media (min-width:768px) {
   .footer .social-nav {
      margin-top: 0;
      position: absolute;
      right: 0;
      top: 0
   }

   .footer .tabs {
      padding: 10px 60px 30px
   }
}

.footer .tab {
   color: var(--light);
   overflow: hidden;
   width: 100%
}

.footer .tab-label {
   align-items: center;
   color: var(--colour-4);
   cursor: pointer;
   display: flex;
   justify-content: space-between;
   padding-left: 0;
   padding-right: 0;
   padding-top: 20px
}

@media (max-width:767px) {
   .footer .tab-label {
      padding-left: 20px;
      padding-right: 20px;
      padding-top: 30px
   }
}

.footer .tab-label span {
   margin-right: 10px;
   transition: transform .3s cubic-bezier(.175, .885, .32, 1.275);
   will-change: transform;
       font-size: 1.6rem;
}

.footer .tab-content {
   background: var(--colour-3);
   color: var(--colour-5);
   padding: 4rem 2rem 4rem 30px;
   transition: all .35s ease-in-out;
   will-change: max-height
}

@media (max-width:1023px) {
   .footer .tab-content {
      background: var(--colour-3);
      color: var(--colour-5);
      max-height: 0;
      opacity: 0;
      padding: 0 2rem 0 30px;
      transition: all .35s ease-in-out;
      will-change: max-height
   }
}

.footer .tab-content nav {
   display: flex;
   flex-direction: column
}

.footer .tab-content nav a {
   display: inline;
   margin-bottom: 10px;
   max-width: 100%;
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap
}

.footer .tab-content nav a:last-child {
   margin-bottom: 0
}

.footer input {
   display: none
}

.footer input+.tab-label {
   transition: all .6s ease-in-out;
   will-change: padding
}

.footer input:checked+.tab-label {
   background-color: var(--colour-3);
   padding-bottom: 10px
}

.footer input:checked+.tab-label span {
   margin-right: 10px
}

.footer input:checked~.tab-content {
   max-height: 600px;
   opacity: 1
}

@media (max-width:767px) {
   .footer input:checked~.tab-content {
      padding: 10px 20px 0 30px
   }

   .text-block.large .items-content .slider-item .image-container img {
      max-height: 175px;
      min-height: 175px;
              margin-top: 25px;
              margin-bottom: 25px;
   }
}

.touch .footer .tab-label:hover span,
.touch .footer input:checked+.tab-label span span {
   transform: translate(0)
}

.footer .social-nav :is(svg, img) {
   width: 16px;
   height: 16px
}

.footer .social-nav :is(i.bi) {
   font-size: 12px
}

.footer .tab svg {
   flex-shrink: 0
}

.footer .social-nav svg path {
   fill: var(--light)
}

.footer .social-nav a:last-child :is(svg, img, i.bi) {
   margin-right: 0
}

.footer svg .line-2 {
   transform: translate(8px) translateY(0) rotate(0);
   transition: transform .15s ease-in-out;
   will-change: transition
}

.footer input:checked+.tab-label svg .line-2 {
   opacity: 0;
   transform: translate(15px) translateY(8px) rotate(90deg)
}

.go-top-button {
   display: flex;
   justify-content: center;
   align-items: center;
   width: 40px;
   height: 40px;
   position: fixed;
   z-index: 6;
   right: 22px;
   bottom: 41px;
   background-color: var(--colour-2);
   color: var(--light);
   border: 1px solid rgba(255, 255, 255, .5);
   border-radius: 40px;
   cursor: pointer;
   transform: scale(0);
   transition: transform .3s cubic-bezier(.22, .62, .55, 2)
}

.go-top-button svg {
   pointer-events: none
}

.go-top-button.is-visible {
   transform: scale(1)
}

.go-top-button.is-visible:hover {
   transform: scale(1.5)
}

.hero-large {
   position: relative;
   overflow: hidden;
   min-height: 80vh;
   display: flex;
   align-items: center;
   padding-top: 100px
}

.hero-large .media-section {
   position: absolute;
   inset: 0;
   z-index: 0
}

.hero-large .media-section::before {
   content: "";
   position: absolute;
   inset: 0;
   background: var(--hero-overlay);
   z-index: 1
}

.hero-large .media-section img {
   min-width: 100%;
   height: 100%;
   object-fit: cover
}

.hero-large .content {
   position: relative;
   z-index: 2;
   width: 100%;
   color: var(--light)
}

.hero-large .grid-container {
   display: grid;
   grid-template-columns: repeat(12, minmax(0, 1fr))
}

.hero-large .content-section {
   grid-column: 1/span 8
}

.hero-large .link-container {
   margin-top: 20px
}

.text-block .body--m :is(ol, ul) {
   list-style: disc;
   margin-left: 3rem
}

.text-block,
.text-block.is-blue:not(.alt-blue) a {
   color: var(--colour-4)
}

.text-block.is-grey {
   color: var(--colour-3)
}

.text-block:is(.is-white, .is-blue):not(.alt-blue) .body--m {
   color: var(--colour-4);    font-size: 18px;
}

.text-block .slider-item .body--m p a {
   text-decoration: underline
}

.text-block.large.component {
   padding: 0 !important
}

.text-block.large {
   width: 100%
}

.text-block.large.full-width .items-content .slider-item .image-container {
   max-width: initial
}

.text-block.large .component-carousel {
   overflow: hidden;
   position: relative;
   width: 100%
}

.text-block.large .title-container .content-top {
   display: flex;
   justify-content: space-between;
   position: relative;
   width: 100%
}

.text-block.large .title-container .content-top .title--tag {
   position: relative;
   margin-bottom: 20px
}

.text-block.large .title-container .content-top .title--tag .circles::after {
   box-sizing: border-box
}

.text-block.large .items-content {
   display: flex;
   flex-direction: row
}

.text-block.large .items-content .slider-item {
   display: flex;
   flex-direction: row;
   max-width: 100%;
   min-width: 100%;
   transition: all .8s ease-in-out;
   transition-behavior: normal;
   width: 100%
}

@media screen and (min-width:0) and (max-width:1023px) {
   .text-block.large .items-content .slider-item {
      flex-direction: column
   }

   .text-block.large .items-content .slider-item.is-active .text-container {
      animation: .6s ease-in-out moveTextMobile;
      animation-range-end: normal;
      animation-range-start: normal;
      animation-timeline: auto
   }
}

@media (min-width:1024px) {
   .text-block.large .items-content .slider-item.is-active .text-container {
      animation: .6s ease-in-out moveText;
      animation-range-end: normal;
      animation-range-start: normal;
      animation-timeline: auto
   }
}

@media screen and (min-width:0) and (max-width:1023px) {
   .text-block.large .items-content .slider-item.is-active .image-container {
      animation: .6s ease-in-out moveImageMobile;
      animation-range-end: normal;
      animation-range-start: normal;
      animation-timeline: auto
   }

   .text-block.large .items-content .slider-item .text-container {
      height: 100%;
      order: 2
   }
}

@media (min-width:1024px) {
   .text-block.large .items-content .slider-item.is-active .image-container {
      animation: .6s ease-in-out moveImage;
      animation-range-end: normal;
      animation-range-start: normal;
      animation-timeline: auto
   }
}

.text-block.large .items-content .slider-item .text-container {
   justify-self: flex-end;
   width: 50%
}

@media (min-width:1920px) {
   .text-block.large .items-content .slider-item .text-container .grid {
      justify-content: end;
      margin-right: 0;
      max-width: 960px
   }
}

@media (min-width:2560px) {
   .text-block.large .items-content .slider-item {
      display: grid;
      grid-template-columns: 2fr 2fr
   }

   .text-block.large .items-content .slider-item .text-container {
      width: 100%
   }
}

.text-block.large .items-content .slider-item .text-container .title {
      margin-bottom: 10px;
    font-weight: 600;
    /* max-width: 465px; */
    font-family: "Syne", sans-serif;
    color: #385890;
    font-weight: 600;
    font-size: 25px;
}
dl, ol, ul {
    margin-top: 0;
    margin-bottom: 0rem !important; 
}
.text-block.large .items-content .slider-item .text-container .text {
   font-family: "Syne", sans-serif;
   font-size: 1.5rem;
   line-height: 2.5rem
}

.text-block.large .items-content .slider-item .text-container .links-container {
   display: flex;
   gap: 10px;
   margin-top: 50px
}

@media (min-width:768px) {
   .text-block.large .items-content .slider-item .text-container .text {
      font-size: 1.6rem;
      line-height: 2.5rem
   }

   .text-block.large .items-content .slider-item .text-container .links-container {
      margin-top: 35px
   }
}

.text-block.large .items-content .slider-item .image-container {
   width: 50%
}

@media (min-width:2560px) {
   .text-block.large .items-content .slider-item .image-container {
      width: initial
   }
}

.text-block.large .items-content .slider-item .image-container img {
   display: block;
   height: 100%;
   pointer-events: none;
   width: 100%
}

@media screen and (min-width:0) and (max-width:1023px) {
   .text-block.large .items-content .slider-item .image-container {
      order: 1
   }

   .text-block.large .items-content .slider-item .text-container {
      max-width: 100%;
      min-width: 100%;
      width: 100%
   }

   .text-block.large .items-content .slider-item .image-container {
      min-width: 100%;
      width: 100%
   }
}

@media screen and (min-width:768px) and (max-width:1023px) {
   .footer .tab-content {
      padding-left: 0
   }

   .footer input:checked~.tab-content {
      padding: 8px 0 10px 10px
   }

   .text-block.large .items-content .slider-item .image-container img {
      max-height: 355px;
      min-height: 355px
   }

   .text-block.large .items-content .slider-item .text-container {
      max-width: 512px
   }
}

@media screen and (min-width:1024px) and (max-width:1279px) {
   .text-block.large .items-content .slider-item .text-container {
      max-width: 640px
   }
}

@media screen and (min-width:1280px) and (max-width:1599px) {
   .text-block.large .items-content .slider-item .text-container {
      max-width: 800px
   }
}

@media (min-width:1600px) {
   .text-block.large .items-content .slider-item .text-container {
      max-width: 960px
   }

   .text-block.large .text-container {
      padding-top: 100px;
      padding-bottom: 100px
   }
}

@media (min-width:1920px) {
   .text-block.large .items-content .slider-item .text-container .links-container {
      margin-top: 50px
   }

   .text-block.large .items-content .slider-item .text-container {
      max-width: 1280px
   }
}

@media (min-width:768px) {
   .text-block.large .text-container {
  /*    padding-top: 80px;
      padding-bottom: 80px*/
   }

   .logo-carousel.component {
      padding-top: 40px;
      padding-bottom: 40px
   }
}

.text-block.large .text-container {
 /*  padding-top: 60px;
   padding-bottom: 60px;*/
   display: flex;
   align-items: center
}

@keyframes moveText {
   0% {
      transform: translate(-100%)
   }

   to {
      transform: translate(0)
   }
}

@keyframes moveImage {
   0% {
      transform: translate(100%)
   }

   to {
      transform: translate(0)
   }
}

@keyframes moveTextMobile {
   0% {
      transform: translateY(100%)
   }

   to {
      transform: translateY(0)
   }
}

@keyframes moveImageMobile {
   0% {
      transform: translateY(-100%)
   }

   to {
      transform: translateY(0)
   }
}

@media only screen and (max-width:600px) {
   label {
      margin-bottom: 10px
   }
}

.text-block p img {
   padding-top: 10px
}

.single:is(.single-articles, .single-blog, .single-news) .text-block img {
   object-position: left
}

.single:is(.single-case-studies, .single-events, .single-industries, .single-solutions) .text-block img {
   object-position: center
}

.logo-carousel {
   --cell: 180px;
   --gap: 24px;
   --speed: 40s;
   --slide: 320ms;
   --ease: cubic-bezier(0.22, 0.61, 0.36, 1)
}

.logo-carousel .title {
   font-size: 3rem;
   line-height: 4rem;
   color: var(--colour-4)
}

.logo-carousel .link-container {
   display: flex;
   justify-content: center;
   margin-block: 16px
}

.logo-carousel .logo-viewport {
   overflow: hidden;
   width: 100%
}

.logo-carousel .logo-viewport:hover .logo-track {
   animation-play-state: paused
}

.logo-carousel .logo-viewport:hover {
   cursor: var(--cursor-pause)
}

.logo-carousel .logo-track {
   display: flex;
   width: max-content;
   animation: logo-scroll var(--speed) linear infinite;
   will-change: transform;
   transform: translate3d(0, 0, 0)
}

.logo-carousel.is-manual .logo-track {
   animation: none
}

.logo-carousel.is-sliding .logo-track {
   transition: transform var(--slide) var(--ease)
}

.logo-carousel .logo-set {
   display: flex;
   gap: var(--gap)
}

.logo-carousel .logo-set:first-child {
   padding-right: var(--gap)
}

.logo-carousel .logo-set a {
   cursor: var(--cursor-pointer)
}

.logo-carousel .logo-item {
   width: var(--cell);
   height: var(--cell);
   flex: 0 0 var(--cell);
   display: flex;
   align-items: center;
   justify-content: center
}

.logo-carousel .logo-item img {
   max-width: 100%;
   max-height: 100%;
   width: auto;
   height: auto;
   object-fit: contain;
   display: block;
   filter: grayscale(0);
   transition: all .3s ease-in-out
}

.logo-carousel .logo-item:hover img {
   filter: grayscale(100%);
   scale: 1.1
}

@keyframes logo-scroll {
   from {
      transform: translateX(0)
   }

   to {
      transform: translateX(-50%)
   }
}

@media (min-width:768px) {
   .logo-carousel .link-container {
      margin-bottom: 0
   }
}

@media (prefers-reduced-motion:reduce) {
   .logo-carousel .logo-track {
      animation: none
   }
}

.logo-carousel .controls {
   display: flex;
   justify-content: flex-end
}

.logo-carousel .control-btn {
   appearance: none;
   background: 0 0;
   padding: 0;
   border: 0;
   outline: 0;
   cursor: pointer;
   opacity: .4
}

.services .service-container.grid-container {
   display: grid;
   grid-template-columns: 1fr;
   gap: 20px;
   margin-top: 20px
}

.services .service {
   width: 100%;
   height: auto;
   min-height: 0;
   background: var(--light);
   color: var(--colour-4);
   box-shadow: 0 2px 8px rgba(0, 0, 0, .08), 0 20px 40px rgba(0, 0, 0, .12);
   padding: 20px;
   position: relative;
   z-index: 1;
   transition: opacity .25s ease, transform .25s ease;
     
}
/*
.industries .service:nth-child(1) {
    background: url(../wp-media/construction.png);
    background-repeat: no-repeat;
    background-size: cover;
}

.industries .service:nth-child(2) {
    background: url(../wp-media/corporate.png);
    background-repeat: no-repeat;
    background-size: cover;
}



.industries .service:nth-child(3) {
    background: url(../wp-media/construction.png);
    background-repeat: no-repeat;
    background-size: cover;
}



.industries .service:nth-child(4) {
    background: url(../wp-media/corporate.png);
    background-repeat: no-repeat;
    background-size: cover;
}



.industries .service:nth-child(5) {
    background: url(../wp-media/corporate.png);
    background-repeat: no-repeat;
    background-size: cover;
}



.industries .service:nth-child(6) {
    background: url(../wp-media/corporate.png);
    background-repeat: no-repeat;
    background-size: cover;
}


*/

.our-business-verticals .wrap {
    position: relative;
}

.our-business-verticals .wrap:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: 10px;
    z-index: 1;
}
.our-business-verticals .wrap .image {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
}

.our-business-verticals .wrap .image:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000000 100%);
}.our-business-verticals .wrap .title {
    position: absolute;
    font-size: 1.125rem;
    left: 2rem;
    bottom: 2.5rem;
    padding-bottom: 0.2rem;
    color: #fff;
    display: flex;
    z-index: 2;
    max-width: calc(100% - 4rem);
}.stretched-link::after {
    z-index: 2;
}.stretched-link::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    content: "";
}
/*footer*/
.footer-dark {
    background: #212d45;
    color: #ffffff;
    font-size: .95rem;
    line-height: 1.6;
}
.footer-divider {
    border-color: #333;
    opacity: 1;
    margin: 2.5rem 0 1.5rem;
}
    .text-lg-start {
        text-align: left !important;
    }

    .social ul li{
    float: left;
    padding: 0px 9px;
    font-size: 15px;

    }

.footer-btm p{

font-size: 14px;
    font-family: "Syne", sans-serif;

}
.social ul{

    padding-left: 0px;
}
.our-business-verticals .wrap .image img {
    transition: all 0.3s ease-in-out;
    width: 100%;
}.our-business-verticals .wrap .title {
    position: absolute;
    font-size: 18px;
    left: 2rem;
    bottom: 2.5rem;
    padding-bottom: 0.2rem;
    color: #fff;
    display: flex;
    z-index: 2;
    max-width: calc(100% - 4rem);
    font-family: "Syne", sans-serif;
}.our-business-verticals .wrap .title img {
    width: 12px;
    margin-left: 5px;
}.our-business-verticals .wrap .title:after {
    content: "";
    position: absolute;
    width: 100%;
    left: 0;
    top: 100%;
    height: 1px;
    background: #fff;
}

.mission-vision{
   background: url(https://info.singerthai.co.th/storage/about-us/vision/bg-vision-02.jpg);
   background-size: cover;
       background-position: center;
    padding: 5% 0%;

}
    .services .component .grid-container {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }


.services .service:has(a) {
   cursor: pointer
}

.services .service .title {
   color: var(--colour-4)
}

.services .title--tag {
   margin-bottom: 20px
}

.services .service .title,
.services .service picture img {
   margin-bottom: 10px;    width: 100%;
}

.services .link-container {
   display: flex;
   margin-top: 10px
}

.other-service{

}


.other-service .service picture img {

/*    height: unset;*/
}

    .other-service .other-s {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
.other-s{
        display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 20px;
}


.other-service .body--m{
   display: none;
}

.other-service .service{

    text-align: center;
    padding: 7px;
}


.other-service .link-container {

    display: none;

}

.services .service:hover {
   transform: translateY(-4px)
}

.services .service-container:has(.service:hover) .service {
   opacity: .35
}

.services .service-container:has(.service:hover) .service:hover {
   opacity: 1
}

@media (min-width:768px) {
   .services .service-container.grid-container {
      grid-template-columns: repeat(2, minmax(0, 1fr))
   }

   .testimonial.component {
      padding-top: 0 !important;
      padding-bottom: 0 !important
   }
}

@media (min-width:998px) {
   .services .service-container.grid-container {
      grid-template-columns: repeat(2, minmax(0, 1fr))
   }
}

.services .service .link.link--cta.link--svg.on-white,
.services .service .transition-link.transparent.on-white {
   color: var(--colour-1) !important
}

.services .service:hover .link.link--cta.link--svg.on-white,
.services .service:hover .transition-link.transparent {
   color: var(--colour-3) !important
}

.services .service:hover .link {
   opacity: 1
}

.services .service:hover .link.link--cta.link--svg.on-white::before,
.services .service:hover .transition-link.transparent::before {
   width: 100%
}

.testimonial {
   overflow: hidden
}

.testimonial .container {
   margin-left: auto;
   margin-right: auto;
   max-width: 1256px;
   padding-inline: 16px;
   width: 100%
}

.testimonial .info {
   margin-bottom: -20px;
   position: relative;
   z-index: 2
}

.testimonial :where(figure) {
   margin: 0 0 1em
}

.testimonial img {
   border-style: none;
   display: block;
   max-width: 100%
}

@media (max-width:991px) {
   .testimonial .info {
      margin-right: auto;
      max-width: 600px
   }
}

@media (min-width:992px) {
   .testimonial .container {
      display: flex;
      position: relative;
      padding-inline: 40px
   }

   .testimonial .info {
      margin-bottom: 48px;
      margin-right: auto;
      margin-top: auto;
      max-width: 621px;
      width: 44%
   }
}

.testimonial figure {
   margin: 40px 0 auto auto;
   max-width: 100%;
   width: 100%
}

@media (min-width:567px) {
   .testimonial figure {
      max-width: 50%
   }
}

@media (min-width:1200px) {
   .testimonial figure {
      margin: 0;
      max-width: 33%
   }
}

.testimonial figure picture {
   overflow: hidden
}

.testimonial .media img {
   height: 100%;
   object-fit: cover;
   object-position: center bottom;
   width: 100%
}

.testimonial .quote p,
.testimonial .role {
   font-weight: 400;
   line-height: 1.25;
   text-align: left
}

.testimonial .quote p {
   font-size: 24px
}

.testimonial .role {
   font-size: 16px;
   color: var(--colour-4);
   margin-bottom: 8px;
   width: 100%
}

@media (min-width:992px) {
   .testimonial .role {
      margin-bottom: 5px
   }
}

.testimonial .name {
   color: var(--colour-4);
   margin-bottom: 16px;
   text-align: left;
   width: 100%
}

@media (min-width:992px) {
   .testimonial .name {
      margin-bottom: 28px
   }
}

.testimonial .quote {
   margin: 0;
   padding: 16px 0 16px 16px;
   position: relative
}

@media (min-width:992px) {
   .testimonial .quote {
      padding-bottom: 0;
      padding-left: 24px;
      padding-top: 0
   }
}

.testimonial .quote::before {
   background: linear-gradient(268deg, rgba(0, 102, 255, 0) 3.55%, #06f 109.08%);
   background-repeat: repeat;
   content: "";
   display: block;
   height: 100%;
   left: 0;
   position: absolute;
   top: 0;
   width: 1px
}

.testimonial .quote p {
   color: var(--colour-1);
   margin-bottom: 0
}

.image .title {
   font-size: 3rem;
   line-height: 4rem;
   color: var(--colour-4)
}

.image .body--m {
   text-wrap: balance;
   direction: ltr;
   max-width: 100ch;
   margin-block: 1.6rem;
   color: var(--colour-4)
}

.image .image-viewport {
   display: flex;
   justify-content: center;
   align-items: center;
   overflow: hidden
}

.image .image-viewport img {
   display: block;
   width: auto;
   height: auto
}

@media (max-width:1400px) {
   .image .image-viewport img {
      max-width: none;
      max-height: 800px
   }
}

@media (max-width:1023px) {
   .image .image-viewport img {
      max-width: none;
      max-height: 680px
   }
}

@media (max-width:767px) {
   .logo-carousel {
      --cell: 180px;
      --gap: 16px;
      --speed: 40s
   }

   .image .body--m {
      font-size: 1.5rem;
      line-height: 2.5rem
   }

   .image .image-viewport img {
      max-height: 550px
   }
}

@media (max-width:449px) {
   .image .image-viewport img {
      max-height: 400px
   }
}

.image.scale-on-mobile {
   margin: 0
}

.image.scale-on-mobile .image-viewport,
.image.scale-on-mobile .image-viewport img,
.image.scale-on-mobile .image-viewport picture {
   width: 100%;
   max-width: none
}

.image.scale-on-mobile .image-viewport img {
   height: auto;
   display: block
}

@media (min-width:768px) {
   .image.scale-on-mobile {
      display: block
   }
}

.case-studies .grid-container {
   width: 100%;
   max-width: 1000px;
   margin-inline: auto
}

.case-studies .title-section {
   margin-bottom: 40px
}

.case-studies .title-section .grid-container {
   text-align: center
}

.case-studies .viewport {
   display: grid;
   position: relative;
   overflow: hidden;
   min-height: 650px;
   max-width: 1000px;
   transition: height .3s ease
}

.case-studies .viewport :is(.title, .body--m) {
   color: var(--light)
}

.case-studies .case-study {
   grid-area: 1/1;
   display: grid;
   grid-template-columns: 1fr 1fr;
   opacity: 0;
   visibility: hidden;
   pointer-events: none;
   transition: opacity .3s ease, visibility 0s linear .3s
}

.case-studies .case-study.is-active {
   opacity: 1;
   visibility: visible;
   pointer-events: auto;
   transition: opacity .3s ease
}

.case-studies picture {
   position: relative;
   overflow: hidden
}

.case-studies picture img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block
}

.case-studies .content {
   display: flex;
   flex-direction: column;
   gap: 24px;
   padding: 48px;
   height: 100%
}

.case-studies .content .top {
   display: flex;
   flex-direction: column;
   gap: 16px
}

.case-studies .content .top .meta {
   opacity: .5
}

.case-studies .content .bottom {
   display: flex;
   flex-direction: column;
   gap: 16px;
   margin-top: auto;
   margin-bottom: 20px
}

.case-studies .content .bottom .tags {
   margin-top: 10px
}

.case-studies .content .bottom .tag {
   display: inline-block;
   font-size: 1.4rem;
   background-color: var(--colour-3);
   color: var(--colour-4);
   padding: 4px 8px;
   border-radius: 10px;
   margin: 0 8px 8px 0
}

.case-studies .content :is(.meta, .title) {
   font-weight: 800
}

.case-studies .controls {
   display: flex;
   gap: 12px;
   position: absolute;
   right: 24px;
   bottom: 24px;
   z-index: 5
}

.case-studies .control-btn {
   cursor: pointer;
   opacity: 1;
   transition: opacity 250ms ease
}

.case-studies .control-btn svg path {
   stroke: var(--light)
}

@media (max-width:900px) {
   .case-studies .viewport {
      min-height: 640px
   }

   .case-studies .case-study {
      grid-template-columns: 1fr
   }

   .case-studies .content {
      padding: 24px
   }

   .case-studies picture img {
      height: 400px
   }
}

.posts.is-blue {
   background-color: var(--colour-3)
}

.posts.is-blue a {
   color: var(--colour-4)
}

.posts {
   background-repeat: no-repeat;
   background-size: cover
}


.posts .grid-container:not(.htmx-indicator) {
   flex: 1;
   max-width: 1200px;
   margin-inline: auto;
   width: 100%
}

.posts .posts-container .post {
   display: none;
   grid-template-columns: repeat(12, 1fr);
   gap: 20px
}

.posts .posts-container .post-posts {
   grid-column: span 12;
   display: grid;
   grid-template-columns: 1fr;
   gap: 20px;
/*   margin-top: 20px*/
}

@media (min-width:568px) {
   .posts .posts-container .post-posts {
      grid-template-columns: repeat(2, minmax(0, 1fr))
   }
}

@media (min-width:1040px) {
   .posts .posts-container .post-posts {
      grid-column: span 7;
      grid-template-columns: repeat(3, minmax(0, 1fr))
   }
}

.posts .post-excerpt {
   width: 100%;
   align-self: stretch;
   background-color: var(--light);
   padding: 20px;
   box-shadow: 0 2px 8px rgba(0, 0, 0, .08), 0 20px 40px rgba(0, 0, 0, .12)
}

.posts .post-excerpt .inner-content {
   display: flex;
   flex-direction: column;
   height: 100%
}

.posts .post-excerpt .content-wrapper {
   display: flex;
   flex-direction: column;
   flex: 1;
   margin-bottom: 20px
}

.posts .post-excerpt picture {
   display: block;
   width: 100%;
   height: 200px;
   overflow: hidden
}

.posts .post-excerpt img {
   width: 100%;
    height: 131%;
   object-fit: cover;
   transition: transform .2s ease
}

.posts .post-excerpt:hover img {
   transform: scale(1.5)
}

.posts .post-excerpt .title--m {
   display: -webkit-box;
   -webkit-line-clamp: 2;
   -webkit-box-orient: vertical;
   overflow: hidden
}

.posts .post-excerpt .body--m {
margin-bottom: 9px;
}

.posts .post-excerpt .transition-link.transparent.on-white {
   color: var(--blue-clr) !important
}

.posts .post-excerpt:hover .transition-link.transparent {
   color: var(--colour-3) !important
}

.posts .post-excerpt:hover .link {
   opacity: 1
}

.posts .post-excerpt:hover .transition-link.transparent::before {
   width: 100%
}

.posts .post-meta {
   display: flex;
   flex-direction: column;
   gap: 10px;
    margin-block: 12px 1px;
}

.posts .post-terms {
   display: flex;
   flex-wrap: wrap;
   gap: 8px
}

.posts .post-terms .tag {
     display: inline-block;
       font-size: 2rem;
    padding: 4px 8px;
    border-radius: 10px;
    margin: 0 8px 8px 0;
    /* background-color: var(--colour-3); */
    color: orange;
    font-weight: 500;    padding-left: 0px;
    font-family: Outfit,sans-serif;
}

.posts .filters {
   margin: 40px auto 20px
}

.posts .filters .grid-container {
   width: 100%
}

.posts .filters .filters-form {
   display: grid;
   grid-template-columns: 7fr 5fr;
   gap: 1rem;
   align-items: start
}

.posts .filters .filter-dropdown {
   position: relative;
   width: 100%
}

.posts .filters .filter-dropdown[open] {
   z-index: 20
}

@media(max-width:991px) {
   .posts .filters .filters-form {
      grid-template-columns: 1fr
   }
}

.posts .search-container {
   padding: 0
}

html {
   opacity: 1
}




/*added*/
.ease-out {
    transition-timing-function: cubic-bezier(0, 0, .2, 1);
}.transition-colors {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .15s;
}.duration-300 {
    transition-duration: .3s;
}.border-\[rgba\(19\2c 113\2c 255\2c 0\.40\)\] {
    border-color: rgba(19, 113, 255, .4);
}

.rounded-\[16px\] {
    border-radius: 16px;
}.border {
    border-width: 1px;
}.max-w-\[392px\] {
    max-width: 392px;
}.h-full {
    height: 100%;
}.flex {
    display: flex;
}.relative {
    position: relative;
}.opacity-40 {
    opacity: .4;
}.w-full {
    width: 100%;
}.z-\[10\] {
    z-index: 10;
.right-0 {
    right: 0;
}.bottom-0 {
    bottom: 0;
}.absolute {
    position: absolute;
}.z-10 {
    z-index: 10;
}.text-white {
    --tw-text-opacity: 1;
    color: white;
}    .sm\:text-\[26px\] {
        font-size: 26px;
    .bg-white {
    --tw-bg-opacity: 1;
    background-color: white;
}.h-\[180px\] {
    height: 180px;
}    .sm\:w-\[311px\] {
        width: 311px;
    }.gap-3 {
    gap: .75rem;
}.items-start {
    align-items: flex-start;
}.bg-\[\#EAF0FF\] {
    --tw-bg-opacity: 1;
    background-color: white;
}

