/****************************************************************************************************
*** fonts
****************************************************************************************************/

@font-face { font-family: 'Montserrat'; src: url('../fonts/montserrat-v29-latin-300.woff2') format('woff2'); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: 'Montserrat'; src: url('../fonts/montserrat-v29-latin-regular.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Montserrat'; src: url('../fonts/montserrat-v29-latin-500.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: 'Montserrat'; src: url('../fonts/montserrat-v29-latin-600.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Montserrat'; src: url('../fonts/montserrat-v29-latin-700.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Montserrat'; src: url('../fonts/montserrat-v29-latin-900.woff2') format('woff2'); font-weight: 900; font-style: normal; font-display: swap; }

@font-face { font-family: 'Font Awesome 6 Free'; src: url('../fonts/fa-regular-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Font Awesome 6 Free'; src: url('../fonts/fa-solid-900.woff2') format('woff2'); font-weight: 900; font-style: normal; font-display: swap; }
@font-face { font-family: 'Font Awesome 6 Free'; src: url('../fonts/fa-brands-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Font Awesome 6 Free'; src: url('../fonts/fa-v4compatibility.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }

/***************************************************************************************************
*** vendor override: tiny-slider.js
***************************************************************************************************/

/*** navigation dots ***/
.tns-nav { text-align: center; margin: 10px 0; }
.tns-nav > [aria-controls] { width: 1rem; height: 1rem; padding: 0; margin: 0 5px; border-radius: 50%; background: rgba(255, 255, 255, 1); border: 1px solid rgb(var(--bs-dark-rgb)); }
[class*="bg-primary"] .tns-nav > [aria-controls] { border-color: rgb(255, 255, 255); }
.tns-nav > .tns-nav-active { background: rgba(var(--bs-dark-rgb), 1); }

/****************************************************************************************************
*** system elements
****************************************************************************************************/

a[type=button] { appearance: none; -webkit-appearance: none; } /* prevents link with attribute "type=button" from being displayed as system element */
::selection { background: var(--bs-primary); color: rgb(255, 255, 255); text-shadow: none; }
:active, :focus { outline: none !important; }
:focus { outline: none !important; }

/****************************************************************************************************
*** template elements
****************************************************************************************************/

html, body { width: 100%; margin: 0; padding: 0;  scroll-behavior: smooth; overscroll-behavior-y: none; --video-border-radius: 0; --video-border: 0; /* removes border from video player */ }
html { scroll-behavior: smooth; overflow-y: scroll; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; -webkit-tap-highlight-color: var(--bs-primary); scroll-padding-top: 5rem; }
body { position: relative; height: 100%; -ms-word-wrap: break-word; word-wrap: break-word; }
main { margin-top: 75px; /* 75px = header height */ }
a, a:hover { font-weight: 500; transition: all 0.2s ease; white-space: nowrap /* prevents line break between prefix icon an link text */; }
main a.btn { margin: 1rem 0;}
main a.btn + a.btn { margin-left: 0; }
@media(min-width: 768px){
    main a.btn + a.btn { margin-left: 2rem; }
}

p:last-of-type { margin-bottom: 0; }
ul, ol { margin-bottom: 2rem; }
ul { list-style-type: square; }
input::placeholder, textarea::placeholder { font-size: 0.875rem; color: rgba(0, 0, 0, 0.25) !important; }
/* lists */
ul, li { margin-bottom: 1rem;}
div.alert ul, div.alert li  { list-style-type: none; margin: 0; padding: 0; }
ul.nav-no-style, ol.nav-no-style { list-style-type: none; margin: 0; padding: 0; }
ul.nav-no-style li, ol.nav-no-style li { display: block; }
@media(min-width: 1200px){ ul.nav-no-style li, ol.nav-no-style li { display: inline-block; padding: 0 0.25rem; } }


/* font-size mini */
.fs-mini { font-size: 0.875rem;}
/* tables */
table.table { margin-bottom: 2rem; font-size: 0.75rem; hyphens: auto; }
@media(min-width: 400px){ table.table { font-size: 0.875rem; } }
@media(min-width: 576px){ table.table { font-size: 1rem; } }


/* icon prefix for links in paragraphs */
i.icon-prefix { margin: 0 0.125rem; font-size: 1rem; }
/* color filters for vector graphics (base color: black) => https://codepen.io/sosuke/pen/Pjoqqp */
.svg-primary { --filter-base: invert(11%) sepia(75%) saturate(2987%) hue-rotate(199deg) brightness(87%) contrast(96%); filter: var(--filter-base); }
.svg-secondary { --filter-base: invert(48%) sepia(95%) saturate(1515%) hue-rotate(14deg) brightness(111%) contrast(104%); filter: var(--filter-base);}
.svg-tertiary { --filter-base: invert(37%) sepia(68%) saturate(6931%) hue-rotate(3deg) brightness(99%) contrast(87%); filter: var(--filter-base);}
.svg-black { --filter-base: invert(0%) sepia(0%) saturate(0%) hue-rotate(333deg) brightness(97%) contrast(103%); filter: var(--filter-base);}
.svg-white { --filter-base: invert(100%) sepia(100%) saturate(2%) hue-rotate(197deg) brightness(104%) contrast(101%); filter: var(--filter-base);}
/* background gradient */ 
.gradient-top, .gradient-bottom { position: absolute; width: 100%; height: 300px; left: 0; overflow: hidden; z-index: -1; pointer-events: none; }
.gradient-top { top: 0; background: linear-gradient(to bottom, rgba(194, 179, 182, 0.75), transparent) }
.gradient-bottom { bottom: 0; background: linear-gradient(to top, rgba(194, 179, 182, 0.75), transparent) }
/* waved edge => 10px oversize important! */
.edge-top::before, .edge-bottom::after, .edge-top-mobile::before, .edge-bottom-mobile::after { content: ''; display: block; position: absolute; left: -5px; width: calc(100vw + 10px); height: 100px; background-image: url('/theme/public/assets/images/wave.svg'); background-position: center bottom; background-repeat: repeat-x; filter: drop-shadow(0 10px 40px rgb(255, 255, 255)); pointer-events: none; }
.edge-top::before, .edge-top-mobile::before { top: 0; transform: rotate(180deg); } /* alternativ: scaleY(-1) => mirror */
.edge-bottom::after, .edge-bottom-mobile::after { bottom: -1px; }
/* video */
.video-container { display: flex; /* prevents line-height glitch on block elements */ box-shadow: -1.5rem 1.5rem 0 rgb(var(--bs-primary-rgb)); }
/* move accordion arrows from right to left */
.accordion-button::before { flex-shrink: 0; width: 1.25rem; height: 1.25rem; margin-right: 1rem; content: ""; background-image: var(--bs-accordion-btn-active-icon); background-repeat: no-repeat; background-size: 1.25rem; transition: transform .2s ease-in-out; }
.accordion-button::after { display: none !important; }
/* pre/post content */
.pre-content { margin-bottom: 2rem; }
.post-content { margin-top: 1rem; } /* most elements have margin-bottom => optical equalization */
/* fake headline in editor */
p.h7 { display: inline-block; background-color: rgb(0, 0, 0); color: rgb(255, 255, 255); padding: 0.25rem 0.5rem; text-transform: uppercase; font-weight: 600; margin-bottom: 1.5rem; }
/* footer */
footer { font-size: 1rem; }
footer .container { padding-top: 3rem; padding-bottom: 3rem; }
footer p.logo-subline { font-size: 0.75rem; margin-top: 0.75rem; margin-bottom: 0; }
/* footer a.social-icon:hover img { filter: invert(48%) sepia(95%) saturate(1515%) hue-rotate(14deg) brightness(111%) contrast(104%); } */
footer a.social-icon + a.social-icon { margin-left: 0.5rem; }





/* forms */
.yform .form_field { margin-bottom: 1rem; }
.yform label, .yform-label { font-size: 0.75rem; }
.yform .formcheckbox label { font-size: 1rem; }
.yform input, .yform textarea, .yform select { font-size: 1rem; border: 1px solid rgba(0, 0, 0, 0.125); }
.yform select { font-size: 0.875rem;}
.yform .formcheckbox label input[type="checkbox"] { margin-right: 0.5rem; }

/****************************************************************************************************
/*** header
/***************************************************************************************************/

header { position: fixed; top: 0; left: 0; width: 100%; z-index: 9; padding: 0; background-color: rgba(255, 255, 255, 1); transition: all 0.3s ease; box-shadow: 0rem -1rem 3rem rgba(0, 0, 0, 0.25); }
header.index { box-shadow: none; }
header.header-scrolled { background-color: rgb(255, 255, 255); box-shadow: 0rem -1rem 3rem rgba(0, 0, 0, 0.25); }
@media(min-width: 360px){
    header .main-logo { width: 275px; }
}
/****************************************************************************************************
/*** navigation (desktop)
/***************************************************************************************************/

header #main-menu { align-items: center; justify-content: space-between; }
/* root level */
header #main-menu ul { list-style-type: none; text-decoration: none; margin: 0; padding: 0;}
header #main-menu ul > li { display: inline-block; padding: 0 1.5rem; font-weight: 700; margin-bottom: 0; line-height: 38px; /* 38px = height of hard coded offer button */ }
header #main-menu ul > li > a { display: block; position: relative; color: rgb(0, 0, 0); text-decoration: none; font-size: 1rem; font-weight: 400; }
@media(min-width: 1200px) and (max-width: 1399.98px){
    header #main-menu ul > li { padding: 0 1.125rem; }
    header #main-menu ul > li > a { font-size: 0.875rem; }
}
header #main-menu ul > li > a:hover { color: rgba(var(--bs-primary-rgb), 1); }
header #main-menu ul > li > a.btn-primary:hover { color: rgb(0, 0, 0); }
header #main-menu ul > li > a.text-secondary:hover { color: rgb(255, 255, 255) !important; }
/* sub level */
header #main-menu ul > li > ul > li { display: block; padding: 0; }
header #main-menu ul > li > ul > li > a:hover { background-color: rgba(var(--bs-primary-rgb), 1); color: rgb(0, 0, 0); }
/* show user */
header #main-menu ul > li > ul > li.userinfo { font-size: 0.875rem; font-weight: 400; line-height: 1.25; padding: 0.5rem 0.5rem 0.5rem 1rem; background-color: rgba(0, 0, 0, 0.1) }
header #main-menu ul > li > ul > li.userinfo span { display: block; font-weight: bold; }

header #main-menu a#main-menu-toggler { display: block; width: 45px; height: 45px; margin: 0 0.75rem 0 0; background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iRWJlbmVfMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA1MCA1MCI+CiAgPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI5LjUuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDIuMS4wIEJ1aWxkIDE0MSkgIC0tPgogIDxkZWZzPgogICAgPHN0eWxlPgogICAgICAuc3QwIHsKICAgICAgICBmaWxsOiAjZmZkZTdhOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8ZyBpZD0iRWJlbmVfMS0yIj4KICAgIDxyZWN0IGNsYXNzPSJzdDAiIHk9IjAiIHdpZHRoPSI1MCIgaGVpZ2h0PSI1MCIvPgogICAgPHBhdGggZD0iTTQyLjUsMTcuNUg3LjV2LTVoMzV2NVpNNDIuNSwyNy41SDcuNXYtNWgzNXY1Wk00Mi41LDM3LjVINy41di01aDM1djVaIi8+CiAgPC9nPgo8L3N2Zz4="); background-repeat: no-repeat; }
/* prefix icon */
header #main-menu .nav-icon:not(.mm-listitem) + .nav-icon { margin-left: -2rem; }
header #main-menu .nav-icon a { display: inline-flex; align-items: center; }
header #main-menu .nav-icon a img { width: 1.5em; height: auto; display: inline-block; }
header #main-menu .nav-icon a img + span { margin-left: 0.25em; line-height: 1; }

/****************************************************************************************************
/*** navigation (mobile)
/***************************************************************************************************/

nav#mobile-menu { font-size: 1rem; }
nav#mobile-menu a.mobile-logo { background-color: rgb(255, 255, 255); }
.mm-wrapper--position-left .mm-slideout, .mm-wrapper--position-right .mm-slideout { -webkit-transform: none; -ms-transform: none; transform: none; } /* Workaround bei fixiertem Header */
.mm-page.mm-slideout { overflow: hidden; }
.mm-navbar__title { background-color: rgb(var(--bs-primary-rgb)); font-weight: 600; }
.mm-navbar__title>span { overflow: visible !important; margin-top: 5px; letter-spacing: 0; color: rgb(255, 255, 255); }
.mm-menu a, .mm-menu a:active, .mm-menu a:hover, .mm-menu a:link, .mm-menu a:visited { font-weight: 600; }
.mm-menu .nav-icon a img, .mm-menu .nav-icon a:active img, .mm-menu .nav-icon a:hover img, .mm-menu .nav-icon a:link img, .mm-menu .nav-icon a:visited img { filter: invert(11%) sepia(75%) saturate(2987%) hue-rotate(199deg) brightness(87%) contrast(96%); }

/****************************************************************************************************
/*** navigation (footer)
/***************************************************************************************************/

footer #footer-menu ul { list-style-type: none; margin: 0; padding: 0; }
/* footer #footer-menu ul li { display: inline-block;  }
footer #footer-menu ul li + li::before { content: '・'; display: inline-block; padding: 0 0.5rem; } */
footer #footer-menu a { color: rgb(255, 255, 255); text-decoration: none; }
footer #footer-menu a:hover { color: rgba(var(--bs-primary-rgb), 1); }


/****************************************************************************************************
/*** fragment: section.php
/***************************************************************************************************/

section { position: relative; overflow: hidden; z-index: 0; }
.pt { padding-top: 3rem !important; }
.ptzero { padding-top: 0 !important; }
.ptxs { padding-top: 1rem !important; }
.ptsm { padding-top: 2rem !important; }
.ptlg { padding-top: 4rem !important; }
.ptxl { padding-top: 5rem !important; }
.pb { padding-bottom: 3rem !important; }
.pbzero { padding-bottom: 0 !important; }
.pbxs { padding-bottom: 1rem !important; }
.pbsm { padding-bottom: 2rem !important; }
.pblg { padding-bottom: 4rem !important; }
.pbxl { padding-bottom: 5rem !important; }
.mt { margin-top: 3rem !important; }
.mtzero { margin-top: 0 !important; }
.mtxs { margin-top: 1rem !important; }
.mtsm { margin-top: 2rem !important; }
.mtlg { margin-top: 4rem !important; }
.mtxl { margin-top: 5rem !important; }
.mb { margin-bottom: 3rem !important; }
.mbzero { margin-bottom: 0 !important; }
.mbxs { margin-bottom: 1rem !important; }
.mbsm { margin-bottom: 2rem !important; }
.mblg { margin-bottom: 4rem !important; }
.mbxl { margin-bottom: 5rem !important; }
@media(min-width: 992px){
    .pt { padding-top: 6rem !important; }
    .ptzero { padding-top: 0 !important; }
    .ptxs { padding-top: 2rem !important; }
    .ptsm { padding-top: 4rem !important; }
    .ptlg { padding-top: 8rem !important; }
    .ptxl { padding-top: 10rem !important; }
    .pb { padding-bottom: 6rem !important; }
    .pbzero { padding-bottom: 0 !important; }
    .pbxs { padding-bottom: 2rem !important; }
    .pbsm { padding-bottom: 4rem !important; }
    .pblg { padding-bottom: 8rem !important; }
    .pbxl { padding-bottom: 10rem !important; }
    .mt { margin-top: 6rem !important; }
    .mtzero { margin-top: 0 !important; }
    .mtxs { margin-top: 2rem !important; }
    .mtsm { margin-top: 4rem !important; }
    .mtlg { margin-top: 8rem !important; }
    .mtxl { margin-top: 10rem !important; }
    .mb { margin-bottom: 6rem !important; }
    .mbzero { margin-bottom: 0 !important; }
    .mbxs { margin-bottom: 2rem !important; }
    .mbsm { margin-bottom: 4rem !important; }
    .mblg { margin-bottom: 8rem !important; }
    .mbxl { margin-bottom: 10rem !important; }
}

/****************************************************************************************************
/*** fragment: media.php
/***************************************************************************************************/

/* frame */
.frame { border: 0.5rem solid rgb(var(--bs-secondary-rgb)); }
/* glow */
.glow { box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); }
/* caption */
.pswp-gallery { display: inline-block; } /* required for media alignment setting to work */ 
figure { position: relative; }
figcaption, .pswp__custom-caption { position: absolute; bottom: 0; background-color: rgba(255,255,255,0.5); color: rgb(0, 0, 0); font-size: 0.75rem; padding: 0.125rem 0.25rem; }
.pswp__custom-caption { left: 50%; transform: translateX(-50%); }

/****************************************************************************************************
/*** fragment: headline.php
/***************************************************************************************************/

.headline { text-transform: uppercase; text-align: center; letter-spacing: 1px; padding: 0 1.5rem; } /* 1.5rem = var(--bs-gutter-x); */
section h2 { text-transform: uppercase;}
.headline.sub { text-transform: none; }
.headline p { margin: 0; }
.headline p.topline { margin-bottom: 1rem }
.headline p.subline { margin-top: 1rem; }
.separator { width: 100px; height: 0.5rem; background-color: rgb(var(--bs-primary-rgb)); margin: 0 auto; margin-top: 1.5rem; margin-bottom: 3rem; }
.headline:last-child { margin-bottom: 10rem; }
.headline.text-start .separator { margin-right: 100%; }
.headline.text-end .separator { margin-left: calc(100% - 100px); } /* 100% - Breite des separators */
.headline:not(:has(.separator)) { margin-top: 0.75rem; margin-bottom: calc(1.5rem + 0.75rem + 4px); } /* = Höhe des nicht vorhandenen Separators */
@media(min-width: 992px){
    .headline:not(:has(.separator)) { margin-top: 1.5rem; margin-bottom: calc(3rem + 1.5rem + 8px); } /* = Höhe des nicht vorhandenen Separators */
}

/***************************************************************************************************
*** module: Hero Image
***************************************************************************************************/

section.hero-image { padding: 0; margin: 0; }
section.hero-image.edge-bottom::after { display: none; } /* mobile => remove wave at section bottom */
section.hero-image picture { position: relative; display: block; }
section.hero-image img { object-fit: cover; pointer-events: none; width: 100vw; max-height: 100vh; }
section.hero-image { position: relative; text-align: center; }

section.hero-image .headline { margin: 2rem 0; padding: 0 1rem; font-size: 4rem; hyphens: auto; }
section.hero-image .topline { font-weight: 700; letter-spacing: 0; font-size: 0.3em; }
section.hero-image .subline { text-transform: initial; letter-spacing: 0; font-size: 0.3em; }
@media(min-width: 1200px){
    section.hero-image .headline h1 { font-size: 1em !important; }
    section.hero-image .topline { font-size: 0.4em; font-weight: 700; letter-spacing: 0; }
    section.hero-image .subline { font-size: 0.4em; text-transform: initial; letter-spacing: 0; }
}
/* @media(min-width: 576px){
    section.hero-image .topline { font-size: inherit; }
    section.hero-image .subline { font-size: inherit; }
} */


@media(orientation: portrait){
    section.hero-image .hero-text { margin-top: 3rem; }    
}
@media(orientation: landscape){
    section.hero-image .hero-text { position: absolute; width: 60%; left: 60%; top: 50%; transform: translate(-40%, -50%); text-align: start; } /* width: x%, left: x%, translate(-y%) => x + y = 100% */
    section.hero-image .headline { text-align: start; padding: 0; }
    @media(min-width: 1921px){
        section.hero-image .headline h1 { font-size: 1.4em !important; }
        section.hero-image .topline { font-size: 0.5em; }
        section.hero-image .subline { font-size: 0.5em; }
    }
}

/*section.hero-image h1.hero-text { position: absolute; top: 75%; left: calc(15% + 0.75rem); margin: 0; transform: translate(0, -75%); color: rgb(255, 255, 255); font-weight: 700; font-size: 2.5rem }*/

/*
 @media(min-width: 480px){
    section.hero-image h1.hero-text { font-size: 3.5rem; }
}
@media(min-width: 768px){
    section.hero-image h1.hero-text { padding-left: 75px; font-size: 4.5rem; }
}
@media(min-width: 992px){
    section.hero-image h1.hero-text { padding-left: 150px; }
}
@media(min-width: 1200px){
    section.hero-image h1.hero-text { padding-left: 0; font-size: 5.5rem; }
    section.hero-image.index h1.hero-text { left: 60%; transform: translate(-60%, -60%); }
}
@media(min-width: 1600px){
    section.hero-image h1.hero-text { font-size: 7rem; }
    section.hero-image .headline { position: absolute; top: 60%; left: 65%; margin: 0; transform: translate(-65%, -60%); text-align: start; }

} */

/***************************************************************************************************
*** module: Universalmodul
***************************************************************************************************/
/* icons */
section.universal-module .icon-box { padding: 2rem 0;  aspect-ratio: 1; box-shadow: 0 0 2rem rgba(0, 0, 0, 0.1); padding: 0; align-content: center; text-align: center;}
section.universal-module .icon-box img { display: block; margin: 0 auto; }
section.universal-module .icon-box .icon-title { margin-top: 1rem; font-size: 1.25rem; font-weight: 600; }
section.universal-module .icon-box .icon-text { margin-top: 1rem; }
/* teaser */
section.universal-module .teaser-box { text-align: center; }
section.universal-module .teaser-image { margin-bottom: 2rem; }
section.universal-module .teaser-text { margin-bottom: 2rem; }
section.universal-module .teaser-text h3 { font-weight: 700; }
@media(min-width: 768px){
    section.universal-module .teaser-box { text-align: start; }
}

/***************************************************************************************************
*** module: Slider: Zitate
***************************************************************************************************/
section.tiny-slider-quotes { display: none; }
.quote-box { position: relative; box-sizing: content-box; margin: 30px 15px; padding: 3rem; text-align: center; border: 1rem solid rgb(var(--bs-primary-rgb)); border-bottom: 0; border-right: 0; }
.quote-box p { font-size: 1rem; margin-bottom: 1rem; }
.quote-box.frame { border: 3px solid rgba(var(--bs-primary-rgb), 0.1); }
.quote-box.glow { box-shadow: 0 0 0.75rem rgba(0,0,0,0.15);}
.quote-box::before { color: rgba(0, 0, 0, 0.1); content: "\f10d"; font-family: "Font Awesome 6 Free"; position: absolute; font-weight: 700; font-size: 3rem; left: 1rem; top: 0; }
.quote-box cite { font-weight: 600; font-style: normal; }
.quote-box cite .company {  font-size: 1rem; }
@media(min-width: 768px){
    section.tiny-slider-quotes { display: block; }
}



.quantity-fields .product_title { font-size: 1rem; background-color: rgb(255, 255, 255); padding: 0.5rem; font-weight: 600; border: 1px solid rgba(0, 0, 0, 0.25); text-align: center; }
.quantity-fields label { display: none; }
.quantity-fields input { text-align: center; }
.quantity-fields .input-group-text { cursor: pointer; }
/* .input-group { position: relative; display: table; border-collapse: separate;}
.input-group[class*="col-"] { float: none; padding-right: 0; padding-left: 0; }
.input-group .form-control { position: relative; z-index: 2; float: left; width: 100%; margin-bottom: 0; }
.input-group .form-control:focus { z-index: 3; }
.input-group-addon,.input-group-btn,.input-group .form-control { display: table-cell; }
.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child) { border-radius: 0; }
.input-group-addon.input-sm,.input-group-sm>.input-group-addon.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn { padding: 5px 10px; font-size: 12px; border-radius: 0; }
.input-group-addon.input-lg,.input-group-lg>.input-group-addon.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn { padding: 10px 16px; font-size: 18px; border-radius: 0; }
.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"] { margin-top: 0; }
.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.input-group-addon:first-child { border-right: 0; }
.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.input-group-addon:last-child { border-left: 0; }
.input-group-btn { position: relative; font-size: 0; white-space: nowrap; }
.input-group-btn>.btn { position: relative; }
.input-group-btn>.btn+.btn { margin-left: -1px; }
.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active { z-index: 2; }
.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group { margin-right: -1px; }
.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group { z-index: 2; margin-left: -1px; } */
.btn-close { position: absolute; width: 3rem; height: 3rem; display: block; z-index: 1; right: 0; }
     /* body:not(.modal-open){
  padding-right: 0px !important;
} */


/* table cell aligns center => bootstrap default padding-right (bootstrap default: 0.5rem) */
/*.table>:not(caption)>*>* { --async-table-padding: 0.5rem; padding-left: calc(var(--async-table-padding) * 3) !important; }
.table-sm>:not(caption)>*>* { padding-left: calc(var(--bs-gutter-x) / 2) !important; }*/

/* table cell aligns center => bootstrap default padding-left (bootstrap default: 0.5rem) */
/* .table>:not(caption)>*>*:has([style*="center"]) { padding-left: var(--async-table-padding) !important; }
.table-sm>:not(caption)>*>*:has([style*="center"]) { padding-left: calc(var(--async-table-padding) / 2) !important; } */

/* table cell aligns right => triple padding-right (bootstrap default: 0.5rem) */
/* .table>:not(caption)>*>*:has([style*="right"]) { padding-right: 1.5rem !important; }
.table-sm>:not(caption)>*>*:has([style*="right"]) { padding-right: calc(var(--async-table-padding) / 2) !important; } */


