/* alegreya-sans-regular - latin */
  @font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Alegreya Sans';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/alegreya-sans-v25-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  
/* alegreya-sans-700 - latin */
  @font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Alegreya Sans';
	font-style: normal;
	font-weight: 700;
	src: url('../fonts/alegreya-sans-v25-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }

  /* ibm-plex-serif-regular - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'IBM Plex Serif';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/ibm-plex-serif-v19-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  
  /* ibm-plex-serif-600 - latin */
  @font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'IBM Plex Serif';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/ibm-plex-serif-v19-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
  

:root {
    --clr-white: white;
    --clr-black: black;
	--clr-gray: #F1F1F1;
    --clr-blue: #114C76;
    --clr-blue-blog: #00122B;
    --clr-blue-dark: #0E3C5D;
    --clr-blue-light: #E1EDF5;

    --clr-secondary: #007AB3;

    --clr-gold: #C3944A;
    --clr-gold-dark: #AD7214;
    --clr-gold-darkest: #986616;

    --clr-green: #299E57;

    --clr-burger: var(--clr-blue);
    --clr-burger-open: var(--clr-blue);
    --clr-navbarMobileBackground: white;    

    --clr-navLink: var(--clr-blue);
    --clr-navLinkActive: var(--clr-blue-dark);
    --clr-navLinkHover: var(--clr-navLinkActive);
    
    --clr-btn: var(--clr-blue);
    --clr-btnHover: var(--clr-blue-dark);
    --clr-btnActive: var(--clr-blue-dark);

    --clr-btn2: var(--clr-blue);
    --clr-btn2Hover: var(--clr-gold-dark);
    --clr-btn2Active: var(--clr-gold-dark);

    --clr-tableBorder: black;

	--ff-open_sans: 'Open Sans';
	--ff-IBMPlexSerif: 'IBM Plex Serif';
	--ff-AlegreyaSans: 'Alegreya Sans';

    --fs-h1: clamp(30px,5vw,44px);
    --fs-h2: clamp(25px,4vw,32px);
    --fs-h3: clamp(20px,4vw,24px);
    --fs-h4: clamp(18px,4vw,20px);
    --fs-p: clamp(16px,2vw,16px);
}


/* GLOBAL STYLES
-------------------------------------------------- */

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
   /* font-size: 18px;*/
}

body {
    font-family: var(--ff-IBMPlexSerif);
    font-weight: 400;
    color: var(--clr-black);
    line-height: 1.4;
    margin-bottom: 0;
}
body.noScroll {
    overflow-y: hidden;
}
@media (pointer:coarse){
    body.noScroll {
        overflow-y: hidden;
        position: fixed;
    }
}
h1{
    font-size: var(--fs-h1);
    font-family: var(--ff-AlegreyaSans);
    font-weight: 700 !important;
    color: var(--clr-blue);
    line-height: 1.15;
}
h2{
    position: relative;
    font-size: var(--fs-h2);
    font-family: var(--ff-AlegreyaSans);
    font-weight: 700;
    height: auto;
    padding-bottom: 26px;
    margin-top: 50px;
    margin-bottom: 36px;
    color: var(--clr-blue);
    line-height: 1.15;
}
h2.has-text-align-center::after{
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    background-color: #ababab;
    width: 100px;
    height: 1px;
}
.keyvisual + h2{
    margin-top: 20px;
}
h3{
    font-size: var(--fs-h3);
    font-family: var(--ff-AlegreyaSans);
    font-weight: 700;
    color: var(--clr-blue);
    margin-top: 30px;
    margin-bottom: 24px;
    line-height: 1.15;
}
h4{
    font-size: var(--fs-h4);
    font-family: var(--ff-AlegreyaSans);
    font-weight: 700;
    color: var(--clr-blue);
    line-height: 1.15;
    margin-top: 15px;
    margin-bottom: 10px;
}


ul li > *,
p{
    font-family: var(--ff-IBMPlexSerif);
    font-size: var(--fs-p);
    max-width: 100ch;
    line-height: 1.6;
}

a{
    font-family: var(--ff-IBMPlexSerif);
    font-weight: 700;
    text-decoration: none;
    color: var(--clr-blue);
}
.entry-content p a{
    font-family: var(--ff-IBMPlexSerif);
    text-decoration: underline;
    color: var(--clr-blue);
}
.entry-content li a[target="_blank"]:not([target="_blank"])::after,
.entry-content p a[target="_blank"]::after{
    content: '';
    position: relative;
    display: inline-block;
    background-image: url(/wp-content/themes/wptheme/assets/img/external_link.svg);
    background-repeat: no-repeat;
    background-size: 20px 15px;
    width: 20px;
    height: 15px;
    top: 0;
    margin-right: 4px;
    margin-left: 4px;
}
/* .bg-tw-button{
    background: var(--clr-btn) !important;
    color: var(--clr-white) !important;
    padding: 12px 20px !important;
    border-radius: 10px !important;
    text-decoration: none !important;
    font-weight: normal !important;
} */

.btn,
.wp-element-button,
.wp-block-file .wp-block-file__button {
    background: var(--clr-btn);
    color: var(--clr-white) !important;
    padding: 12px 20px !important;
    border-radius: 10px !important;
    text-decoration: none !important;
    font-weight: normal !important;
}
.btn:hover,
.wp-element-button:hover,
.wp-block-file .wp-block-file__button:hover {
    background: var(--clr-btnHover);
    color: var(--clr-white);
    text-decoration: underline;
}
.btn:focus,
.wp-block-file .wp-block-file__button {
    background: var(--clr-btnActive);
    color: var(--clr-white);
}

.btn2 {
    color: var(--clr-white) !important;
    text-decoration: none !important;
}

.pipe{
    margin-inline: 10px;
}

main ul{
    list-style: '•  ';
    margin-left: 20px;
}
main ul li{
    margin-bottom: 5px;
    font-size: var(--fs-p);
}
main ul li::marker{
    color: var(--clr-blue);
}

main ol {
    margin-left: 20px;
}

p[class*='style-']{
    padding: 30px;
    color: var(--clr-black);
}


.infoblock{
    display: flex;
    width: 100%;
    max-width: 800px;
    gap: 20px;
    margin-inline: auto;
    background-color: var(--clr-white);
    filter: drop-shadow(0px 10px 14px #f1f1f1);
    padding: 20px 30px;
    margin-bottom: 50px;
    border-radius: 10px;
}
.infoblock h3{
    margin: 0;
    padding: 0;
    margin-top: 3px;
    margin-bottom: 10px;
}
.infoblock p{
    margin: 0;
    padding: 0;
}
.infoblock img{
    width: 100%;
    max-width: 50px;
    height: auto;
}
.style-warning h3{
    color: #7D1818;
}
.style-info h3{
    color: var(--clr-blue-dark);
}


.error404 main{
    margin-top: 100px;
}
.error404 .page-title{
    margin-left: 5%;
}
.error404 .page-content{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: -100px;
    margin-left: 5%;
}
.error404 .page-content img{
    width: 100%;
    max-width: 800px;
    height: auto;
}
@media only screen and (max-width: 1000px) {
    .error404 .page-title{
        margin-left: 0;
    }
    .error404 .page-content{
        margin-top: 0;
        margin-left: 0;
    }
}
@media only screen and (max-width: 600px) {
    .error404 .page-content{
        flex-direction: column-reverse;
    }
}


picture img{
    width: 80% !important;
    height: auto !important;
    max-height: 80dvh !important;
    object-fit: contain !important;
    object-position: center center !important;
    padding-bottom: 50px !important;
}

.scrollToTopContainer{
    z-index: 9999999;
    opacity: 0;
    position: fixed;
    display: flex;
    justify-content: center;
    align-items: center;
    bottom: 30px;
    right: 50px;
    width: 50px;
    height: 50px;
    cursor: pointer;
    transition: all 0.7s ease-in-out;
    background-color: var(--clr-blue);
    border-radius: 100vmax;
}
.scrollToTopContainer.visible{
    opacity: 1;
    bottom: 60px;
}
.scrollToTopContainer .scrollToTop{
    width: 15px;
    margin-bottom: 3px;
    height: auto;
    transform: rotateZ(-90deg);
}
@media (pointer:coarse) {
    .scrollToTopContainer{
        display: none;
    }
}

/* SPACES
-------------------------------------------------- */

/*
.wp-block-heading + .wp-block-heading {
    margin-top: 20px;
} */

h1.wp-block-heading + p {
   margin-top: 20px;
}

h2.wp-block-heading + p {
   margin-top: -40px;
}
h2.wp-block-heading.has-text-align-center + p {
   margin-top: 0;
}

/* HEADER
-------------------------------------------------- */
header .entry-content,
header .fullWidth{
    --contentMaxWidth: 1640px;
    --padding: 18px;
}
header {
    position: relative;
    background: var(--clr-white);
    margin-bottom: 40px;
}
.site-header > .container {
    position: relative;
}
.site-branding img {
    width: 271px;
    padding: 0;
}
.head-1 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}
.head-2 {
    position: absolute;
    width: 70%;
    top: 0;
    right: 15px;
    display: flex;
    justify-content: flex-end;
}

