/******************************
INDEX:
    00 - General
    01 - Typography
    02 - Text Color & Background Color
    03 - Background Position & Size
    04 - Helper class
    05 - Social icons
    06 - Header
    07 - Bootstrap Overwrite 
    08 - Swiper 
    09 - Scroll To Top 
    10 - Search Box
******************************/

/* @import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap" rel="stylesheet'); */
/* @import url('https://fonts.googleapis.com/css2?family=Bitter:ital,wght@0,100..900;1,100..900&display=swap" rel="stylesheet'); */


/* roboto-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: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/roboto-v50-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-italic - 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: 'Roboto';
  font-style: italic;
  font-weight: 400;
  src: url('../fonts/roboto-v50-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-500 - 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: 'Roboto';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/roboto-v50-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-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: 'Roboto';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/roboto-v50-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-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: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/roboto-v50-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-900 - 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: 'Roboto';
  font-style: normal;
  font-weight: 900;
  src: url('../fonts/roboto-v50-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}



/* bitter-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: 'Bitter';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/bitter-v40-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* bitter-italic - 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: 'Bitter';
  font-style: italic;
  font-weight: 400;
  src: url('../fonts/bitter-v40-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* bitter-500 - 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: 'Bitter';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/bitter-v40-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* bitter-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: 'Bitter';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/bitter-v40-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* bitter-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: 'Bitter';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/bitter-v40-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* bitter-900 - 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: 'Bitter';
  font-style: normal;
  font-weight: 900;
  src: url('../fonts/bitter-v40-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/*
 :root {
     --pbmit-global-color:  #c1304f;
     --pbmit-secondary-color: #5e5959;
     --pbmit-light-color: #f1ede4;
     --pbmit-white-color:#ffffff;
     --pbmit-blackish-color: #29191a;
     --pbmit-link-color-normal: #29191a;
     --pbmit-link-color-hover: #c1304f;
     --pbmit-global-color-rgb: 193, 48, 79;
     --pbmit-secondary-color-rgb: 94, 89, 89;
	 --pbmit-blackish-color-rgb: 41,25,26;
	 --pbmit-white-color-rgb: 255,255,255;
     --pbmit-responsive-breakpoint: 1200px;

     --pbmit-body-typography-font-family: 'Roboto', sans-serif;
     --pbmit-body-typography-variant: regular;
     --pbmit-body-typography-font-size: 16px;
     --pbmit-body-typography-line-height: 1.6;
     --pbmit-body-typography-color: #666666;

     --pbmit-heading-typography-font-family: "Bitter", serif;
     --pbmit-heading-color: #29191a;
     --pbmit-heading-font-variant: 500;

     --pbmit-btn-typography-font-family: "Bitter", serif;
     --pbmit-btn-typography-variant: 600;
     --pbmit-btn-typography-font-size: 13px;
     --pbmit-btn-typography-line-height: 23px;
}
*/
:root {
    /* Hauptfarben – ersetzt Rot & Grau durch Blau & Gold */
    --pbmit-global-color:  #004b9e;      /* Primärfarbe – kräftiges VEP-Blau */
    --pbmit-secondary-color: #f5b900;    /* Sekundärfarbe – Gold/Gelb */

    /* Helle & dunkle Farben */
    --pbmit-light-color: #f4f2e9;        /* warmes off-white, passend zur VEP-Ästhetik */
    --pbmit-white-color: #ffffff;
    --pbmit-blackish-color: #1e1e1e;     /* dunkles Grau/Schwarz für Texte */

    /* Linkfarben */
    --pbmit-link-color-normal: #004b9e;  /* Links im Standard = Blau */
    --pbmit-link-color-hover:  #f5b900;  /* Hover = Gold */

    /* RGB-Werte (für Transparenzen, Schatten etc.) */
    --pbmit-global-color-rgb: 0, 75, 158;
    --pbmit-secondary-color-rgb: 245, 185, 0;
    --pbmit-blackish-color-rgb: 30, 30, 30;
    --pbmit-white-color-rgb: 255,255,255;

    --pbmit-responsive-breakpoint: 1200px;

    /* Typografie bleibt unverändert */
    --pbmit-body-typography-font-family: 'Roboto', sans-serif;
    --pbmit-body-typography-variant: regular;
    --pbmit-body-typography-font-size: 16px;
    --pbmit-body-typography-line-height: 1.6;
    --pbmit-body-typography-color: #666666;

    --pbmit-heading-typography-font-family: "Bitter", serif;
    --pbmit-heading-color: #1e1e1e;
    --pbmit-heading-font-variant: 500;

    --pbmit-btn-typography-font-family: "Bitter", serif;
    --pbmit-btn-typography-variant: 600;
    --pbmit-btn-typography-font-size: 13px;
    --pbmit-btn-typography-line-height: 23px;
}
*/

