@import url("fonts.css");
@import url("bootstrap-icons.min.css");

/*** general ***/
* { transition: 0.2s ease; }
html, body { width: 100%; margin: 0; padding: 0; scroll-behavior: smooth; overscroll-behavior-y: none; }
html { height: 100%; scroll-behavior: smooth; overflow-x: hidden; 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 { display: flex; flex-direction: column; min-height: 100vh; }
main { flex-grow: 1; }

.btn-wrapper { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; margin-bottom: 3rem; }
.icon-circle { align-items: center; background: rgb(var(--bs-primary-rgb)); border-radius: 50%; color: #fff; display: inline-flex; flex: 0 0 3.5rem; font-size: 1.7rem; height: 3.5rem; justify-content: center; width: 3.5rem; }
/* topbar + header */
#topbar { line-height: 18px; height: 35px; }
#topbar a { color: rgb(255, 255, 255); text-decoration: none; }
.navbar .dropdown-toggle::after { border: 0; color: rgb(var(--bs-primary-rgb)); content: "\F282"; font-family: 'bootstrap-icons'; font-size: 0.75em; margin-left: 0.5rem; vertical-align: 0; }
@media(min-width: 576px){ 
    .navbar .navbar-brand.logo img { width: 300px; height: 38px; }
}

/*** section spacing ***/
section { position: relative; --section-pt: 5rem; --section-pb: 5rem; --section-mt: 0rem; --section-mb: 0; padding-top: var(--section-pt); padding-bottom: var(--section-pb); margin-top: var(--section-mt); margin-bottom: var(--section-mb); }
section[class*="pt-"] { padding-top: var(--section-pt); }
section[class*="pb-"] { padding-bottom: var(--section-pb); }
section[class*="mt-"] { margin-top: var(--section-mt); }
section[class*="mb-"] { margin-bottom: var(--section-mb); }
.pt-z { --section-pt: 0rem; }
.pt-xs { --section-pt: 1.5rem; }
.pt-sm { --section-pt: 3rem; }
.pt-md { --section-pt: 5rem; }
.pt-lg { --section-pt: 7rem; }
.pt-xl { --section-pt: 9rem; }
.pt-xxl { --section-pt: 12rem; }
.pb-z { --section-pb: 0rem; }
.pb-xs { --section-pb: 1.5rem; }
.pb-sm { --section-pb: 3rem; }
.pb-md { --section-pb: 5rem; }
.pb-lg { --section-pb: 7rem; }
.pb-xl { --section-pb: 9rem; }
.pb-xxl { --section-pb: 12rem; }
.mt-z { --section-mt: 0rem; }
.mt-xs { --section-mt: 1.5rem; }
.mt-sm { --section-mt: 3rem; }
.mt-md { --section-mt: 5rem; }
.mt-lg { --section-mt: 7rem; }
.mt-xl { --section-mt: 9rem; }
.mt-xxl { --section-mt: 12rem; }
.mb-z { --section-mb: 0rem; }
.mb-xs { --section-mb: 1.5rem; }
.mb-sm { --section-mb: 3rem; }
.mb-md { --section-mb: 5rem; }
.mb-lg { --section-mb: 7rem; }
.mb-xl { --section-mb: 9rem; }
.mb-xxl { --section-mb: 12rem; }

/*** headline ***/
.section-heading { max-width: 52rem; }
.section-heading-kicker { display: block; margin-bottom: 0.75rem; }
.section-heading-separator { content: ""; display: block; width: 100%; height: 1rem; background: url("/theme/public/assets/images/separator.svg") no-repeat; background-position: center; }
.section-heading.text-start .section-heading-separator { background-position: left; }

/*** hero ***/
.hero { background-color: rgb(var(--bs-secondary-rgb)); isolation: isolate; overflow: hidden; position: relative; }
.hero::before { background: linear-gradient(90deg, rgba(192, 0, 31, 0.5) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.5) 100%); content: ""; inset: 0; pointer-events: none; position: absolute; z-index: 1; }
.hero-image { height: 100%; inset: 0; object-fit: cover; object-position: center 25%; position: absolute; width: 100%; z-index: 0; }
.hero .container { z-index: 2; }
.hero .min-vh-hero { min-height: 70vh; padding-block: 3rem; }
.hero h1 { font-size: clamp(2.1rem, 4vw, 3.75rem); max-width: 760px; text-transform: uppercase; text-shadow: 0 2px 4px rgb(0 0 0 / 35%), 0 3px 9px rgb(0 0 0 / 35%); }

/*** quicklinks ***/
section.hero + section.quick-links { padding-top: 0; margin-top: -4rem; z-index: 2; }
.quick-card { border-bottom: 0.3rem solid var(--bs-primary); box-shadow: 0 0.25rem 1.35rem rgba(0, 0, 0, 0.12); transition: transform 0.25s ease, box-shadow 0.25s ease; }
.quick-card:hover { box-shadow: 0 0.6rem 2rem rgba(0, 0, 0, 0.18); transform: translateY(-0.35rem); }
.quick-card::after { background: linear-gradient(180deg, #fff 20%, rgba(255, 255, 255, 1) 40%, rgba(255, 255, 255, 0.25) 100%); content: ""; inset: 0; position: absolute; }
.quick-card > div { z-index: 1; }

/*** media icon cards ***/
.reason { min-height: 180px; }
.reason > i { color: rgb(var(--bs-primary-rgb)); font-size: 4rem; }
.reason p { font-size: 0.88rem; margin-inline: auto; max-width: 210px; }

/*** icon box cards ***/
.icons-box .service-card { box-shadow: 0 0.15rem 0.7rem rgb(0 0 0 / 8%); min-height: 175px; text-decoration: none; transition: color 0.2s ease, transform 0.2s ease; }
.icons-box .service-card:hover { color: rgb(var(--bs-primary-rgb)) !important; transform: translateY(-0.25rem); }
.icons-box .service-card i { color: rgb(var(--bs-primary-rgb)); font-size: 5rem; }

@media (max-width: 575.98px) {
    .icons-box .service-card { min-height: 150px; }
    .icons-box .service-card i { font-size: 4rem; }
}