@media only screen and (max-width: 450px) {
    .site-branding img {
        max-width: 190px;
    }
    .navbar-collapse.collapse.show, .navbar-collapse.collapsing {
        padding-top: 130px !important;
    }
}


/* START
-------------------------------------------------- */
/* ################# CONTAINER ###################### */
main .container{
    /* max-width: 964px; */
}

.entry-content,
.fullWidth{
    --contentMaxWidth: 980px;
    --breakoutWidth: 45px;
    --padding: 18px; 
    
    position: relative;
    display: grid;
    grid-template-columns: [full-width-start] 1fr var(--padding) [content-start] minmax(1px ,var(--contentMaxWidth)) [content-end] var(--padding) 1fr [full-width-end];
    /* justify-items: center; */
}

.site-header .entry-content{
    --contentMaxWidth: 1345px;
}

.entry-content > .fullWidth{
    grid-template-columns: [full-width-start] var(--padding) [content-start] 1fr [content-end] var(--padding) [full-width-end];
    width: 100%;
    max-width: 1380px;
    grid-column: full-width;
    margin-inline: auto;
    
}
.entry-content > *,
.fullWidth > *{
    grid-column: content;
}
.entry-content > .breakout{
    display: grid;
    grid-column: breakout;
    grid-template-columns: [full-width-start] 1fr [breakout-start] var(--padding) [content-start] minmax(1px ,var(--contentMaxWidth)) [content-end] var(--padding) [breakout-end] 1fr [full-width-end];
}
.breakout > *{
    grid-column: content;
}

@media (max-width: 1000px){
    .entry-content{
        grid-template-columns: [full-width-start] 1fr var(--padding) [content-start] minmax(1px ,var(--contentMaxWidth)) [content-end] var(--padding) 1fr [full-width-end];
    }
    /* .entry-content > .fullWidth{
        grid-template-columns: var(--padding) 1fr var(--padding);
    } */
    /* .entry-content > .fullWidth > *{
        grid-column: 2;
    } */
}

.has-grey-background{
    background-color: var(--clr-gray);
    margin-block: 50px;
    padding-block: 50px;
}
.has-grey-background > div{
    max-width: calc(980px + var(--padding) * 2);
    margin-inline: auto;
    padding-inline: var(--padding);
}

/* #################################################### */





/* CONTENT STYLES
-------------------------------------------------- */

.wp-block-gallery figcaption {
    font-size: 16px;
}


.wp-block-gallery.is-preview-large[class*="columns-"]{
    --width: 1188px;
    display: grid;
    column-gap: 25px;
    row-gap: 25px;
    justify-content: center;
}
.wp-block-gallery.is-preview-large[class*="columns-"] figure{
    width: unset !important;
}
.wp-block-gallery.is-preview-large figure.wp-block-image{
    cursor: pointer;
}
.wp-block-gallery.is-preview-large.columns-1{
    --column: 1;
    grid-template-columns: repeat(var(--column), 1fr);
}
.wp-block-gallery.is-preview-large.columns-1 figure.wp-block-image,
.wp-block-gallery.is-preview-large.columns-1 figure.wp-block-image img{
    max-width: 100%;
}
.wp-block-gallery.is-preview-large.is-preview-large.columns-2{
    --column: 2;
    grid-template-columns: repeat(var(--column), 1fr);
}
.wp-block-gallery.is-preview-large.columns-2 figure.wp-block-image,
.wp-block-gallery.is-preview-large.columns-2 figure.wp-block-image img{
    max-width: 100%;
}
.wp-block-gallery.is-preview-large.columns-3{
    --column: 3;
    grid-template-columns: repeat(var(--column), 1fr);    
}
.wp-block-gallery.is-preview-large.columns-4{
    --column: 4;
    grid-template-columns: repeat(var(--column), 1fr);
}
.wp-block-gallery.is-preview-large.columns-5{
    --column: 5;
    grid-template-columns: repeat(var(--column), 1fr);
}
.wp-block-gallery.is-preview-large.columns-6{
    --column: 6;
    grid-template-columns: repeat(var(--column), 1fr);
}
.wp-block-gallery.is-preview-large.columns-7{
    --column: 7;
    grid-template-columns: repeat(var(--column), 1fr);
}

.wp-block-gallery.is-preview-large.columns-8{
    --column: 8;
    grid-template-columns: repeat(var(--column), 1fr);
}

/* Gallery Preview Large */

.wp-block-gallery.is-preview-large[data-preview-large="true"] .wp-block-image:nth-of-type(1) {
    width: 100% !important;
    height: 100% !important;
    max-height: 450px !important;
    grid-column: 1/-1;
}

.wp-block-gallery.is-preview-large[data-preview-large="true"] .wp-block-image:nth-of-type(1) img {
    object-fit: cover;
    object-position: top center;
}

.wp-block-gallery.is-preview-large .wp-block-image figcaption{
    font-family: var(--ff-IBMPlexSerif);
    font-size: 14px;
    color: #3C3C3C;
}

.wp-block-gallery.wp-block-gallery-1{
    /*gap: 15px;*/
}

.wp-block-image figcaption{
    /*display: none;*/
    font-size: 15px !important;
}
.wp-block-image::before{
    display: none;
}
.lg-outer .lg-sub-html,
.lg-outer figcaption {
    display: block !important;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
  display: none;
}

/* KEYVISUAL
-------------------------------------------------- */
.keyvisual{
    position: relative;
    overflow: hidden;
}
.keyvisual img{
    object-fit: cover;
    object-position: center center;
    width: 100%;
    height: 400px;
}
.home .keyvisual img{
    height: 777px;
}
.single-locations .keyvisual img{
    height: 400px;
}

.keyvisual video{
    object-fit: cover;
    object-position: center center;
    width: 100%;
    height: 720px;
}
@media only screen and (max-height: 950px) {
    .keyvisual video{
        height: 600px;
    }
}
@media only screen and (max-height: 850px) {
    .keyvisual video{
        height: 500px;
    }
}
.keyvisual .keyvisual_content{
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: rgba(0, 0, 0, .4);
    padding: 40px 60px 110px 60px;
    color: var(--clr-white);
}
.keyvisual .keyvisual_content .keyvisual_title h1{
    text-align: center;
    margin: 0;
    color: var(--clr-white);
    text-shadow: 0 0 15px black;
}
.keyvisual .keyvisual_content .keyvisual_subtitle{
    position: relative;
    margin-bottom: 15px;
    padding-bottom: 20px;
    text-shadow: 0 0 15px black;
}
.keyvisual .keyvisual_content .keyvisual_subtitle::after{
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--clr-white);
    height: 1px;
    width: 100%;
    max-width: 133px;
    text-shadow: 0 0 15px black;
}
.keyvisual .keyvisual_overlay{
    z-index: 2;
    position: absolute;
    top: calc(100% - 80px);
    left: 50%;
    transform: translateX(-50%);
    width: 1400px;
    height: 85px;
    background-image: url(/wp-content/themes/wptheme/assets/img/keyvisual_overlay.png);
    background-repeat: no-repeat;
    background-size: 100% 85px;
    object-fit: cover;
    object-position: center center;
}