/*----------------------------------------*/
/* 00 - General 
/*----------------------------------------*/
 html {
     font-family: sans-serif;
     -webkit-text-size-adjust: 100%;
     -ms-text-size-adjust: 100%;
}
 *{
     -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
     box-sizing: border-box;
}
 body {
     margin: 0;
     overflow-x: hidden;
}
 p {
     margin: 0 0 25px;
}
 article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary {
     display: block;
}
 audio, canvas, progress, video {
     display: inline-block;
     vertical-align: baseline;
}
 audio:not([controls]) {
     display: none;
     height: 0;
}
 [hidden], template {
     display: none;
}
 a {
     background-color: transparent;
}
 abbr[title] {
     border-bottom: 1px dotted;
}
 small {
     font-size: 80%;
}
 sub, sup {
     font-size: 75%;
     line-height: 0;
     position: relative;
     vertical-align: baseline;
}
 sup {
     top: -0.5em;
}
 sub {
     bottom: -0.25em;
}
 img {
     border: 0;
}
 svg:not(:root) {
     overflow: hidden;
}
 figure {
     margin: 0;
}
 hr {
     -webkit-box-sizing: content-box;
     -moz-box-sizing: content-box;
     box-sizing: content-box;
}
 code, kbd, pre, samp {
     font-size: 1em;
}
 button, input, optgroup, select, textarea {
     color: inherit;
     font: inherit;
     margin: 0;
}
 select {
     text-transform: none;
}
 button {
     overflow: visible;
}
 button, input, select, textarea {
     max-width: 100%;
}
 button, html input[type="button"], input[type="reset"], input[type="submit"] {
     -webkit-appearance: button;
     cursor: pointer;
}
 button[disabled], html input[disabled] {
     cursor: default;
     opacity: .5;
}
 button::-moz-focus-inner, input::-moz-focus-inner {
     border: 0;
     padding: 0;
}
 input[type="checkbox"], input[type="radio"] {
     -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
     box-sizing: border-box;
     margin-right: 0.4375em;
     padding: 0;
}
 input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {
     height: auto;
}
 input[type="search"] {
     -webkit-appearance: textfield;
}
 input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
     -webkit-appearance: none;
}
 fieldset {
     border: 1px solid #d1d1d1;
     margin: 0 0 1.75em;
     padding: 0.875em;
}
 fieldset > :last-child {
     margin-bottom: 0;
}
 legend {
     border: 0;
     padding: 0;
}
 textarea {
     overflow: auto;
     vertical-align: top;
}
 optgroup {
     font-weight: bold;
}
/*
 textarea:hover, input:hover, textarea:active, input:active, textarea:focus, input:focus, .form-control:focus {
     outline:0px !important;
     -webkit-appearance:none;
     box-shadow: none !important;
}
*/
 .form-select{
     padding: 15px 15px;
     font-size: 15px;
     color: #848484;
     border: 1px solid #eeeeee;
     border-radius: 0;
     font-family: var(--pbmit-heading-typography-font-family);
     font-weight: 500;
}
 .form-select:focus {
     border-color: #1bbde4;
     outline: 0;
     box-shadow: none;
}
/*----------------------------------------*/
/* 01 - Typography 
/*----------------------------------------*/
 body {
     font-family:var(--pbmit-body-typography-font-family);
     font-weight: var(--pbmit-body-typography-variant);
     color: var(--pbmit-body-typography-color);
     font-size: var(--pbmit-body-typography-font-size);
     line-height: var(--pbmit-body-typography-line-height);
     text-transform: none;
     font-style: normal;
}
 h1, h2, h3, h4, h5, h6 {
     font-family:var(--pbmit-heading-typography-font-family);
     font-weight: var(--pbmit-heading-font-variant);
     color: var(--pbmit-heading-color);
}
h1 {
    font-size: 38px;
    line-height: 46px;
}

h2 {
    font-size: 32px;
    line-height: 40px;
}

h3 {
    font-size: 26px;
    line-height: 34px;
}

h4 {
    font-size: 22px;
    line-height: 30px;
}

h5 {
    font-size: 18px;
    line-height: 26px;
}