/* STSG BLOG POSTS
-------------------------------------------------- */
.shortcode_posts .grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(258px,100%),1fr));
    column-gap: 20px;
    row-gap: 20px;
    max-width: 100%;
    margin-inline: auto;
    margin-bottom: 50px;
}
.shortcode_posts .grid .grid-item{
    background-color: var(--clr-blue-blog);
}
.shortcode_posts .grid .card{
    position: relative;
    text-align: center;
    
}
.shortcode_posts .grid .card a{
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.shortcode_posts .grid .card a:hover img{
    transform: scale(1.05);
}
.shortcode_posts .grid .card a:hover .card-body h3{
    text-decoration: underline;
}
.shortcode_posts .grid img{
    width: 100%;
    height: 261px;
    object-fit: cover;
    object-position: center center;
    transition: all 0.3s ease-in-out;
}
.shortcode_posts .grid .card-body{
    z-index: 2;
    color: var(--clr-white);
    padding: 20px;
    margin-top: 0;
    font-family: var(--ff-IBMPlexSerif);
    font-weight: 400;
}
.shortcode_posts .grid .card-body span{
    position: relative;
    font-size: 16px;
    
}
.shortcode_posts .grid .card-body span::after{
    content: '';
    position: absolute;
    bottom: -11px;
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--clr-white);
    height: 1px;
    width: 100px;
}
.shortcode_posts .grid .card-body p{
    font-size: 14px;
}
.shortcode_posts .grid .card-body h3{
    font-size: 22px;
    padding-top: 14px;
    margin-top: 11px;
    color: var(--clr-white);
}
.shortcode_posts .grid .stsg_blog_overlay{
    z-index: 2;
    position: absolute;
    top: calc(262px - 15px);
    left: 0;
    width: 100%;
    height: 51px;
    background-image: url(/wp-content/themes/wptheme/assets/img/stsg_blog_overlay.png);
    background-repeat: no-repeat;
    background-size: 100% 51px;
    object-fit: cover;
    object-position: center center;
}


/* CALL-TO-ACTION
-------------------------------------------------- */
.call_to_action{
    isolation: isolate;
    z-index: 0;
    position: relative;    
    margin-block: 50px;
}
.call_to_action_container{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    margin-inline: auto;
}
.call_to_action_container img{
    height: 100%;
    max-height: 400px;
    width: auto;
    justify-self: center;
}
.call_to_action .cta_events,
.call_to_action .cta_locations {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-image: linear-gradient(to bottom, var(--clr-white) 60%, var(--clr-gray) 60%);
    padding: 20px;
}
.call_to_action .cta_events .keyvisual_overlay,
.call_to_action .cta_locations .keyvisual_overlay {
  z-index: 0;
  position: absolute;
  top: calc(100% - 43px);
  left: 50%;
  transform: translateX(-50%);
  width: 110%;
  height: 85px;
  background-image: url(/wp-content/themes/wptheme/assets/img/keyvisual_overlay.png);
  background-repeat: no-repeat;
  background-size: 100% 85px;
  background-position: center center;
}
.call_to_action_container .btn{
    z-index: 1;
    position: relative;
    width: fit-content;
    font-weight: 400;
}
.call_to_action .cta_events .left,
.call_to_action .cta_locations .left{
    display: flex;
    justify-content: center;
}
.call_to_action .cta_events .right,
.call_to_action .cta_locations .right {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: black;
}
.call_to_action a .right p{
    font-family: var(--ff-IBMPlexSerif);
    font-weight: 400;
}
.call_to_action a:hover .right .btn {
    background: var(--clr-btnHover);
    color: var(--clr-white);
}
@media only screen and (max-width: 800px) {
    .call_to_action_container{
        grid-template-columns: 1fr;
    }
}



/* WPTHEME TEMPLATE DETAILS
-------------------------------------------------- */

.wptheme-template-details.has-grey-background {
    background-color: var(--clr-white);
    padding-top: 0;
}
.wptheme-template-details.has-grey-background .wp-block-column{
    background-color: var(--clr-gray);
}
.wptheme-template-details .wp-block-column{
    /*background-color: var(--clr-blue-light);*/
    padding: 35px 42px;
}
.wptheme-template-details .wp-block-column > *:not(:last-child){
    padding-bottom: 10px !important;
    margin-bottom: 20px !important;
    border-bottom: 1px solid rgba(17, 76, 118, .5) !important;
}
.wptheme-template-details .wp-block-column summary::marker{
    list-style-type: none;
}
.wptheme-template-details .wp-block-column details summary{
    display: flex;
    transition: all 0.3s ease-in-out;
}
.wptheme-template-details .wp-block-column details summary strong{
    width: 80%;
}
.wptheme-template-details .wp-block-column details summary:hover{
    padding-left: 10px;
}
@media (pointer:coarse) {
    .wptheme-template-details .wp-block-column details summary:hover{
        padding-left: 0;
    }
}
.wptheme-template-details .wp-block-column details summary::after{
    content: '';
    position: relative;
    display: inline-block;
    background-image: url(/wp-content/themes/wptheme/assets/img/details_plus.svg);
    background-repeat: no-repeat;
    background-size: 20px 20px;
    width: 20px;
    height: 20px;
    top: 5px;
    margin-left: auto;
}
.wptheme-template-details .wp-block-column details[open] summary::after{
    content: '';
    position: relative;
    display: inline-block;
    background-image: url(/wp-content/themes/wptheme/assets/img/details_minus.svg);
    background-repeat: no-repeat;
    background-size: 20px 20px;
    width: 20px;
    height: 20px;
    top: 5px;
    margin-left: auto;
}
.wptheme-template-details .wp-block-column > *{
    font-family: var(--ff-AlegreyaSans);
    font-size: 22px;
    font-weight: 700;
    color: var(--clr-blue);
}
.wptheme-template-details .wp-block-column > p{
    font-family: var(--ff-IBMPlexSerif);
    font-size: 22px;
}
.wptheme-template-details .wp-block-column > *:last-child{
    margin-bottom: 0;
}
.wptheme-template-details .wp-block-column > p a {
    display: flex;
    font-family: var(--ff-AlegreyaSans);
    font-size: 22px;
    font-weight: 700;
    color: var(--clr-blue);
    text-decoration: none;
    margin-bottom: 0;
    transition: all 0.3s ease-in-out;
}
.wptheme-template-details .wp-block-column > p a:hover {
    padding-left: 10px;
}
.wptheme-template-details .wp-block-column > p a[target="_blank"]::before {
    display: none;
}
.wptheme-template-details .wp-block-column > p a::after {
    content: '';
    position: relative;
    display: inline-block;
    background-image: url(/wp-content/themes/wptheme/assets/img/arrow_right.svg);
    background-repeat: no-repeat;
    background-size: 20px 20px;
    width: 20px;
    height: 20px;
    top: 5px;
    margin-left: auto;
}
.wptheme-template-details .wp-block-column > p a[target="_blank"]::after {
    content: '';
    position: relative;
    display: inline-block;
    background-image: url(/wp-content/themes/wptheme/assets/img/external_link.svg);
    background-repeat: no-repeat;
    background-size: 17px 17px;
    width: 17px;
    height: 17px;
    top: 5px;
    margin-left: auto;
}
.wptheme-template-details .wp-block-column > details p,
.wptheme-template-details .wp-block-column > details ul {
    font-family: var(--ff-IBMPlexSerif);
    font-weight: 400;
    color: var(--clr-black);
    font-size: 16px;
    margin-top: 25px;
}

.wptheme-template-details .wp-block-column-highlights{
    background-color: var(--clr-gray);
    margin-bottom: 25px;
}

.wp-block-file a {
    text-decoration: none !important;
}
.wp-block-file a:hover {
    text-decoration: underline !important;
}

@media only screen and (max-width: 600px) {
    .wptheme-template-details .wp-block-column{
        padding: 35px 20px;
    }
}



/* - buttons - */
.wp-block-buttons {
    margin-bottom: 30px; 
    font-family: var(--ff-IBMPlexSerif);
    font-weight: 300 !important;
    width: 100%;
    /*justify-content: center;*/
    /*width: max-content;*/
    margin-inline: auto;    
}
.wp-block-buttons .is-style-fill .wp-block-button__link {
    background: var(--clr-btn);
    border-color: var(--clr-btn) !important;
}
.wp-block-buttons .is-style-secondary-color .wp-block-button__link {
    background: var(--clr-secondary) !important;
    border-color: var(--clr-secondary) !important;
}
.wp-block-buttons .is-style-outline {
    padding: 10px 15px 12px 15px;
    border-radius: 10px;
}
.wp-block-button__link {
    font-weight: 400 !important;
    border-radius: 10px;
    color: #fff;
    padding: 10px 15px;
    border: 2px solid inherit !important;
}
.wp-block-button__link:hover {
    color: #fff;
    background-color: var(--clr-blue-dark) !important;
}
.wp-block-button.is-style-outline a{
    background-color: transparent !important;
    color: var(--clr-blue) !important;
}

/* - media-text - */
.wp-block-media-text {
    padding: 40px 0;
}

.wp-block-media-text .wp-block-heading {
    margin: 0 0 20px 0;
}
.wp-block-media-text .wp-block-media-text__content {
    padding: 0 0 0 35px;
}
.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
    padding: 0 35px 0 0;
}


/* SWIPER
-------------------------------------------------- */
.teaserGrid{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(313px, 1fr));
    gap: 16px;
    margin-bottom: 20px;
}
.teaserSwiper{
    position: relative;
    width: 100%;
    margin-bottom: 50px;
}
.swiper-slide {
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    text-decoration: none !important;
}
.swiper-slide:hover img{
    transform: scale(1.05);
}
.swiper-slide:hover .swiper-title{
    text-decoration: underline;
}
.swiper-slide:hover .swiper-subtitle{
    text-decoration: underline;
    text-decoration-color: var(--clr-white);
}
.swiper-wrapper{
    height: 100%;
    max-height: 469px;
}
.teaser .full .swiper-thumbnail,
.teaser .full .swiper-thumbnail img,
.teaserSwiper .full .swiper-thumbnail,
.teaserSwiper .full .swiper-thumbnail img{
    width: 100%;
    max-height:  469px;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    object-position: center center;
    overflow: hidden;
    transition: all 0.3s ease-in-out;
}
.teaser .full .swiper-title,
.teaser .full .threequater .swiper-title,
.teaserSwiper .full .swiper-title,
.teaserSwiper .threequater .swiper-title{
    font-family: var(--ff-AlegreyaSans);
    font-weight: 400;
    text-transform: uppercase;
}
.teaser .full,
.teaserSwiper .full{
    position: relative;
}
.teaser .full .swiper-title,
.teaserSwiper .full .swiper-title{
    position: absolute;
    color: white;
    bottom: 10px;
    text-shadow: 0 0 16px black;
    font-size: 30px;
    padding: 18px;
}
.teaser .threequater .swiper-title,
.teaserSwiper .threequater .swiper-title{
    font-size: 22px;
    font-weight: 700;
    text-align: center;
    word-break: break-word;
    color: var(--clr-blue);
}
.teaser .threequater .swiper-subtitle:empty{
    display: none;
}
.teaser .threequater .swiper-subtitle,
.teaserSwiper .threequater .swiper-subtitle{
    display: block;
    position: relative;
    font-family: var(--ff-IBMPlexSerif);    
    margin-top: -19px;
    margin-bottom: 30px;
    font-size: 15px;
    text-align: center;
    padding-block: 10px;
    background-color: var(--clr-secondary);
    color: white;
    height: min-content;
    min-height: 38px;
    width: 100%;
    max-width: 70%;
    margin-inline: auto;
    word-break: break-word;
}
.teaser .threequater .swiper-subtitle::after,
.teaserSwiper .threequater .swiper-subtitle::after{
    content: '';
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #A8A8A8;
    height: 1px;
    width: 95px;
}
.teaser .threequater .swiper-thumbnail,
.teaser .threequater .swiper-thumbnail img,
.teaserSwiper .threequater .swiper-thumbnail,
.teaserSwiper .threequater .swiper-thumbnail img{
    width: 100%;
    max-height: 261px;
    aspect-ratio: 284 / 261;
    object-fit: cover;
    object-position: center center;
    transition: all 0.3s ease-in-out;
}
.swiper-button-next,
.swiper-button-prev{
    top: calc(100% + 40px) !important;
    color: var(--clr-blue) !important;
}
.swiper-button-prev{
    left: 40% !important;
}
.swiper-button-next{
    right: 40% !important;
}
.swiper-button-next::after,
.swiper-button-prev::after {
    font-size: 17px !important;
}




/* ACF BLOCK EVENTS
-------------------------------------------------- */
.block_events{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(258px,100%),1fr));
    column-gap: 20px;
    row-gap: 20px;
    max-width: 100%;
    margin-inline: auto;
    margin-bottom: 50px;
}
.block_events .grid-item{
    background-color: var(--clr-gray);
}
.block_events .card{
    position: relative;
    text-align: center;
    
}
.block_events .card a{
    position: relative;
    display: flex;
    flex-direction: column;    
}
.block_events .card a:hover img{
    transform: scale(1.05);
}
.block_events .block-event-image{
    overflow: hidden;
}
.block_events img{
    width: 100%;
    height: 261px;
    object-fit: cover;
    object-position: center center;
    transition: all 0.3s ease-in-out;
}

.block_events .card-body{
    position: relative;
    z-index: 2;
    color: var(--clr-gray);
    padding: 10px 20px 20px 20px;
    font-family: var(--ff-IBMPlexSerif);
    font-weight: 400;
}
.block_events .card-body span{
    position: relative;
    font-size: 14px;
    color: rgba(0, 29, 47, .8);
    
}
.block_events .card-body .card-title{
    font-family: var(--ff-AlegreyaSans);
    text-align: center;
    color: var(--clr-blue);
    margin-top: 25px;
    margin-bottom: 17px;
}
.block_events .card-body .card-subtitle{
    font-size: 16px;
}
.block_events .card-body .card-subtitle::after{
    content: '';
    position: absolute;
    bottom: -11px;
    left: 50%;
    transform: translateX(-50%);
    background-color: rgba(0, 29, 47, .8);
    height: 1px;
    width: 100px;
}
.block_events .block-events-image{
    position: relative;
}
.block_events .card-body .block_events_overlay{
    z-index: 0;
    position: absolute;
    top: -29px;
    left: 0;
    width: 100%;
    height: 51px;
   /* background-image: url(/wp-content/themes/wptheme/assets/img/block_events_overlay.png); */
    background-image: url(/wp-content/themes/wptheme/assets/img/form_arc.svg);
    background-repeat: no-repeat;
   background-size: 100% 41px;
    object-fit: cover;
    object-position: center center;
}

.block_events_button .btn{
    position: relative;
    display: flex;
    font-family: var(--ff-IBMPlexSerif);
    font-weight: 400;
    width: 100%;
    justify-content: center;
    border-radius: 5px;
    width: max-content;
    margin-inline: auto;    
}
.block_events + .block_events_button{
    margin-bottom: 50px;
}