h6 {
    font-size: 16px;
    line-height: 24px;
}

 ul {
     margin: 0;
     padding: 0;
     list-style: none;
}
 a {
     -webkit-transition: all .25s ease-in-out;
     -moz-transition: all .25s ease-in-out;
     -ms-transition: all .25s ease-in-out;
     -o-transition: all .25s ease-in-out;
     transition: all .25s ease-in-out;
     color: var(--pbmit-link-color-normal);
     text-decoration: none;
}
 a:focus {
     text-decoration: none !important;
}
 a:hover {
     color: var(--pbmit-link-color-hover);
     text-decoration: none !important;
}
 a.link-btn, .link-btn a{
     font-family: "Montserrat", Arial, Helvetica, sans-serif;
     font-weight: 700;
     text-transform: uppercase;
     font-size: 14px;
     letter-spacing: 1px;
}
 a.link-btn i, .link-btn a i{
     padding-left: 10px;
}
 .pbmit-btn {
	 position: relative;
     display: inline-block;
     text-decoration: none;
     font-family: var(--pbmit-btn-typography-font-family);
     font-size: var(--pbmit-btn-typography-font-size);
     font-weight: var(--pbmit-btn-typography-variant);
     line-height: var(--pbmit-btn-typography-line-height);
     letter-spacing: .5px;
	 text-transform: uppercase;
	 font-style: normal;
     padding:16px 60px 16px 30px;
	 border-radius: 50px;
	 transition: all .3s;
	 white-space: nowrap;
	 z-index: 1;
	 color: var(--pbmit-white-color);
	 background-color: var(--pbmit-global-color);
}
.pbmit-btn .pbmit-button-content-wrapper {
	display: flex;
	justify-content: center;
	text-decoration: inherit;
}
.pbmit-btn .pbmit-button-text:before{
	content: '\e815';
    font-family: "pbminfotech-base-icons";
	position: absolute;
    font-size: 14px;
    right: 5px;
    top: 5px;
    left: auto;
    width: 45px;
    height: 45px;
    background-color: var(--pbmit-white-color);
    color: var(--pbmit-blackish-color);
    border-radius: 50%;
    line-height: 45px;
    text-align: center;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}
.pbmit-btn:hover{
	color: var(--pbmit-white-color);
	background-color: var(--pbmit-blackish-color);
}
.pbmit-btn:hover .pbmit-button-text:before{
	color: var(--pbmit-white-color);
	background-color: var(--pbmit-global-color);
}
.pbmit-btn-white{
	color: var(--pbmit-blackish-color);
	background-color: var(--pbmit-white-color);
}
.pbmit-btn-white .pbmit-button-text:before{
	color: var(--pbmit-white-color);
	background-color: var(--pbmit-global-color);
}
.pbmit-btn-blackish{
	background-color: var(--pbmit-blackish-color);
}
.pbmit-btn-blackish:hover{
	background-color: var(--pbmit-global-color);
}
.pbmit-btn-blackish:hover .pbmit-button-text:before{
	background-color: var(--pbmit-blackish-color);
}
.pbmit-btn-outline{
	border: 1px solid var(--pbmit-blackish-color);
	color: var(--pbmit-blackish-color);
	background-color: transparent;
}
.pbmit-btn-outline .pbmit-button-text:before{
	color: var(--pbmit-white-color);
	background-color: var(--pbmit-global-color);
}
.pbmit-bg-color-global .pbmit-btn{
	background-color: var(--pbmit-blackish-color);
}
.pbmit-bg-color-global .pbmit-btn:hover{
	color: var(--pbmit-blackish-color);
	background-color: var(--pbmit-white-color) !important;
}
 
/** Divider **/
 .sep-line{
     height: 1px;
     border-top: 1px solid #ebebeb;
     display: block;
     position: relative;
     top: 1px;
     width: 100%;
}

/*----------------------------------------*/
/* 02 - Background Color 
/*----------------------------------------*/
 body .pbmit-bg-color-global{
     background-color: var(--pbmit-global-color);
}
 body .pbmit-bg-color-secondary{
     background-color: var(--pbmit-secondary-color);
}
 body .pbmit-bg-color-light{
     background-color: var(--pbmit-light-color);
}
 body .pbmit-bg-color-blackish{
     background-color: var(--pbmit-blackish-color);
}
 body .pbmit-color-global{
     color: var(--pbmit-global-color);
}
 body .pbmit-color-blackish{
	color: var(--pbmit-blackish-color);
 }

/*----------------------------------------*/
/* 03 - Background Position & Size 
/*----------------------------------------*/
 .bg-cover{
    background-size: cover;
}
 .bg-contain{
    background-size: contain;
}
 .bg-pos-l{
    background-position: left;
}
 .bg-pos-r{
    background-position: right;
}
 .bg-pos-rt{
    background-position: right top;
}
 .bg-pos-lt{
    background-position: left top;
}
 .bg-pos-rb{
    background-position: right bottom;
}
 .bg-pos-lb{
    background-position: left bottom;
}

/*----------------------------------------*/
/* 04 - Helper Class 
/*----------------------------------------*/
.section-lgx{
	padding-top: 130px;
	padding-bottom: 100px;
}
.section-xl{
	padding-top: 100px;
	padding-bottom: 100px;
}
.section-lg{
	padding-top: 90px;
	padding-bottom: 80px;
}
.section-md{
	padding-top: 100px;
	padding-bottom: 70px;
}
.section-lgb{
	padding-bottom: 100px;
}
.section-mdb{
	padding-bottom: 80px;
}