/* RELATED POSTS
-------------------------------------------------- */
.related_posts{
    display: grid;
    grid-template-columns: repeat(2, minmax(min(250px,100%),1fr));
    gap: 16px;
    max-width: 100%;
    margin-bottom: 50px;
}
.related_posts .related_post{
    background-color: white;
    filter: drop-shadow(0px 10px 14px #f1f1f1);
    padding: 18px;
}
.related_post_image{
    overflow: hidden;
}
.related_post_image,
.related_posts img{
    width: 100%;
    height: 246px;
    object-fit: cover;
    object-position: center center;
    transition: all 0.3s ease-in-out;
}
.related_posts h3{
    margin: 16px 16px 2px 16px;
}
.related_post:hover img{
    transform: scale(1.05);
}

@media only screen and (max-width: 600px) {
    .related_posts{
        grid-template-columns: repeat(1, minmax(min(250px,100%),1fr));
    }
}


/* LOCATIONS LIST
-------------------------------------------------- */
#map { 
    position: relative; 
    top:0; 
    bottom:0; 
    width:100%; 
    height: 600px;
    margin-bottom: 77px;
}
.stsgmap {
    height: 20px;
    width: 20px;
    background-image: url(/wp-content/plugins/stsg-locations/stsg-map/stsgmarker.png);
    background-size: contain;
    cursor: pointer;
}
.locations-list-container{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(190px, 250px), 1fr));
    column-gap: 15px;
    row-gap: 32px;
    max-width: 100%;
    margin-bottom: 50px;
    min-height: 300px;
}
.locations-list-container .locations-list-item{
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 233px;
    padding-bottom: 21px;
    border-bottom: .5px solid #707070;
}
.locations-list-container .locations-list-item img{
    width: 100%;
    height: auto;
    height: 160px;
    object-fit: cover;
    object-position: center center;
    transition: all 0.3s ease-in-out;
}
.location__image{
    overflow: hidden;
    height: 160px;
}
.locations-list-container .locations-list-item:hover img{
    transform: scale(1.05);
}
.locations-list-container .locations-list-item .title{
    font-size: 18px;
    font-family: var(--ff-IBMPlexSerif);
    font-weight: 700;
    color: var(--clr-blue);
    margin-block: 14px;
}
.locations-list-container .locations-list-item .location-place{
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    font-family: var(--ff-IBMPlexSerif);
    font-weight: 400;
    color: black;
    margin-top: auto;
}
.locations-list-container .locations-list-item .location-place img.mappin{
    width: 18px;
    height: auto;
}



.locations-filter-container {
    z-index: 9;
    position: absolute;
    top: 60px;
    right: 0;
    width: 100%;
    max-width: 300px;
    margin: 0 auto 30px;
}

.filter-card {
    background: var(--clr-blue);
    border-radius: 13px;
    overflow: hidden;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.filter-heading {
    color: white;
    padding: 15px 20px;
    margin: 0;
    font-size: 24px;
    font-size: 15px;
    font-weight: normal;
}

.filter-options {
    list-style: none;
    padding: 0 20px;
    margin: 0;
    background: white;
}

.filter-option {
    border-bottom: 1px solid #e5e5e5;
    margin-bottom: 0;
}

.filter-option:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.filter-label {
    display: flex;
    align-items: center;
    padding: 8px 0;
    cursor: pointer;
    transition: background-color 0.2s;
}

.radio-custom {
    display: inline-block;
    width: 26px;
    height: 26px;
    border-radius: 100vmax;
    margin-right: 15px;
    position: relative;
    background-color: #F6F6F6;
    box-shadow: inset 0 3px 6px rgba(0, 0, 0, .08);
}

.radio-custom.active {
    border-color: #2b509c;
}

.radio-custom.active:after {
    content: "";
    position: absolute;
    top: calc(50% + 1px);
    left: calc(50% + 1px);
    transform: translateX(-50%) translateY(-50%);
    width: 16px;
    height: 10px;
    background-image: url(/wp-content/themes/wptheme/assets/img/checkmark.png);
    background-repeat: no-repeat;
    background-size: 15px 10px;
}

.filter-input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.filter-text {
    font-size: 16px;
    color: var(--clr-blue);
}

.loading {
    text-align: center;
    padding: 30px;
    color: #888;
}

.error {
    color: #721c24;
    background-color: #f8d7da;
    padding: 15px;
    border-radius: 5px;
    text-align: center;
}



.maplibregl-popup-content{
    border-radius: 5px;
    box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16) !important;
    padding: 15px !important;
}
.maplibregl-popup-close-button{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    right: -12px !important;
    top: -12px !important;
    background-color: white !important;
    width: 24px !important;
    height: 24px !important;
    border-radius: 100vmax !important;
    padding: 0 !important;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.08) !important;
    font-size: 0 !important;
}
.maplibregl-popup-close-button::before{
    content: '+';
    position: relative;
    top: -1px;
    left: 2px;
    transform: rotateZ(45deg);
    font-size: 22px;
    color: var(--clr-blue);
}
.popupLink:focus,
.popupLink:focus-visible,
.popupLink:active {
    outline: none;
}
.popupLink h4{
    font-family: var(--ff-IBMPlexSerif);
    font-size: 16px;
    font-weight: 400;
    margin: 0;
    margin-bottom: 8px;
}
.popupLink p{
    display: flex;
    align-items: center;
    font-family: var(--ff-IBMPlexSerif);
    font-size: 16px;
    font-weight: 400;
    margin: 0;
    color: black;
}
.popupLink p img{
    margin-right: 5px;
}
.popupLink .image img{
    width: 100%;
    height: 142px;
    object-fit: cover;
    object-position: center center;
}

@media only screen and (max-width: 800px) {
    #map {
        height: 320px;
    }
    .locations-filter-container{
        top: 300px;
        left: 0;
        max-width: 100%;
    }
    .locations-filter-container .filter-heading:hover{
        cursor: pointer;
        background: var(--clr-btnHover);
    }
    .filter-options{
        display: none;
    }
    .filter-heading::after{
        content: '';
        position: absolute;
        top: 25px;
        right: 20px;
        width: 12px;
        height: 12px;
        background-image: url(/wp-content/themes/wptheme/assets/img/arrow-right.svg);
        background-repeat: no-repeat;
        background-size: contain;
        transform: translateY(-50%) rotateZ(90deg);
        
    }
    .filter-options.active{
        display: block;
    }
}
@media only screen and (max-width: 450px) {
    .locations-list-container{
        grid-template-columns: repeat(auto-fill, minmax(min(130px, 250px), 1fr));
    }
}

.maplibregl-ctrl-bottom-right .maplibregl-ctrl{
    display: none;
}




/* VIDEO
-------------------------------------------------- */
.video{
    position: relative;
    margin-bottom: 60px;
}
.videoimg{
    object-fit: cover;
    object-position: center right;
    height: auto;
    width: 100%;
}
.video .overlay{
    position: absolute;
    height: 100%;
    width: 100%;
    cursor: pointer;
}
.video .overlay::before{
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.video .youtube_video_thumbnail{
    z-index: -1;
    position: relative;
    top: 0;
    width: 100%;
    cursor: pointer;
}
.video .youtube_video_thumbnail .playButton{
    position: relative;
    display: block;
    left: 50%;
    width: 85px;
    height: 85px;
    transform: translateX(-50%);
    margin-bottom: 50px;
}
.video .youtube_video_thumbnail > img,
.video .youtube_video_thumbnail video{
    position: relative;
    width: 100%;
    height: 555px;
    object-fit: cover;
    object-position: center center;
}
.video .video_embed div[data-type="placeholder"]{
    object-fit: cover;
    object-position: center center;
    height: 612px;
    background-color: rgba(255, 255, 255, .5);
    backdrop-filter: blur(5px);
}

.video-info{
    position: relative;
    width: 100%;
    max-width: 482px;
    background-color: var(--clr-white);
    margin-inline: auto;
}
.video .keyvisual_overlay {
  z-index: 2;
  position: absolute;
  top: -28px;
  left: 50%;
  transform: translateX(-50%);
  width: 482px;
  height: 28px;
  background-image: url(/wp-content/themes/wptheme/assets/img/keyvisual_overlay.png);
  background-repeat: no-repeat;
  background-size: 482px 28px;
  object-fit: cover;
  object-position: center center;
}

.video .youtube_video_thumbnail .video_text{
    z-index: 1;
    position: absolute;
    font-family: "Alegreya Sans";
    line-height: 34px;
    font-weight: 800;
    font-size: 28px;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    color: var(--clr-blue);
    text-align: center;
    /*background-color: rgba(0, 0, 0, .3);*/
    padding: 0 60px;
    width: 100%;
}
.video .youtube_video_thumbnail .video-subtitle{
    position: relative;
    display: block;
    font-family: "IBM Plex Serif";
    font-size: var(--fs-p);
    font-weight: 400;
    color: var(--clr-blue);
}
.video .youtube_video_thumbnail .video-subtitle::after{
    content: '';
    position: absolute;
    bottom: -14px;
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--clr-blue);
    height: 1px;
    width: 100%;
    max-width: 133px;
}
.video .youtube_video_thumbnail .video-title{
    font-size: var(--fs-h2);
    margin-top: 32px;
}

.video .videoModal{
    z-index: 99999999999999;
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    background-color: rgba(0, 0, 0, .5);
    backdrop-filter: blur(10px);
}
.video .videoModal.open{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.video .videoModal .modalContent{
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 30px 1fr;
    justify-items: flex-end;
    gap: 15px;
}
.video .videoModal .closeModal{
    position: relative;
    grid-row-start: 1;
    cursor: pointer;
    width: 30px;
    height: 30px;
}
.video .videoModal .closeModal span:first-of-type{
    display: block;
    width: 30px;
    height: 2px;
    background-color: white;
    transform: translateY(15px) rotateZ(45deg);
}
.video .videoModal .closeModal span:last-of-type{
    display: block;
    width: 30px;
    height: 2px;
    background-color: white;
    transform: translateY(13px) rotateZ(-45deg);
}
.video .videoModal .modalContent div[data-type="placeholder"]{
    height: unset !important;
}
.video .videoModal .cm-buttons{
    display: flex;
    row-gap: 10px;
}

@media only screen and (max-width: 600px) {
    .video .youtube_video_thumbnail .video_text .video-info{
        max-width: 80%;
    }
    .video .youtube_video_thumbnail .video_text {
        padding: 0;
    }
}


/* HIGHLIGHTS
-------------------------------------------------- */
.highlights{
    padding-block: 48px !important;
    margin-block: 50px;
}
.highlights h2{
    margin-top: 0;
}
.highlights .content{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(200px,100%),1fr));
    column-gap: 50px;
    justify-content: center;
    margin-inline: auto;
    width: 100%;
    max-width: 800px;
}
.highlights .btn {
    color: var(--clr-white);
    font-weight: 400;
    text-decoration: none;
}

/* INFOBOX
-------------------------------------------------- */
.infobox{
    /* background-color: var(--clr-gray); */
    margin: 20px 0;
    padding: 40px 0;
}
.infobox .wp-block-column{
    width: 100%;
    max-width: 566px;
    margin-inline: auto;
}
.infobox .wp-block-button__link {
  border: none;
}



/* CPT-PROJECTS
-------------------------------------------------- */
.stsg-projects{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(284px, 100%), 1fr));
    column-gap: 20px;
    row-gap: 45px; 
    width: 100%;
    max-width: 892px;
    height: 100%;
    margin-inline: auto;
}
.stsg-project-item{
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    text-decoration: none !important;
}
.stsg-project-thumbnail_container{
    overflow: hidden;
    width: 100%;
    max-width: 284px;
    height: 150px;
}
.stsg-project-item .stsg-project-thumbnail img{
    width: 284px;
    height: 150px;
    object-fit: cover;
    object-position: center center;
    transition: all 0.3s ease-in-out;
}
.project-title {
    font-size: 22px;
    font-weight: 700;
    text-align: center;
    word-break: break-word;
    color: var(--clr-blue);
    margin-top: 0;
}
.stsg-project-item:hover .project-title {
    text-decoration: underline;
}
.stsg-project-item:hover .project-subtitle {
    text-decoration: underline;
    text-decoration-color: var(--clr-white);
}
.stsg-project-item:hover .stsg-project-thumbnail img{
    transform: scale(1.05);
}
.project-subtitle {
    display: block;
    position: relative;
    font-family: var(--ff-IBMPlexSerif);
    font-size: 15px;
    font-weight: normal;
    margin-top: -27px;
    margin-bottom: 30px;
    text-align: center;
    padding-block: 8px;
    padding-inline: 30px;
    background-color: var(--clr-secondary);
    color: white;
    height: min-content;
    min-height: 38px;
    width: 100%;
    max-width: max-content;
    margin-inline: auto;
    word-break: break-word;
}
.project-subtitle::after {
    content: '';
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #A8A8A8;
    height: 1px;
    width: 95px;
}





/* ACF-LABELS
-------------------------------------------------- */
.acf-labels{
    display: flex;
    justify-content: flex-start;
    margin-top: 20px;
}
.acf-labels img{
    width: 100%;
    max-width: max-content;
    height: 100%;
    max-height: 26px;
}
.acf-labels + .wp-block-heading{
    margin-top: 16px;
}





.single main .entry-content{
    justify-items: flex-start;
}
.single main .fullWidth {
    margin-inline: auto;
}
.single main .post-thumbnail{
    position: relative;
    display: flex;
    justify-content: center;
    margin-inline: auto;
    width: 100%;
    max-width: 1460px;
}
.single main .post-thumbnail img{
    object-fit: cover;
    object-position: center center;
    width: 100%;
    max-height: 500px;
    max-width: 1460px;
}
.single .thumb_title{
    position: absolute;
    bottom: -70px;
    left: clamp(20px,5vw,150px);
    background-color: var(--clr-blue);
    padding: 45px 120px 78px 45px;
    color: white;
    font-family: var(--ff-bebas);
    font-size: clamp(30px,5vw,65px);
}
.single_head{
    display: flex;
    flex-direction: column;
}
.single_date{
    font-family: var(--ff-spline);
    font-size: clamp(18px,3vw,21px);
    margin-top: clamp(10px,3vw,21px);
}

.single .category {
    display: flex;
    gap: 15px;
    top: 50px;
    right: 50px;
    margin-bottom: 20px;
}
.single .category span {
    font-size: 14px;
    font-family: var(--ff-spline);
    border: 1px solid var(--clr-blue);
    color: var(--clr-blue);
    border-radius: 100vmax;
    padding: 0 15px;
}


.navigation.post-navigation{
    max-width: 1460px;
    margin-inline: auto;
}


.navigation_next_prev {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(20px, 5vw, 80px);
    margin-top: 50px;
    width: 100%;
    max-width: 588px;
    margin-inline: auto;
}
.navigation_next_prev a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    font-family: var(--ff-IBMPlexSerif);
    font-size: 18px;
    font-weight: 400;
    color: var(--clr-blue);
    text-decoration: none;
    text-align: center;
}
.navigation_next_prev a:hover {
    text-decoration: underline;
    text-decoration-color: var(--clr-white) !important;
}
.navigation_next_prev a:hover h4{
    text-decoration: underline;
    text-decoration-color: var(--clr-blue) !important;
}
.navigation_next_prev img {
    width: 100%;
    max-height: 261px;
    aspect-ratio: 284 / 261;
    object-fit: cover;
    object-position: center center;
    transition: all 0.3s ease-in-out;
}
.navigation_next_prev .nav-info {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: -31px;
}
.navigation_next_prev .nav-info .nav-date{
    position: relative;
    background-color: var(--clr-secondary);
    color: white;
    width: max-content;
    margin-inline: auto;
    padding: 8px 20px;
}
.navigation_next_prev .nav-info .nav-date::after {
  content: '';
  position: absolute;
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #A8A8A8;
  height: 1px;
  width: 95px;
}



/* CONTENT
-------------------------------------------------- */

.full-width {
    width: 100vw;
    position: relative;
    margin-left: -50vw;
    left: 50%;
    padding: 25px 0 10px 0;
}
.full-width .row > * {
    padding-left: 0;
    padding-right: 0;
}
.full-width.background {
    background: #EBEBEB;
}