/*----------------------------------------*/
/* 05 - Social icons 
/*----------------------------------------*/
.pbmit-social-links{
     list-style: none;
     margin: 0px;
     padding: 0px;
}
 .pbmit-social-li ,
 .pbmit-contact-info li{
     display: inline-block;
	 vertical-align: top;
}
.pbmit-social-links .pbmit-social-li:not(:last-child),
.pbmit-contact-info li:not(:last-child){
	padding: 0 12px 0 0;
}
.pbmit-contact-info li i{
	font-size: 16px;
    margin-right: 8px;
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
    color: var(--pbmit-global-color);

}

/*----------------------------------------*/
/* 06 - Header 
/*----------------------------------------*/
 .navbar-brand .navbar-brand-item {
     height: 60px;
     display: block;
     width: auto;
}
 .site-header{
     z-index: 999;
     position: relative;
}
 .site-header .site-branding img {
     display: inline-block;
     max-width: 100%;
     height: auto;
     max-height: 45px;
     -webkit-transition: all 300ms ease;
     transition: all 300ms ease;
}
 .site-navigation ul.navigation > li > a {
	 font-size: 13px;
	 font-weight: 600;
     display: block;
	 line-height: 23px;
     padding: 0px;
     text-decoration: none;
     position: relative;
     z-index: 1;
	 text-transform: uppercase;
     letter-spacing: .25px;
     color: #111926;
	 font-family: var(--pbmit-heading-typography-font-family);
}
.main-menu .navigation > li > ul a{
	position: relative;
    display: table-cell;
    font-weight: 500;
    font-size: 13px;
    line-height: 23px;
    letter-spacing: .5px;
    text-transform: none;
    font-style: normal;
    color: var(--pbmit-heading-color);
    font-family: var(--pbmit-heading-typography-font-family);
}
.main-menu .navigation > li > ul a:after{
	display: none;
}
 .main-menu .navigation > li {
     position: relative;
     float: left;
     -webkit-transition: all 300ms ease;
     -moz-transition: all 300ms ease;
     -ms-transition: all 300ms ease;
     -o-transition: all 300ms ease;
     transition: all 300ms ease;
}
 .main-menu .navigation > li > ul > li > ul {
     left: 100%;
     top: 0;
}
 .main-menu .navigation > li.dropdown:hover > ul , .main-menu .navigation > li > ul > li.dropdown:hover > ul {
     visibility: visible;
     opacity: 1;
     transform: translate(0,-5px);
     z-index: 999;
}
 .header-button .pbmit-btn{
     padding: 15px 24px;
}
 .header-button .pbmit-btn i{
     font-size: 20px;
}
 .site-header .search-btn{
     margin-right: 15px;
     font-size: 17px;
}
 .site-header .social-icons li > a{
     height: 50px;
     line-height: 50px;
}
 .ipad-view-search{
     display: none;
}
 .pbmit-link li{
     margin: 0 10px;
}
.closepanel, .pbmit-mobile-menu-bg, .site-header .righticon {
    display: none;
}
/** sticky-header **/
 .sticky-header{
     position: fixed !important;
     top: 0px;
     width: 100%;
     background-color: #fff;
     z-index: 999;
     margin: 0;
     -webkit-box-shadow: 0px 13px 25px -12px rgba(0,0,0,0.25);
     -moz-box-shadow: 0px 13px 25px -12px rgba(0,0,0,0.25);
     box-shadow: 0px 13px 25px -12px rgba(0,0,0,0.25);
     padding: 0;
}
 .site-header-menu .logo-img.stickylogo, .site-header-menu.sticky-header .logo-img{
     max-height: 55px;
}
 .site-header-menu.sticky-header .logo-img.stickylogo{
     display: inline-block;
}
 .sticky-header .site-navigation ul.navigation > li > a{
     height: 90px;
     line-height: 90px;
}
/* Pre Header */
 .pbmit-pre-header-wrapper{
    height: 50px;
    line-height: 50px;
}
.pbmit-contact-info{
	font-size: 14px;
}
.pbmit-pre-header-wrapper .pbmit-social-links li i{
	margin: 0;
	font-size: 15px;
	color: var(--pbmit-blackish-color);
}
.pbmit-pre-header-wrapper .pbmit-social-links li a:hover i{
	color: var(--pbmit-global-color);
}
/*----------------------------------------*/
/* 07 - Bootstrap Overwrite 
/*----------------------------------------*/
 .g-lg-4,.gy-lg-4, .g-4, .gy-4 {
     --bs-gutter-y: 2rem;
}
 .g-lg-4,.gx-lg-4, .g-4, .gx-4 {
     --bs-gutter-x: 2rem;
}
 .row>* {
     padding-right: calc(var(--bs-gutter-x) * .6);
     padding-left: calc(var(--bs-gutter-x) * .6);
}