/* JOBS LIST
-------------------------------------------------- */

.jobList {
    padding-top: 30px;
}

.jobList .job__item{
    position: relative;
    display: block;
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 1px solid #A8A8A8;
}
.jobList .job__item:last-of-type{
    /*border-bottom: none;*/
}
.jobList .job__item h3{
    margin: 0;
}
.jobList .job__item .job_place{
    font-weight: 400;
    padding-top: 6px;
}



/* JOBS SINGLE PAGE
-------------------------------------------------- */
.single-jobs h1{
    margin-bottom: 50px;
}

.single-jobs .backtolist {
    padding-top: 30px;
}
.job_backlink{
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 32px;
}
.single-jobs .job_backlink a{
    padding: 8px 15px;
    border: 2px solid var(--clr-blue) !important;
    border-radius: 4px;
}


/* SEARCH SINGLE PAGE
-------------------------------------------------- */
.search .entry-content{
    margin-bottom: 50px;
}
.search .entry-content.breadcrumb{
    margin-bottom: 0;
}
.search .entry-content h1{
    margin-top: 20px;
}
.search .search-results > *:not(:last-of-type){
    margin: 0 0 30px 0;
    padding: 0 0 30px 0;
    border-bottom: 1px solid rgba(0,0,0,0.1) !important;
}
.search .search-results h4 + p{
    margin-top: 20px;
}
.search .search-results p{
    margin: 0;
    color: var(--clr-black);
    font-weight: 400;
}
.search .searchterm{
    color: var(--clr-black);
    margin-top: 10px;
    margin-bottom: 25px;
}
.search .searchterm span{
    color: var(--clr-blue);
}
.error404 .search-submit,
.search .search-submit{
    display: inline-flex;
    font-size: 16px;
    line-height: 1;
    padding: 8px 15px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 4px;
    background: var(--clr-blue);
    color: var(--clr-white);
    border: none;
    cursor: pointer;
}
#objecttype-filter .filter_btn{
    display: inline-flex;
    font-size: 16px;
    line-height: 1;
    padding: 8px 15px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 0;
    font-weight: bold;
    border: none;
    cursor: pointer;

    font-family: var(--ff-IBMPlexSerif);
    font-weight: normal;
    font-size: 18px;
    color: var(--clr-blue);
    background-color: var(--clr-blue-light);
    text-decoration: none;
    padding: 8px 10px;
    transition: background-color 0.3s, color 0.3s;
}
#objecttype-filter .filter_btn:hover,
#objecttype-filter .filter_btn.active{
    background-color: var(--clr-blue);
    color: white; 
}
.error404 .search-field,
.search .search-field{
    display: inline-flex;
    font-size: 16px;
    line-height: 1;
    padding: 6px 6px 6px 15px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 6px;
    background: #F6F6F6;
    color: black;
    font-weight: bold;
    border: none;
    width: 100%;
    max-width: 400px;
}
.error404 .search-field{
    max-width: 300px;
}
.search .toptitle{
    font-size: 14px;
    padding: 5px 10px;
    margin-bottom: 10px;
    color: var(--clr-blue);
    background-color: var(--clr-blue-light);
    width: max-content;
    font-weight: normal;
}
.search #objecttype-filter{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    row-gap: 10px;
    margin-bottom: 50px;
    padding-bottom: 50px;
}


/* POSTS LIST
-------------------------------------------------- */
.postsList .filter{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 70px;
}
.postsList .filter a{
    font-family: var(--ff-IBMPlexSerif);
    font-weight: normal;
    font-size: 18px;
    color: var(--clr-blue);
    background-color: var(--clr-blue-light);
    text-decoration: none;
    padding: 2px 10px;
    transition: background-color 0.3s, color 0.3s;
}
.postsList .filter a.active,
.postsList .filter a:hover{
    font-weight: bold;
    background-color: var(--clr-blue);
    color: white;
}


.bloglist .grid{
    display: grid;
    grid-template-columns: 1fr;
    column-gap: 20px;
    max-width: 100%;
    margin-inline: auto;
    margin-bottom: 50px;
}
.bloglist .grid .grid-item:not(:last-of-type){
    margin-bottom: 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid rgba(0,0,0,0.1);
}
.bloglist .grid-item .card a{
    display: grid;
    grid-template-columns: 225px 1fr;
    color: black;
}
.bloglist .grid-item .card a:hover{
    color: black;
}
.bloglist .card-body {
  position: relative;
  z-index: 2;
  padding: 10px 20px 20px 20px;
  font-family: var(--ff-IBMPlexSerif);
  font-weight: 400;
}
.bloglist .card-date{
    font-size: 14px;
    margin-top: -10px;
    margin-bottom: 10px;
    color: #777;
}
.bloglist .block_img_group{
    position: relative;
}
.bloglist .card img{
    width: 100%;
    height: 200px;
    object-fit: cover;
    object-position: center center;
}
.bloglist .card h3{
    margin-top: 0;
    margin-bottom: 10px;
}
.bloglist .card p{
    margin-bottom: 0;
}
/* Custom Pagination Styles */
.pagination-wrapper {
    margin: 40px 0;
    text-align: center;
}

.custom-pagination {
    display: inline-block;
    margin-bottom: 20px;
}

.pagination-list {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    justify-content: center;
    align-items: center;
    gap: 5px;
}

.pagination-item {
    margin: 0;
}

.pagination-item a {
    display: block;
    padding: 12px 16px;
    background: var(--clr-blue);
    color: var(--clr-white);
    border: 2px solid var(--clr-blue);
    text-decoration: none;
    transition: all 0.3s ease;
    font-weight: 400;
    min-width: 44px;
    text-align: center;
}

.pagination-item.active a {
    background: var(--clr-white);
    color: var(--clr-blue);
    border: 2px solid var(--clr-blue);
    font-weight: 700;
    cursor: default;
}

.pagination-item.active a:hover {
    transform: none;
    box-shadow: none;
}

.pagination-item a:hover {
    background: var(--clr-white);
    color: var(--clr-blue);
}

/* Spezielle Buttons */
.pagination-item.prev a,
.pagination-item.next a,
.pagination-item.first a,
.pagination-item.last a {
    background: var(--clr-blue);
    font-weight: 700;
}

.pagination-item.prev a:hover,
.pagination-item.next a:hover,
.pagination-item.first a:hover,
.pagination-item.last a:hover {
    background: var(--clr-white);
    color: var(--clr-blue);
}

/* Info Text */
.pagination-info {
    color: rgba(255, 255, 255, 0.8);
    font-size: 14px;
    margin-top: 10px;
}

/* Responsive Design */

@media (max-width: 768px) {
    .pagination-list {
        flex-wrap: wrap;
        gap: 3px;
    }
    
    .pagination-item a {
        padding: 10px 12px;
        font-size: 14px;
        min-width: 40px;
    }
    
    /* Auf mobilen Geräten weniger Seiten anzeigen */
    .pagination-item:not(.active):not(.prev):not(.next):not(.first):not(.last) {
        display: none;
    }
    
    .pagination-item.active,
    .pagination-item.prev,
    .pagination-item.next {
        display: block;
    }
}

@media (max-width: 480px) {
    .pagination-item.first,
    .pagination-item.last {
        display: none;
    }
}





/* SINGLE POST
-------------------------------------------------- */
.single-post .keyvisual{
    background-color: var(--clr-gray);
    padding-top: 40px;
    padding-bottom: 120px;
}
.single-post .keyvisual .keyvisual_overlay {
    width: 1380px;
}
.single-post .keyvisual .content{
    display: grid;
    grid-template-columns: 449px 1fr;
    align-items: center;
    justify-content: center;
    gap: 46px;
    width: 100%;
    max-width: 1150px;
    margin-inline: auto;
}
.single-post .keyvisual .content .post-date{
    font-size: 14px;
    color: #383838;
}
.single-post .keyvisual .content h1{
    font-size: 32px;
    line-height: 1.2;
    margin-top: 10px;
}
.single-post .keyvisual .content img{
    width: 100%;
    max-width: 449px;
    height: 294px;
    object-fit: cover;
    object-position: center center;
}