/*----------------------------------------*/
/* 08 - Swiper 
/*----------------------------------------*/
 .swiper-slider{
     margin-left: auto;
     margin-right: auto;
     position: relative;
     overflow: hidden;
     z-index: 1;
}
 .swiper-pagination-bullet {
    border: 0;
    outline: none;
    height: 10px;
    width: 10px;
    border-radius: 50%;
	display: inline-block;
	opacity: 1;
	margin-right: 10px !important;
    background: rgb(42, 72, 64,.30);
}
 .swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal,
 .swiper-pagination-custom, .swiper-pagination-fraction {
     bottom: 0px;
     left: 0px;
	 text-align: center;
}
 .swiper-slider[data-dots="true"] {
     padding-bottom: 0px;
}
 .swiper-pagination-bullet-active{
     outline: 1px solid var(--pbmit-global-color);
     outline-offset: 4px;
}
 .swiper-button-next:after, .swiper-button-prev:after {
     font-family: "pbminfotech-base-icons";
	 content: '\e8cc';
     font-size: 40px;
}
 .swiper-button-prev {
     transform: rotate(180deg);
}
 .swiper-slider.home-case-studies{
     overflow: visible;
}
 .home-case-studies .swiper-buttons{
     position: absolute;
     top: -100px;
     right: 0;
     max-width: 1200px;
     width: 100%;
     margin: 0 auto;
     left: 0;
     padding: 0 15px;
     text-align: right;
}
 .swiper-button-next, .swiper-button-prev{
     text-align: center;
	 position: absolute;
     z-index: 15;
     cursor: pointer;	
     width: inherit;
     height: inherit;
     line-height: 50px;
     border-radius: 0;
     transition: all 500ms ease;
     background-color: transparent;
     color: var(--pbmit-white-color);
}
 .swiper-button-next{
	 margin-left: 20px;
}
 .home-case-studies .swiper-button-prev{
     left: initial;
     right: 75px;
}
.swiper-button-next:hover, .swiper-button-prev:hover{
     background-color: transparent;
}
.swiper-slider.marquee .swiper-slide {
    display: flex;
    width: auto!important;
}
.swiper-slider.marquee .swiper-wrapper{
    -webkit-transition-timing-function:linear !important; 
    -o-transition-timing-function:linear !important; 
    transition-timing-function:linear !important; 
}
/*----------------------------------------*/
/* 09 - Scroll To Top 
/*----------------------------------------*/
.pbmit-progress-wrap {
    position: fixed;
    right: 50px;
    bottom: 50px;
    height: 50px;
    width: 50px;
    cursor: pointer;
    display: block;
    border-radius: 50px;
    box-shadow: inset 0 0 0 2px rgba(0,0,0,.2);
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
    -webkit-transition: all .2s linear;
    transition: all .2s linear;
}
.pbmit-progress-wrap.active-progress {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.pbmit-progress-wrap::before {
    position: absolute;
    content: '\e812';
    font-family: pbminfotech-base-icons;
    text-align: center;
    line-height: 46px;
    font-size: 24px;
    opacity: 0;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    left: 0;
    top: 0;
    height: 46px;
    width: 46px;
    cursor: pointer;
    display: block;
    z-index: 2;
    -webkit-transition: all .2s linear;
    transition: all .2s linear;
}
.pbmit-progress-wrap svg.pbmit-progress-circle path {
    stroke: var(--pbmit-global-color);
    stroke-width: 4;
    box-sizing: border-box;
    -webkit-transition: all .2s linear;
    transition: all .2s linear;
	fill: rgba(var(--pbmit-global-color-rgb),.2);
}
.pbmit-progress-wrap::after {
    position: absolute;
    content: '\e812';
    font-family: "pbminfotech-base-icons";
    text-align: center;
    line-height: 46px;
    font-size: 24px;
    color: var(--pbmit-global-color);
    left: 2px;
    top: 2px;
    height: 46px;
    width: 46px;
    cursor: pointer;
    display: block;
    z-index: 1;
    -webkit-transition: all .2s linear;
    transition: all .2s linear;
}
.pbmit-body-bg-dark .pbmit-progress-wrap svg.pbmit-progress-circle path{
	stroke: var(--pbmit-white-color);
}
.pbmit-body-bg-dark .pbmit-progress-wrap::after{
	color: var(--pbmit-white-color);
}

/*----------------------------------------*/
/*  10 - Search Box
/*----------------------------------------*/
.pbmit-search-overlay {
    position: fixed;
    top: -500px;
    left: 0;
    width: 100%;
    height: 500px;
    z-index: 9999;
    background-color: rgba(0, 0, 0, 0.9);
    -webkit-transition: .4s;
    -moz-transition: .4s;
    -o-transition: .4s;
    -ms-transition: .4s;
    transition: .4s;
}
.pbmit-search-overlay.st-show {
    opacity: 1;
    top: 0;
}
.pbmit-icon-close {
    position: absolute;
    top: 40px;
    right: 40px;
    opacity: 0.8;
    font-size: 30px;
    width: 40px;
    height: 40px;
    line-height: 40px;
    border-radius: 50%;
    -webkit-transition: .4s;
    -moz-transition: .4s;
    -o-transition: .4s;
    -ms-transition: .4s;
    transition: .4s;
    text-align: center;
    cursor: pointer;
    border-color: var(--pbmit-white-color);
    color: var(--pbmit-white-color);
}
.pbmit-icon-close:hover{
	opacity: 1;
}
.pbmit-icon-close svg{
	fill: var(--pbmit-white-color);
}
.pbmit-icon-close svg rect{
	-webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
.pbmit-icon-close:hover svg rect{
	animation: pbmit-closer-line-draw .6s;
    animation-duration: 0.6s;
    animation-timing-function: ease;
    animation-delay: 0s;
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: none;
    animation-play-state: running;
    animation-name: pbmit-closer-line-draw;
}
@keyframes pbmit-closer-line-draw {
	0%,100% {
		clip-path:inset(-1px 0 -1px 0);
		-webkit-clip-path:inset(-1px 0 -1px 0);
	}
	55% {
		clip-path:inset(-1px 0 -1px 100%);
		-webkit-clip-path:inset(-1px 0 -1px 100%);
	}
	56% {
		clip-path:inset(-1px 100% -1px 0);
		-webkit-clip-path:inset(-1px 100% -1px 0);
	}
}
.pbmit-icon-close:hover svg rect:nth-of-type(2){
	animation-delay: .17s;
}
.pbmit-search-outer {
    max-width: 1140px;
    margin: 0 auto;
    position: relative;
	text-align: center;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    transform: translateY(-50%);
}
.pbmit-search-overlay .pbmit-site-searchform {
    position: relative;
}
.pbmit-search-overlay .pbmit-site-searchform:before{
	position: absolute;
    bottom: 0;
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background-color: #fff;
    -webkit-transform: scale3d(0, 1, 1);
    -ms-transform: scale3d(0, 1, 1);
    transform: scale3d(0, 1, 1);
    -webkit-transform-origin: left center;
    -ms-transform-origin: left center;
    transform-origin: left center;
    -webkit-animation-delay: 0.8s;
    -moz-animation-delay: 0.8s;
    -o-animation-delay: 0.8s;
    animation-delay: 0.8s;
}
.pbmit-search-overlay .pbmit-site-searchform:after{
	font-family: "pbminfotech-base-icons";
    content: '\e80d';
    position: absolute;
    right: 10px;
    top: 15px;
    color: var(--pbmit-white-color);
    font-size: 25px;
    line-height: normal;
}
.pbmit-search-overlay.st-show .pbmit-site-searchform:before{
	-webkit-animation-name: fadeInMove;
    animation-name: fadeInMove;
    -webkit-animation-duration: 0.7s;
    animation-duration: 0.7s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    visibility: visible;
}
@keyframes fadeInMove {
	0% {
		opacity: 0;
		transform: scale3d(0, 1, 1);
	}
	10% {
		opacity: 1;
		transform: scale3d(0.1, 1, 1);
	}
	100% {
		opacity: 0.14;
		transform: scale3d(1, 1, 1);
	}
}
.pbmit-search-overlay input[type="search"] {
    height: 65px;
    line-height: 65px;
    font-size: 28px;
	font-weight: 500;
    background-color: transparent;
    text-align: left;
    border: none;
    border-bottom: 1px solid #ffffff54;
    padding: 0 50px 0 0px;
    border-radius: 0;
	color: var(--pbmit-white-color);
}
.pbmit-search-overlay input[type="search"]::placeholder{
	color: rgba(255, 255, 255, 0.6);
}
.pbmit-search-overlay .pbmit-site-searchform button {
    position: absolute;
    height: 50px;
    width: 50px;
    top: 0;
    right: 0;
    background-color: transparent;
    text-indent: -9999px;
	line-height: 58px;
    font-size: 16px;
	outline: none;
	padding: 0;
    border: none;
    z-index: 1;
    color: var(--pbmit-white-color);
}
.img-circle {
	border-radius: 50%;
}

.form-group:has([data-width="w-1-1"]) {
  width: 99.9%;
  float: left;
  padding-right: 10px;
  height: 80px;
}

.form-group:has([data-width="w-1-2"]) {
  width: 49.95%;
  float: left;
  padding-right: 10px;
  height: 80px;
}

.form-group:has([data-width="w-1-3"]) {
  width: 33.3%;
  float: left;
  padding-right: 10px;
  height: 80px;
}
.form-group:has([data-width="w-2-3"]) {
  width: 66.6%;
  float: left;
  padding-right: 10px;
  height: 80px;
}

.form-group:has([data-width="w-1-4"]) {
  width: 24.9%;
  float: left;
  padding-right: 10px;
  height: 80px;
}
.form-group:has([data-width="w-2-4"]) {
  width: 49.9%;
  float: left;
  padding-right: 10px;
  height: 80px;
}
.form-group:has([data-width="w-3-4"]) {
  width: 74.9%;
  float: left;
  padding-right: 10px;
  height: 80px;
}

.form-group:has([data-width="w-1-5"]) {
  width: 20%;
  float: left;
  padding-right: 10px;
  height: 80px;
}

.form-group:has([data-width="w-2-5"]) {
  width: 40%;
  float: left;
  padding-right: 10px;
  height: 80px;
}

.form-check-group {
	margin-top: 18px;
}
.form-check-group:has([data-width="w-1-3"]) {
  width: 33.33%;
  float: left;
  padding-right: 10px;
  height: 80px;
}

.checkbox-nebeneinander {
    clear: both; /* sorgt dafür, dass die Box unter allen floats sitzt */
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 15px;
}

/* Checkbox + Label wie vorher */
.checkbox-nebeneinander .checkbox,
.checkbox-nebeneinander .radio {
    display: flex;
    align-items: center;
    padding-left: 0;
    margin: 0;
}

.checkbox-nebeneinander .checkbox label {
    display: flex;
    align-items: center;
    gap: 5px;
}

.checkbox-nebeneinander .form-helper {
    display: none;
}

/* Container für alle Form-Felder */
.rex-yform .form-group {
    margin-bottom: 35px;
    display: inline-block;
    vertical-align: top;
}

.rex-yform .form-group label {
    display: block;
}

.clearfix::after {
    content: "";
    display: table;
    clear: both;
}

/* --------------------------------------------- */
/* LIST-STYLE FIX                                */
/* --------------------------------------------- */

.accordion-body ul,
.accordion-body ol {
    margin: 1rem 0 1rem 1.5rem;
    padding: 0;
}

.accordion-body li {
    list-style: disc;
    margin-bottom: 0.2rem;
}

.accordion-body ol li {
    list-style: decimal;
}

/* --------------------------------------------- */
/* ACCORDION ICONS (SVG)                         */
/* --------------------------------------------- */

.pbmit-accordion-icon-closed { 
    display: inline-block;
}

.pbmit-accordion-icon-opened { 
    display: none;
}

/* Wenn geöffnet → Plus ausblenden, Minus anzeigen */
.accordion-button:not(.collapsed) .pbmit-accordion-icon-closed { 
    display: none;
}

.accordion-button:not(.collapsed) .pbmit-accordion-icon-opened { 
    display: inline-block;
}

.pbmit-accordion-icon svg { 
    vertical-align: middle;
    margin-right: 0.5em;
}



.rex-download-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.rex-download-item {
    display: flex;
    align-items: center;
    margin-bottom: 0.5rem;
    font-size: 1rem;
}

.rex-download-item a {
    text-decoration: none;
    color: var(--pbmit-blackish-color);
    transition: color 0.2s;
}

.rex-download-item a:hover {
    color: #0056b3;
}

.rex-download-icon {
    margin-right: 0.5em;
    font-size: 1.2em;
    color: #333;
    width: 1.5em;
    text-align: center;
}

.rex-download-size {
    margin-left: 0.5em;
    color: #666;
    font-size: 0.9em;
}

.rex-download-item .fa-file-pdf-o {
    color: #E42101; /* Rot für PDF */
}

.rex-download-item .fa-file-word-o {
    color: #2B579A; /* Blau für Word */
}

.rex-download-item .fa-file-excel-o {
    color: #217346; /* Grün für Excel */
}

.rex-download-item .fa-file-powerpoint-o {
    color: #D24726; /* Orange für PowerPoint */
}

.rex-download-item .fa-file-image-o {
    color: #A67C52; /* z.B. braun für Bilder */
}

.rex-download-item .fa-file-archive-o {
    color: #666666; /* Grau für Archive */
}

/* =========================================
   HERO WRAPPER (für px-3 Abstand auf Desktop)
========================================= */

.hero-wrapper {
    padding-left: 0;
    padding-right: 0;
}

/* Abstand NUR auf großen Screens */
@media (min-width: 992px) {
    .hero-wrapper {
        padding-left: 1.3rem;   /* ✅ entspricht Bootstrap px-3 */
        padding-right: 1.3rem;
    }
}

/* =========================================
   HERO FULLWIDTH BASIS
   Seitenverhältnis 1860 / 700
   Fallback Hintergrund: #fff
========================================= */

.hero-fullwidth {
    width: 100%;
    aspect-ratio: 1860 / 700;
    background: #fff;
    position: relative;
    overflow: hidden;
    border-radius: 0;
}

/* =========================================
   RUNDUNG NUR AUF GROSSEN SCREENS
========================================= */

@media (min-width: 992px) {
    .hero-fullwidth {
        border-radius: 20px;
    }
}

/* =========================================
   HERO BILD
========================================= */

.hero-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* =========================================
   TEXT OVERLAY BASIS
========================================= */

.hero-caption {
    position: absolute;
    color: #fff;
    padding: 20px 30px;
    max-width: 80%;
    z-index: 2;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
}

/* Subheadline */
.hero-subheadline {
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    opacity: 0.85;
    margin-bottom: 6px;
}

/* Headline */
.hero-headline {
    font-size: clamp(24px, 3vw, 48px);
    font-weight: 700;
    line-height: 1.1;
}

/* =========================================
   POSITIONEN
========================================= */
/* Positionen NUR für Hero */
.hero-fullwidth .hero-caption.bottom-left {
    bottom: 30px;
    left: 30px;
}

.hero-fullwidth .hero-caption.bottom-right {
    bottom: 30px;
    right: 30px;
    text-align: right;
}

.hero-fullwidth .hero-caption.top-left {
    top: 30px;
    left: 30px;
}

.hero-fullwidth .hero-caption.top-right {
    top: 30px;
    right: 30px;
    text-align: right;
}

.hero-fullwidth .hero-caption.center-center {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

.pbmit-speaker-box {
    border-radius: 20px;
	padding: 15px;
}

.pbmit-speaker-container {
    padding: 1rem; /* entspricht ungefähr px-4 py-3 */
}

.pbmit-speaker-image {
    width: 200px;
    height: 200px;
    object-fit: cover;
    border: 4px solid var(--pbmit-global-color);
}

.speaker-name {
    color: var(--pbmit-global-color);
    position: relative;
    padding-bottom: 10px; /* Abstand zur Linie */
    margin-bottom: 1.5rem; /* Abstand zum Inhalt darunter */
}

.speaker-name::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: rgba(42, 72, 64, 0.1);
}


/* ---------------------------
   Box Grundlayout
--------------------------- */
.feature-box {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    border: 1px solid #ddd;
    border-radius: 20px;
    overflow: hidden;
    background-color: #fff;
}

/* ---------------------------
   Bildbereich
--------------------------- */
.feature-image {
    height: 220px;
    overflow: hidden;
}

.feature-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

/* Hover-Zoom */
.feature-box:hover .feature-image img {
    transform: scale(1.08);
}

/* ---------------------------
   Inhalt
--------------------------- */
.feature-content {
    flex: 1;
    padding: 1.25rem 1.25rem 3rem; /* Platz für Pfeil */
}

.feature-title {
    margin-bottom: 0.5rem;
    font-size: 1.1rem;
color: var(--pbmit-global-color);
}

.feature-text {
    margin: 0;
    font-size: 0.95rem;
    color: #555;
}

/* ---------------------------
   Pfeil-Link (fix rechts unten)
--------------------------- */
.feature-link {
    position: absolute;
    right: 1.25rem;
    bottom: calc(1.25rem - 14px);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid #ccc;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 1.2rem;
    color: #000;
    transition: all 0.3s ease;
}

.feature-link:hover {
    background-color: #000;
    color: #fff;
    border-color: #000;
}



/* ---------------------------
   Modul-Box Basis
--------------------------- */
.module-box {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch; /* gleiche Höhe */
}

/* ---------------------------
   Bild
--------------------------- */
.rounded-img {
    border-radius: 20px;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ---------------------------
   Textbox
--------------------------- */
.module-text-box {
    border-radius: 20px;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.module-text-box-hell {
    background-color: var(--pbmit-light-color);
}

/* Listen sichtbar machen */
.module-text-box ul {
    list-style: disc;
    padding-left: 1.25rem;
    margin-left: 0;
}

.module-text-box li {
    margin-bottom: 0.25rem;
}

/* ---------------------------
   Abstand mobil
--------------------------- */
@media (max-width: 991.98px) {
    .module-box > [class*="col-"] {
        margin-bottom: 1rem;
    }
}

/* ---------------------------
   Bild links / rechts
--------------------------- */
.module-img-left .module-img-col {
    order: 1;
}
.module-img-left .module-text-col {
    order: 2;
}

.module-img-right .module-img-col {
    order: 2;
}
.module-img-right .module-text-col {
    order: 1;
}