.single-post .entry-content{
    grid-template-columns: [full-width-start] 1fr [content-start] minmax(1px ,var(--contentMaxWidth)) [content-end] 1fr [full-width-end];
}
@media (max-width: 1000px) {
    .single-post .entry-content{
        --padding: 9px;
        grid-template-columns: [full-width-start] 1fr var(--padding) [content-start] minmax(1px ,var(--contentMaxWidth)) [content-end] var(--padding) 1fr [full-width-end];
    }
    .single-post .keyvisual .content{
        grid-template-columns: 1fr;
    }
}
.pressContact_container{
    display: flex;
    justify-content: center;
    background-color: var(--clr-gray);
    padding-block: 40px;
    margin-block: 20px;
    width: 100%;
}
.pressContact{
    display: flex;
    flex-direction: column;
    padding-inline: 20px;    
}
.pressContact > *{
    width: 100%;
    max-width: 980px;
    margin-inline: auto;
}
.pressContact h3{
    margin-top: 0;
}
.pressContact .content{
    display: grid;
    grid-template-columns: 159px 1fr;
    gap: 47px;
}
@media (max-width: 600px) {
    .pressContact{
        padding-inline: 40px;
    }
    .pressContact .content{
        grid-template-columns: 1fr;
        row-gap: 25px;
    }
}
.pressContact .content .left img{
    width: 100%;
    max-width: 159px;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center center;
}


/* FILTER CATLIST
-------------------------------------------------- */
.filter{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    column-gap: 10px;
    margin-block: 20px;
}

/* MATOMO
-------------------------------------------------- */

#matomo-opt-out {
    font-size: var(--fs-p);
}

#matomo-opt-out strong {
    font-weight: 300;
}
#trackVisits {
    margin-right: 10px;
}


/* KLARO
*/
.cm-btn.cm-btn-success-var{
    background-color: transparent !important;
}
@media (max-width: 600px) {
    .klaro .context-notice p.cm-buttons {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }
}


/* FOOTER
-------------------------------------------------- */

.socialmedia{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-block: 32px;
}
.socialmedia a{
    margin-bottom: 0;
}
.socialmedia img{
    width: 30px;
    height: 30px;
}


footer .nav-link,
footer a {
    color: #fff;
    text-decoration: none;
}
footer .menu {
    display: flex;
    margin: 0;
    padding: 0;
    margin-left: 30px;
    list-style: none;
}
footer .menu a {
    display: inline-block;
    padding: 0 10px;
}
footer {
    display: flex; 
    background: var(--clr-blue);
    color: #fff;
    padding: 32px 18px;
    max-width: 1380px;
    margin-inline: auto;
}
.footer-1 {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    max-width: 1040px !important;
    margin-inline: auto;
    color: #fff;
}
.footer-1 p{
    line-height: 1.5;
}
.footer-1 p a{
    color: #fff;
    text-decoration: none;
    font-weight: 400;
}
.footer-1 > .left {
    flex-basis: 50%;
}
.footer-1 .left img{
    margin-bottom: 41px;
    max-width: 250px;
}
.imgMobile{
    display: none;
}
.footer-1 a:hover{
    color: white;
}

.footer-1 .middle {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
}
.footer-1 .middle a{
    font-size: 18px;
    line-height: 37px;
    text-transform: uppercase;
    padding: 0;
    margin: 0;
}

.policy{
    display: flex !important;
    flex-wrap: wrap !important;
    max-width: 1040px !important;
}
.policy *{
    font-size: 16px !important;
    font-weight: normal !important;
    font-family: var(--ff-IBMPlexSerif) !important;
}
.footer-cookies{
    width: max-content;
}

.footer-1 .right #menu-footermenu{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.footer-1 .right #menu-footermenu .menu-item{
    position: relative;
}
.footer-1 .right #menu-footermenu .menu-item a{
    font-family: var(--ff-IBMPlexSerif);
    font-weight: 400;
    font-size: 16px;
    line-height: 37px;
    margin-left: 10px;
}
.footer-1 .right #menu-footermenu .menu-item::after {
    content: '';
    background-image: url(/wp-content/themes/wptheme/assets/img/arrow_right.svg);
    background-repeat: no-repeat;
    background-size: 7px 10px;
    width: 7px;
    height: 10px;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.footer-1 .right_link_list{
    display: flex;
    justify-content: space-between;
    flex-basis: 50%;
    gap: 20px;
}


.footer-1 a.active,
.footer-1 a:hover{
    text-decoration: underline;
}


.logo_bottom {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-block: 30px;
    column-gap: 80px;
    row-gap: 30px;
}
.logo_bottom img{
    width: auto;
    height: 100%;
    max-height: 100px;
}

@media only screen and (max-width: 1200px) {

    

    footer .navbar-nav {
        padding: unset;
    }
    footer .navbar-nav li {
        width: unset;
        margin-bottom: unset;
        border-bottom: unset;
    }
}

@media only screen and (max-width: 700px) {
    footer {
        background: transparent;
        color: #fff;
        padding: 0;
    }
    .footer-1 {
        flex-direction: column-reverse;
        gap: 0;
    }
    .footer-1 > div{
        padding: 18px;
    }
    .footer-1 .right_link_list{
        background-color: var(--clr-blue);
    }
    .footer-1 .left a,
    .footer-1 > .left{
        background-color: #F6F6F6;
        color: black;
    }
    .footer-1 > .left p:last-of-type{
        margin-bottom: 0;
    }
    .policy{
        padding-inline: 18px;
        padding-bottom: 18px;
        background-color: #F6F6F6;
        row-gap: 10px;
        & > *{
            color: var(--clr-black);
        }
    }
    .imgMobile{
        display: block;
    }
    .imgDesktop{
        display: none;
    }
}
@media only screen and (max-width: 500px) {
    .right_link_list{
        flex-direction: column;
        gap: 0 !important;
    }
    .right_link_list .middle{
        border-bottom: 1px solid rgba(255, 255, 255, .5);
        padding-bottom: 15px;
        margin-bottom: 15px;
    }
    .right_link_list ul{
        margin-left: 0;
    }
    .logo_bottom {
        flex-direction: column;
    }
}



/* SPACES
-------------------------------------------------- */





/* RESPONSIVE
-------------------------------------------------- */
@media only screen and (min-width: 1600px) {

}
@media only screen and (max-width: 1400px) {

}
@media only screen and (max-width: 1280px) {

}
@media only screen and (max-width: 990px) {

    .keyvisual img {
        height: 500px;
    }
    .keyvisual .keyvisual_content {
        padding: 20px 30px 55px 30px;
        bottom: 40px;
        width: 100%;
        max-width: 450px;
    }

}
@media only screen and (max-width: 800px) {
    .keyvisual_overlay {
        display: none;
    }
    .keyvisual .keyvisual_content {
        padding: 20px 30px 20px 30px;
        bottom: 30px;
    }
    .keyvisual.fullWidth{
        padding-bottom: 30px;
    }
    .keyvisual video {
        height: 400px;
    }
}
@media only screen and (max-width: 650px) {

}

@media only screen and (max-width: 600px) {
    h2{
        margin-top: 20px !important;
    }
    .bloglist .grid-item .card a {
        grid-template-columns: 1fr;
    }
    .bloglist .card-body {
        padding: 30px 0 0 0;
    }
    .bloglist .card-body p{
        margin-bottom: 0;
    }
    .navigation_next_prev {
        grid-template-columns: 1fr;
    }
}






/* ADMINBAR */

/*
#wpadminbar {
    position: relative;
}
@media only screen and (max-width: 600px){
    #wpadminbar {
        position: relative;
    }
}
@media screen {
    html {
        margin-top: 0 !important;
    }
}

@media screen and ( max-width: 782px ) {
    html {
        margin-top: 0 !important;
    }
}

@media print {
    #wpadminbar {
        display: none;
    }
}
*/