:root{
  --bs-font-sans-serif: "Inter","Inter Fallback",
                        system-ui, -apple-system, "Segoe UI", Roboto,
                        "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
}
html{
  font-synthesis-weight: none;
  font-optical-sizing: auto;
  scrollbar-gutter: stable;
}
body{
  font-family: var(--bs-font-sans-serif);
  font-weight: 400;
  line-height: 1.6;
  font-size: 15px;
  color:#2a344d; background:#fff;
}
h1,h2,h3{ font-weight:600; line-height:1.25; }



b, strong{ font-weight: 600; }

.pt-6 {
padding-top:4rem !important;
}

.pb-6 {
padding-bottom:4rem !important;
}



.bg-soft-blue {
 background-color: #eff7fe !important;
}

.bg-soft-green {
 background-color: #ecf5ea !important;
}

.bg-soft-white {
 background-color: #FFF !important;
}


.navbar-toggle-btn>a {
color: #282828;
font-size: 18px;
position: relative;
vertical-align: middle;
text-align: center;
text-decoration: none;
text-transform: uppercase;
font-weight: 400;
line-height: 20px;
-webkit-transition: .2s ease-in-out;
transition: .2s ease-in-out;
float: right;
padding: 0px 15px;
height: 30px;
line-height: 30px;
display: none;
border-radius: 5px;
}

.site-header {
position: fixed;
top: 0px;
left: 0px;
width: 100%;
background-color: #ffffff;
z-index: 1000;
box-shadow: 0 8px 24px rgba(150, 158, 166, 0.2);
}

.site-header .body {
display: flex;
justify-content: space-between;
align-items: center;
gap: 30px;
height: 110px;
}

.site-header .logo a {
display: block;
line-height: 0;
}

.site-header .logo svg {
height: 36px;
width: auto;
}

.site-header .button {
padding: 10px 24px;
display: flex;
width: max-content;
font-size: 17px;
line-height: 1.3em;
border: 1px solid #282828;
border-radius: 5px;
background-color: #ffffff;
color: #282828;
text-decoration: none;
align-items: center;
font-weight: 500;
transition: all .3s;
}

.site-header .button:hover {
background-color: #282828;
color: #ffffff;
}

.site-header .button .fa {
margin-right: 10px;
}

.site-header .menu ul {
display: flex;
align-items: center;
list-style: none;
margin: 0px;
padding: 0px;
}

.site-header .menu ul li {
position: relative;
margin-right: 4px;
}

.site-header .menu ul li > a {
padding: 10px 14px;
color: #282828;
font-size: 17px;
line-height: 1.3em;
font-weight: 600;
border-radius: 5px;
text-decoration: none;
display: block;
border: 1px solid transparent;
}

.site-header .menu ul li > a > .fa {
padding-left: 5px;
}

.site-header .menu ul li:hover > a, .site-header .menu ul li > a:hover {
background-color: rgba(0, 0, 0, 0.05);
}

.site-header .menu ul li .submenu {
position: absolute;
top: 100%;
left: 0px;
background-color: #ffffff;
border-radius: 10px;
padding: 24px 24px 12px 24px;
color: #282828;
box-shadow: 0px 48px 72px -16px rgba(0, 0, 0, 0.16);
}

.site-header .menu ul li:not(.opened) .submenu {
display: none !important;
}

.site-header .menu ul li .submenu.--type-1 {
width: 1100px;
display: flex;
align-items: start;
gap: 24px;
}

.site-header .menu ul li .submenu.--type-1 .--column-left {
width: calc(100% / 3 * 2);
display: flex;
flex-wrap: wrap;
align-items: center;
margin-left: -12px;
margin-right: -12px;
}

.site-header .menu ul li .submenu.--type-1 .--column-right {
width: calc(100% / 3);
}

.site-header .menu ul li .submenu .icon-box {
margin-bottom: 5px;
height: 64px;
border-radius: 5px;
position: relative;
padding: 10px 20px 10px 20px;
display: flex;
align-items: center;
}

.site-header .menu ul li .submenu .icon-box .box-body {
position: relative;
}

.site-header .menu ul li .submenu .icon-box .icon {
position: absolute;
top: 0px;
left: -30px;
font-size: 18px;
line-height: 1.27em;
}

.site-header .menu ul li .submenu .icon-box .name {
font-size: 18px;
line-height: 1.27em;
font-weight: 600;
display: flex;
flex-wrap: wrap;
align-items: center;
}

.site-header .menu ul li .submenu .icon-box .text {
color: #575757;
font-size: 14px;
line-height: 1.5em;
}

.site-header .menu ul li .submenu .--half {
width: 50%;
padding-left: 12px;
padding-right: 12px;
}

.site-header .menu ul li .submenu .icon-box:hover {
background-color: #f6f6f6;
}

.site-header .menu ul li .submenu .image-box {
margin-bottom: 8px;
height: 90px;
background-color: #f6f6f6;
border-radius: 5px;
position: relative;
padding: 15px 82px 15px 20px;
display: flex;
align-items: center;
}

.site-header .menu ul li .submenu .image-box.--yellow {
background-color: #fff9e0;
}

.site-header .menu ul li .submenu .image-box.--green {
background-color: #ebffe1;
}

.site-header .menu ul li .submenu .image-box.--blue {
background-color: #ebfaff;
}

.site-header .menu ul li .submenu .image-box.--blue2 {
background-color: #f1f6ff;
}

.site-header .menu ul li .submenu .image-box .image {
width: 62px;
height: 62px;
position: absolute;
top: 50%;
transform: translateY(-50%);
-webkit-transform: translateY(-50%);
right: 15px;
display: flex;
align-items: center;
justify-content: center;
}

.site-header .menu ul li .submenu .image-box .image img {
max-width: 100%;
max-height: 100%;
}

.site-header .menu ul li .submenu .image-box .name {
font-size: 20px;
font-weight: 500;
line-height: 1.5em;
display: flex;
flex-wrap: wrap;
align-items: center;
}

.site-header .menu ul li .submenu .box-label {
padding: 2px 6px;
border-radius: 5px;
line-height: 1.4em;
font-size: 14px;
background-color: #dfe7ff;
color: #3730a3;
font-weight: 500;
margin-left: 10px;
}

.site-header .menu ul li .submenu .image-box .text {
color: #575757;
font-size: 14px;
line-height: 1.5em;
}

.site-header .menu ul li .submenu .link {
position: absolute;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
}

.site-header .menu ul li .submenu.--type-2 {
width: 410px;
}

.site-header .menu ul li .submenu.--type-3 {
width: 400px;
}

.site-header .menu ul li .submenu .image-box-big {
margin-bottom: 8px;
height: 120px;
background-color: #f6f6f6;
border-radius: 10px;
position: relative;
padding: 15px 145px 15px 25px;
display: flex;
align-items: center;
transition: all .3s;
}

.site-header .menu ul li .submenu .image-box-big:hover {
transform: scale(1.02);
}

.site-header .menu ul li .submenu .image-box-big.--yellow {
background-color: #ffe979;
}

.site-header .menu ul li .submenu .image-box-big.--green {
background-color: #b7f598;
}

.site-header .menu ul li .submenu .image-box-big.--blue {
background-color: #7ed5f0;
}

.site-header .menu ul li .submenu .image-box-big .image {
width: 95px;
height: 95px;
position: absolute;
top: 50%;
transform: translateY(-50%);
-webkit-transform: translateY(-50%);
right: 15px;
display: flex;
align-items: center;
justify-content: center;
}

.site-header .menu ul li .submenu .image-box-big .image img {
max-width: 100%;
max-height: 100%;
}

.site-header .menu ul li .submenu .image-box-big .name {
font-size: 24px;
font-weight: 500;
line-height: 1.2em;
display: flex;
flex-wrap: wrap;
align-items: center;
}

.site-header .menu ul li .submenu .image-box-big .text {
font-size: 14px;
line-height: 1.5em;
}


.site-header .menu .navbar-toggle-btn {
display: none;
}

.site-header .mobile-menu {
position: absolute;
top: 100%;
left: 0px;
width: 98%;
background-color: #f8fffb;
z-index: 100;
overflow: auto;
display: none;
}

.site-header .mobile-menu ul {
list-style: none;
margin: 0px;
padding: 0px;
}

.site-header .mobile-menu ul li a {
padding-left: 27px;
padding-right: 27px;
display: flex;
align-items: center;
justify-content: space-between;
color: #282828;
font-weight: 500;
font-size: 18px;
line-height: 1.2em;
text-decoration: none;
padding: 16px 32px;
}

@media (max-width: 992px) {
    .site-header .mobile-contact {
        display: block;
        border-top: 1px solid #ffffff;
        padding-top: 30px;
        padding-bottom: 20px;
    }
}

@media (max-width: 767px) {
    .site-header .mobile-contact {
        display: block;
        border-top: 1px solid #ffffff;
        padding-top: 10px;
        padding-bottom: 20px;
        padding-left: 5px;
    }
}

.site-header .mobile-menu .link-top2 {
    padding: 3px 30px;
    font-size: 28px;
    color: #f18801 !important;
}

.site-header .mobile-menu .link-top2 a {
    padding: 0px 30px;
    display: inline-block;
    font-size: 20px;
    font-weight: 700;
}

.site-header .mobile-menu ul li.opened > a {
background-color: #f6f6f6;
}

.site-header .mobile-menu ul li .submenu a {
padding-left: 45px;
}

.site-header .mobile-menu ul li .submenu {
display: none;
max-width: 100% !important;
}

.site-header .mobile-menu ul li.opened .submenu {
display: block;
}

.site-header .mobile-menu ul li.opened > a .fa {
transform: rotate(-180deg);
}

.transparentHeader .site-header:not(.scrolled) {
background-color: transparent;
box-shadow: none;
}

.transparentHeader .site-header:not(.scrolled) .logo svg path {
fill: #ffffff;
}

.transparentHeader .site-header:not(.scrolled) .menu ul li > a {
color: #ffffff;
}

.transparentHeader .site-header:not(.scrolled) .navbar-toggle-btn>a {
color: #ffffff;
}

.headerSpace {
height: 110px;
}

.transparentHeader .headerSpace {
display: none;
}

.site-header .mobile-menu .link-top-menu {
    border-bottom: 1px solid #c9e6d1;
    max-width: 97%;
}


@media (max-width: 1200px) {
  .site-header .menu ul li > a {
  padding: 10px;
  }

  .site-header .button {
  padding: 10px;
  }

  .site-header .logo svg {
  height: 30px;
  }
}

@media (max-width: 992px) {

.site-header .menu > ul {
gap: 20px;
}

.site-header .menu > ul > li > a {
font-size: 12px;
}

.navbar-toggle-btn>a {
display: block;
}

.site-header .body {
height: 88px;
}

.headerSpace {
height: 88px;
}

.site-header .button {
display: none;
}

.site-header .mobile-contact {
display: block;
border-top: 1px solid #ffffff;
padding-top: 30px;
padding-bottom: 20px;
}

.site-header .mobile-contact a {
display: block;
color: #ffffff;
margin-bottom: 10px;
text-decoration: none;
}

.site-header .mobile-contact .button {
padding: 8px 15px;
border-radius: 15px;
text-align: center;
background-color: #ffffff;
color: #f18801;
}

.site-header .contact-line {
display: none;
}

.site-header .menu {
position: fixed;
left: 0px;
top: 0px;
height: 100%;
overflow: auto;
background-color: #f18801;
width: 300px;
max-width: 100%;
padding: 20px;
display: none;
}

.site-header .menu .navbar-toggle-btn {
position: absolute;
top: 0px;
right: 0px;
display: block;
}

.site-header .menu > ul {
display: block;
}

.site-header .menu > ul > li > a {
color: #ffffff;
font-size: 14px;
padding: 20px;
padding-top: 0px;
}

.site-header .menu > ul > li > a:hover {
color: #ffffff;
}

.site-header .menu > ul > li ul, .site-header .menu > ul > li:hover ul {
opacity: 1;
visibility: visible;
pointer-events: visible;
-webkit-transform: translate(0);
-ms-transform: translate(0);
transform: translate(0);
display: none;
transition: 0;
}

.site-header .menu > ul > li ul {
position: static;
background-color: transparent;
border: 0px;
padding-bottom: 20px;
width: 100%;
}

.site-header .menu > ul > li ul li a {
border: 0px;
padding-left: 40px;
padding-top: 7px;
padding-bottom: 7px;
padding-right: 20px;
color: #ffffff;
}

}

.site-header .menu ul li:hover > .submenu {
  display: block !important;
}

/* ======BIG-IMAGE-BANNER====== */

.big-image-banner {
background-color: #f4f2f2;
min-height: 600px;
max-height: 800px;
}

.banner-img-wrap {
  position: relative;
  aspect-ratio: 4 / 3;
  width: 100%;
  height: 100%;
}
.banner-img-wrap > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (min-width: 992px) {
  .banner-img-col { min-height: 520px; }
}

.banner-img-col {
padding: 0 !important;
}

.object-fit-cover {
object-fit: cover;
object-position: center center;
width: 100%;
height: 100%;
display: block;
}

.big-image-banner .content {
min-height: 600px;
display: flex;
flex-direction: column;
justify-content: center;
color: #282828;
}

.big-image-banner .small-title {
font-weight: 600;
font-size: 18px;
line-height: 1.3em;
margin-bottom: 12px;
color: #282828;
}

.big-image-banner .title {
font-weight: 700;
font-size: 34px;
line-height: 1.2;
margin-top: 0px;
margin-bottom: 16px;
color: #282828;
max-width:90%;
}

.big-image-banner .text {
font-size: 17px;
line-height: 1.6;
margin-bottom: 32px;
max-width: 90%;
}

@media (max-width: 991px) {
.big-image-banner .text, .big-image-banner .title {
max-width: 100%;
}


}

.big-image-banner .buttons {
text-align: center;
display: flex;
justify-content: left;
gap: 2rem;
flex-wrap: wrap;
}

body .format-button {
display: inline-block;
text-decoration: none;
font-size: 18px;
border: 0px solid;
line-height: 1.5;
padding: 1rem 1rem;
border-radius: 10px;
color: #FFF;
background-color: #33738e;
font-weight: 500;
outline: none;
}

.min-button {
min-width: 260px;
}


body .format-button.blue2 {
background-color: #00588b;
border-color: #4f578d;
color: #ffffff;
}

body .format-button:hover {
background-color: #1d5a72;
color: #ffffff;
}

body .format-button-small {
font-size: 17px;
border: 0px solid;
line-height: 1.5;
padding: 0.8rem 1rem;
color: #FFF;
background-color: #45998d;
font-weight: 500;
min-width: 250px;
}


@media (max-width: 991.98px) {
.big-image-banner,
.banner-img-wrap,
.big-image-banner .content {
min-height: unset;
max-height: unset;
height: auto !important;
}
.banner-img-wrap {
min-height: 180px;
max-height: 280px;
}
.big-image-banner .content {
padding: 2rem 1rem !important;
}
.big-image-banner .title {
font-size: 2rem !important;
}
}


/*======SECTION-CARDS======*/

.section-cards {
background-color: #F5F5FA;
}

.section-cards .card {
box-shadow: 0 0 20px 0 rgb(0 0 0 / .09);
border-radius:10px;
border:none;
}

.section-cards .card .card-body {
padding:29px;
}

.section-cards .card .card-body h3 {
font-size:20px;
font-weight:600;
}

.section-cards hr {
border-top: 2.5px dashed #DFDFDF;
margin: 1rem 0 1rem;
opacity: initial;
}

.section-cards .card-text {
margin-bottom:1.5rem;
}


/* ======FEATURES====== */

.features h2 {
font-size: 30px;
line-height: 1.2em;
margin-top: 0px;
font-weight: 600;
color: #22253d;
margin-bottom:35px;
}

.features .sub {
font-size: 17px;
line-height: 1.6;
}

.features p {
font-size: 16px;
line-height: 1.5;
}

.features .bg-features {
background-color: #45998d;
border-radius: 1.5rem;
}

.features .icon-wrapper {
display: flex;
justify-content: center;
align-items: center;
width: 2rem;
height: 2rem;
border-radius: 10px 10px 20px;
font-size: 1.5rem;
color: #ffffff;
padding: 1.8rem;
margin-bottom: 2.5rem !important;
}

.features h3 {
font-size: 22px;
font-weight: 600;
}

@media (max-width: 991px) {
.features h3 {
font-size: 26px;
font-weight: 600;
}

.features p {
font-size: 17px;
}

}

.py-14 {
padding-top: 4.5rem !important;
padding-bottom: 4.5rem !important;
}

/* ======PROJECT====== */

.project{
padding-top:4rem;
padding-bottom:4rem;
background:#f2f7fa;
}

.project .card {
border: 0;
border-radius: 15px;
}

.project .title-1 {
font-size: 30px;
line-height: 1.3;
margin-top: 0px;
font-weight: 600;
color: #0b0f19;
margin-bottom: 2rem;
}

.project .title {
font-size: 28px;
line-height: 1.3;
margin-top: 0px;
font-weight: 600;
color: #0b0f19;
margin-bottom: 2rem;
}

.project .card-body {
padding: 3.5rem !important;
}

.project .card-img-bottom2 {
width:90% !important;
border-radius:10px;
}

.project .card-body p{
font-size:17px;
line-height:1.5;
margin-bottom:40px;
}

@media (max-width: 767px) {
.project {
padding-top:3rem;
background-color: #458f99;
}

.project .title-1 {
font-size: 28px;
line-height: 1.3;
margin-top: 0px;
font-weight: 600;
margin-bottom: 3rem;
}

.project .title {
font-size: 26px;
line-height: 1.1;
}

.project .card {
border-radius: .5rem;
margin-bottom: 2rem !important;
background: #ffffff !important;
}

.project .card-body {
padding: 2rem 1.2rem !important;
}

.project .img-fluid {
max-width: 100%;
height: auto;
border-radius: .5rem;
}
}

@media (max-width: 992px) {

.project .format-button-small  {
margin-bottom:48px !important;
}
}


/* =========================
   CALCULATOR-3 – KOMPLETNÍ CSS
   ========================= */

.calculator-3{
  --calc3-bg-left: #fff;
  --calc3-bg-right:#2f333a;
  --calc3-text: #111827;
  --calc3-text-muted: #6b7280;
  --calc3-track: #e5e7eb;      /* šedý podklad dráhy */
  --calc3-fill: #1f7a45;       /* vyplnená cást dráhy */
  --calc3-thumb: #ff8b45;      /* jezdec */
  --calc3-thumb-border: #fff;
  --calc3-accent: #ff8b45;
  --calc3-accent-hover:#ff7a2a;
  --calc3-right-text: #e5e7eb;
  --calc3-right-muted:#aeb4bd;
  --calc3-sep: rgba(255,255,255,.08);
  color: var(--calc3-text);
  font-family: inherit;
}

/* KARTY */
.calculator-3 .calc-left{
  background:#fff;border-radius:18px;box-shadow:0 20px 40px rgba(0,0,0,.12);
  padding:24px;
}
.calculator-3 .calc-right{
  background:var(--calc3-bg-right);color:var(--calc3-right-text);
  border-radius:18px;box-shadow:0 20px 40px rgba(0,0,0,.12);
  padding:28px;
}

/* Nadpisy */
.calculator-3 h2{font-weight:700;margin:0 0 .75rem}
.calculator-3 .subhead{color:var(--calc3-text-muted);margin:0 0 1.5rem}

/* ---------------- SLIDERY ---------------- */
.calculator-3 .slider-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}
.calculator-3 .slider-label{font-weight:600}
.calculator-3 .slider-value{font-weight:700}
.calculator-3 .slider-wrap{margin:20px 0}

/* ZÁKLAD RANGE – žádný fixní gradient! (Chrome/Edge vyplní JS) */
.calculator-3 input[type=range]{
  -webkit-appearance:none;appearance:none;width:100%;
  height:10px;border-radius:6px;background:var(--calc3-track);
  outline:0;cursor:pointer;transition:background .15s ease;
}

/* WebKit jezdec (Chrome/Edge/Safari) */
.calculator-3 input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;
  width:28px;height:28px;border-radius:8px;background:var(--calc3-thumb);
  border:3px solid var(--calc3-thumb-border);
  box-shadow:0 4px 8px rgba(0,0,0,.2);
  transition:transform .1s ease;
}
.calculator-3 input[type=range]::-webkit-slider-thumb:active{transform:scale(1.05)}

/* Firefox jezdec + track */
.calculator-3 input[type=range]::-moz-range-thumb{
  width:28px;height:28px;border-radius:8px;background:var(--calc3-thumb);
  border:3px solid var(--calc3-thumb-border);
  box-shadow:0 4px 8px rgba(0,0,0,.2);
  transition:transform .1s ease;
}
.calculator-3 input[type=range]::-moz-range-thumb:active{transform:scale(1.05)}
.calculator-3 input[type=range]::-moz-range-track{
  height:10px;border-radius:6px;background:var(--calc3-track);
}
/* Firefox – skutecne vyplnená cást vlevo od jezdce */
.calculator-3 input[type=range]::-moz-range-progress{
  height:10px;border-radius:6px;background:var(--calc3-fill);
}

/* Focus */
.calculator-3 input[type=range]:focus{
  box-shadow:0 0 0 4px rgba(255,139,69,.25);
}

/* Desktop vetší */
@media (min-width:992px){
  .calculator-3 input[type=range]{height:14px}
  .calculator-3 input[type=range]::-webkit-slider-thumb{width:34px;height:34px}
  .calculator-3 input[type=range]::-moz-range-thumb{width:34px;height:34px}
}

/* Poznámky vlevo */
.calculator-3 .calc-notes{margin-top:16px;padding-left:18px;}
.calculator-3 .calc-notes li{margin:.8rem 0}

/* ---------------- SOUHRN ---------------- */
.calculator-3 .summary-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:10px}
.calculator-3 .summary-title{font-size:18px;font-weight:500;color:var(--calc3-right-muted)}
.calculator-3 .summary-main{font-size:30px;font-weight:700}

.calculator-3 .summary-list{margin-top:17px;border-top:1px solid var(--calc3-sep)}
.calculator-3 .summary-item{
  display:flex;justify-content:space-between;align-items:center;
  padding:14px 0;border-bottom:1px solid var(--calc3-sep)
}
.calculator-3 .summary-item h3{margin:0;font-size:17px;font-weight:500;color:var(--calc3-right-muted)}
.calculator-3 .summary-item .value{font-weight:700;font-size:17px}
.calculator-3 .summary-item .value-sm{font-weight:700;font-size:16px}

/* CTA */
.calculator-3 .summary-cta{text-align:center;margin-top:18px}
.calculator-3 .btn-cta{
  background:var(--calc3-accent);color:#fff;border:0;
  padding:12px 22px;font-weight:700;border-radius:14px;
  box-shadow:0 12px 24px rgba(255,139,69,.25);
  transition:transform .06s, background .15s;
}
.calculator-3 .btn-cta:hover{background:var(--calc3-accent-hover)}
.calculator-3 .btn-cta:active{transform:translateY(1px)}

.calculator-3 .summary-foot{margin-top:12px;font-size:13px;color:var(--calc3-right-muted)}

 
 
 
 
 
/*======BLOCK-WITH-NUMBERS*/

.block-with-numbers {
    padding-bottom: 10px;
    padding-top: 60px
}

.block-with-numbers .left-column {
    padding-top: 45px
}

.block-with-numbers .left-column .title {
color: #262e3e;
font-size: 28px;
font-weight: 600;
line-height: 1.2;
margin-bottom: 25px;
margin-top: 0;
}

.block-with-numbers .left-column .subtitle {
color: #3d5fa7;
font-size: 20px;
font-weight: 400;
letter-spacing: .3px;
line-height: 1.3;
margin-bottom: 40px;
margin-top: 0;
}

.block-with-numbers .left-column .text {
color: #212529;
font-size: 17px;
line-height: 1.5;
padding-bottom: 20px
}

.block-with-numbers .left-column .button {
background: linear-gradient(90deg,#383edf,#0a3ca6);
border-radius: 30px 30px 30px 30px;
color: #fff;
display: inline-block;
font-weight: 400;
line-height: 25px;
margin-bottom: 50px;
padding: 15px 41px;
text-decoration: none
}

.block-with-numbers .left-column .button:hover {
background: linear-gradient(#3871df,#3871df);
color: #fff
}

.block-with-numbers .box {
margin-bottom: 40px
}

.block-with-numbers .box .number {
font-size: 24px;
font-weight: 600;
line-height: 1em;
margin-bottom: 15px;
text-align: right;
}

.block-with-numbers .box .number:before {
background-color: #010166;
content: "";
display: inline-block;
height: 1px;
margin-right: 20px;
vertical-align: middle;
width: 50px
}

.block-with-numbers .box .name {
color: #262e3e;
font-size: 20px;
font-weight: 600;
line-height: 32px;
margin-bottom: 15px;
margin-top: 0;
}

.block-with-numbers .box .name .pod,.pod {
border-bottom: 3px solid #ffba60
}

.block-with-numbers .box .text {
color: #212529;
font-size: 17px;
font-weight: 400;
line-height: 25px
}

.block-text-blocks {
padding: 65px 0
}

.block-text-blocks .btn+.btn {
margin-left: 15px
}

/* ======BOXES-ONE====== */

.boxes-one h2 {
font-size: 28px;
font-weight: 600;
line-height: 1.2;
margin-bottom: 25px;
margin-top: 0;
}

.boxes-one p {
font-size: 17px;
line-height: 1.5;
padding-bottom: 20px;
}

.fs-17 {
font-size: 17px;
font-weight: 600;
letter-spacing: -0.5px;
}

.fs-16 {
font-size: 16px !important;
letter-spacing: -0.5px;
margin: 1px 0px 1px 0px;
}

.boxes-one .card {
border: none;
border-radius: 0.5rem;
background-color: #fff5f5;
}

.bullet-list{
padding-left: .8rem;
margin: 0;
font-size:17px;
}
.bullet-list li{
margin-bottom: 1rem;
font-size:17px;
}

.bullet-list2 li{
margin-bottom: 0rem;
font-size:17px;
}
.bullet-list li::marker{
color: #4f578d;
font-size: .8em;
}

@supports not (li::marker){
.bullet-list{ list-style: none; }
.bullet-list li{
position: relative;
padding-left: 1.6rem;
}

.bullet-list li::before{
content: "";
position: absolute;
left: 0; top: .72em;
width: .45em; height: .45em;
border-radius: 50%;
background: #4f578d;
}

.bullet-list2 li::before{
content: "";
position: absolute;
left: 0; top: .52em;
width: .45em; height: .45em;
border-radius: 50%;
background: #4f578d;
}



.bullet-list3{
padding-left: .8rem;
margin: 0;
font-size:17px;
}
.bullet-list3 li{
font-size:17px;
}

.bullet-list3 li::before{
content: "";
position: absolute;
left: 0; top: .52em;
width: .45em; height: .45em;
border-radius: 50%;
background: #4f578d;
}



/* ======FAQ====== */

.faq-1{
background:#f2f7fa;
}

.faq-1 h2{
color: #262e3e;
font-size: 28px;
font-weight: 600;
line-height: 1.2;
margin-bottom: 25px;
margin-top: 0;
}

.accordion-button::after{
flex-shrink: 0;
width: 1.25rem; height: 1.25rem;
background-size: 1.25rem;
background-repeat: no-repeat;
background-position: center;
transform: none;

background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 16 16' fill='none' stroke='%232a344d' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M8 3v10M3 8h10'/%3E%3C/svg%3E");
}
.accordion-button:not(.collapsed)::after{

background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 16 16' fill='none' stroke='%232a344d' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M3 8h10'/%3E%3C/svg%3E");
}
.accordion-button{
color: var(--bs-emphasis-color);
background-color: #fff;
padding-top: 1.2rem !important;
padding-bottom: 1.2rem !important;
}
.accordion-button:focus{
box-shadow: 0 0 0 .2rem rgba(var(--bs-primary-rgb), .25);
border-color: rgba(var(--bs-primary-rgb), .5);
}

#faq .accordion-button:focus { box-shadow: none; border-color: transparent; }

#faq .accordion-button:focus-visible{
  box-shadow: 0 0 0 .15rem rgba(42,52,77,.25);
  border-color: rgba(42,52,77,.35);
}

.accordion-button:not(.collapsed){
color: var(--bs-primary);
background-color: rgba(var(--bs-primary-rgb), .04);
}
.accordion-item{
border-color: rgba(0,0,0,.06) !important;
}

/* ======FOOTER====== */

.footer-classic {
background: radial-gradient(800px 520px at 12% -10%, rgba(99, 102, 241, .18) 0%, transparent 60%), radial-gradient(700px 480px at 110% 8%, rgba(96, 165, 250, .12) 0%, transparent 60%), linear-gradient(160deg, #0f172a, #111827);
}

footer a {
  color: #ddd;
  transition: color 0.3s ease;
}

footer a:hover {
  color: #ffd700;
}

footer .footer-title {
  font-weight: 600;
  margin-bottom: 1rem;
  color: #ffffff;
}

footer .footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  margin-top: 2rem;
  padding-top: 1rem;
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.7);
}

.footer-title{
  font-size:.92rem; letter-spacing:.06em; text-transform:uppercase;
  color:var(--bs-secondary); margin-bottom:.75rem;
}
.footer-links{ list-style:none; padding:0; margin:0; }
.footer-links li{ margin-bottom:.45rem; }
.footer-links a{
  color:#e6e7ea; text-decoration:none; position:relative; display:inline-block;
}

.footer-links a:hover{
border-color: rgb(241 230 99 / 60%);
box-shadow: 0 0 0 rgba(99, 102, 241, .2), 0 0 0 .0rem rgba(96, 165, 250, .14);
}

.footer-underline{ position:relative; }
.footer-underline::after{
  content:""; position:absolute; left:0; right:100%; bottom:-2px; height:2px;
  background: rgba(var(--bs-primary-rgb), .8); transition:right .2s ease;
}
.footer-underline:hover::after{ right:0; }

/* ======CONTACT FORM====== */
.contact-form{
  background:
    radial-gradient(800px 520px at 12% -10%, rgba(99,102,241,.18) 0%, transparent 60%),
    radial-gradient(700px 480px at 110% 8%, rgba(96,165,250,.12) 0%, transparent 60%),
    linear-gradient(160deg, #0f172a, #111827);
}

.contact-form .cf-title{
  font-weight: 600;
  font-family:"Inter","Inter Fallback";
  font-size: 28px;
  line-height: 1.3;
  color:#FFF;
}
.contact-form .cf-lead{
  color: #FFF;
  font-size:17px;
}

.contact-form .cf-card{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 1rem;
  padding: clamp(1rem, 2vw, 1.5rem);
  backdrop-filter: blur(10px) saturate(110%);
  -webkit-backdrop-filter: blur(10px) saturate(110%);
  box-shadow: 0 14px 40px -28px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.05);
}

.contact-form .cf-input,
.contact-form .cf-textarea{
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
}
.contact-form .cf-input::placeholder,
.contact-form .cf-textarea::placeholder{ color:#d1d5db; }
.contact-form .cf-input:focus,
.contact-form .cf-textarea:focus{
  background: rgba(255,255,255,.12);
  border-color: rgb(241 230 99 / 60%);
  box-shadow:
    0 0 0 rgba(99, 102, 241, .2), 0 0 0 .0rem rgba(96, 165, 250, .14);
}


.contact-form .cf-textarea{
  resize: vertical;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.25) transparent;
}
.contact-form .cf-textarea::-webkit-scrollbar{ width:10px; }
.contact-form .cf-textarea::-webkit-scrollbar-track{ background:transparent; }
.contact-form .cf-textarea::-webkit-scrollbar-thumb{
  background: rgba(255,255,255,.25);
  border-radius:8px; border:2px solid transparent; background-clip:padding-box;
}
.contact-form .cf-textarea::-webkit-scrollbar-thumb:hover{ background: rgba(255,255,255,.35); }
.contact-form .cf-textarea::-webkit-scrollbar-button{ display:none; }


.contact-form .invalid-feedback{ color:#fecaca; }


.contact-form .cf-gdpr .form-check-label{ color:#fff; line-height:2.1; }
.contact-form .cf-check{
  appearance:none;
  width: 1.5rem; height: 1.5rem;
  margin-top:.2rem;
  border: 2px solid rgba(255,255,255,.35);
  border-radius: .35rem;
  background: transparent;
  display:inline-grid; place-items:center;
  transition: border-color .15s, background .15s, box-shadow .15s;
}
.contact-form .cf-check:focus{
  outline: none;
  box-shadow: 0 0 0 .25rem rgba(99,102,241,.25);
}
.contact-form .cf-check:checked{
  border-color: transparent;
  background: linear-gradient(180deg, #6366f1, #60a5fa);
}

.contact-form .cf-btn-cta{
  background: linear-gradient(180deg, color-mix(in srgb, #6366f1 88%, #fff), color-mix(in srgb, #60a5fa 88%, #fff));
  color:#0b1222; font-weight:700; border:0; border-radius: .8rem;
  padding:.75rem 1.15rem; box-shadow:0 12px 22px -14px rgba(99,102,241,.35);
}
.contact-form .cf-btn-cta:hover{ filter:brightness(1.02); }

.cf-honeypot {
  display: none !important;
}

.form-control {
margin-bottom: 0.7rem !important;
padding: 1rem .75rem;
font-size: .8rem;
}

:root { --cf-yellow: #ffcc00; }

.contact-form .cf-check:focus{
  outline: none;
  box-shadow: 0 0 0 .25rem color-mix(in srgb, var(--cf-yellow) 35%, transparent);
  border-color: var(--cf-yellow);
}

.contact-form .cf-check:checked{
  background: #0b1222;
  border-color: var(--cf-yellow);
  background-image: none;
}


.contact-form .cf-check:checked::after{
  content: "";
  width: .6rem; height: .6rem;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6.173 12.414L2.222 8.464l1.414-1.415 2.537 2.536 6.192-6.192 1.414 1.415z'/%3E%3C/svg%3E") no-repeat center/contain;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6.173 12.414L2.222 8.464l1.414-1.415 2.537 2.536 6.192-6.192 1.414 1.415z'/%3E%3C/svg%3E") no-repeat center/contain;
  background: var(--cf-yellow); /* ? lut fajfka */
}


.contact-form .cf-input,
.contact-form .cf-textarea{
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
}

/**/


.bs-block-save .card { border-radius: .75rem; }
.bs-block-save .card:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(0,0,0,.06); transition: .2s ease; }

.bs-block-save .btn-outline-warning {
  border-radius: 999px;
  padding: .6rem 1.2rem;
}

/* Malé kruhové ikonky s jemným žlutým akcentem (lze sladit s brand barvou) */
.bs-block-save .bs-icon-circle{
  flex: 0 0 auto;
  width: 36px; height: 36px;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: #fff;
  border: 1px solid #ffc107;     /* akcent */
}
.bs-block-save .bs-icon-circle .fa{ font-size: .9rem; color: #333; }

/* xxxxxxxxxxxxxxxxxx*/

.two-block {
padding-top:6rem;
padding-bottom:4rem;
}


.two-block .title {
color: #262e3e;
font-size: 28px;
font-weight: 600;
line-height: 1.2;
margin-bottom: 25px;
margin-top: 0;
}


.two-block .h3-title {
  font-size: 24px;
  font-weight: 700;
  color: #11111d;
  margin: 0px;
  margin-bottom: 3rem;
  margin-top: 5rem;
  line-height: 1.2em;
  letter-spacing: -0.5px;
 
}


.two-block .small-title {
    color: #f73760;
    font-size: 19px;
    line-height: 1.2em;
    display: inline-block;
    border-bottom: 1px dotted #22253d;
    margin-bottom: 3rem;
}

.citace-1 {
padding-left: 15px;
border-left-style: solid;
border-left-width: 3px;
border-left-color: #CCC;
}

.citace-2 {
background-color: #f8f9fa !important;
}

.citace-3 {
background-color: #f1fbff !important;
padding: 1.5rem 1.5rem .8rem;
border-left: 4px solid #1f4a74;
}

.citace-3 p{
margin-bottom: .8rem !important;
}

 
 
.two-block p {
font-size: 17px;
line-height: 1.5;
padding-bottom: 20px;
}

.two-block .text {
    margin-bottom: 4rem;
}

.two-block .box-body {
    overflow: hidden;
    margin-bottom: 5rem;
    border-radius: 10px;
}

.two-block .box-body .image {
    padding: 30% 50%;
    position: relative;
}

.two-block .box-body .image img {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: 1;
}

.two-block .box-body .image .name {
	font-family: "Inter", "Inter-fallback";
    position: absolute;
    left: 0px;
    bottom: 0px;
    color: #ffffff;
    margin: 0px;
    z-index: 3;
    padding: 4rem 4rem 2rem 2rem;
    font-weight: 600;
    font-size: 26px;
    line-height: 1.2; 
}

.two-block .box-body .content .name2 {
    color: #22253d;
    margin: 0px;
    z-index: 3;
    padding: 2rem 0rem 3rem 0rem;
    font-weight: 800;
    font-size: 30px;
    line-height: 1.2em;
 
}

.two-block .box-body .content p {
    margin-top: 0px;
    margin-bottom: 2.6rem;
    font-size: 17px;
    line-height: 3rem;
	font-weight:400;
}

.two-block .box-body .image:after {
    content: "";
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    z-index: 2;
    background: linear-gradient(360deg, rgb(6 6 6 / 72%) 15%, rgba(0, 0, 0, 0) 100%);
}

.two-block .box-body .content {
    background-color: #e3eefd;
    padding: 3rem 2rem;
    font-size: 18px;
    line-height: 1.5;
    color: #22253d;
}

.two-block .box-body .content2 {
    background-color: #e3eefd;
    padding: 4rem 3rem;
    font-size: 17px;
    line-height: 3rem;
    color: #22253d;
    font-weight: 500;
}


.two-block .block-left {
	padding-right:2rem;

}

.two-block .inner {
    position: sticky;
    top: 120px;
    right: 0px;
}

.two-block .content .line {
    width: 8rem;
    margin-bottom: 4rem;
	margin-top: 2rem;
}

.two-block .read-more-button {
    color: #f73760;
    font-size: 20px;
    font-weight: 800;
    text-decoration: none;
}

@media (max-width: 767px) { 
.two-block .block-left {
padding-right: .8rem;
}

.two-block .box-body .image .name {
padding: 4rem 1rem 1.5rem 1rem; 
}

.two-block .box-body .content {
padding: 3rem 2rem 2rem 1rem;
}
}

/**/

.block-save {
    padding: 50px 0;
}

.block-save-inner {
    padding-right: 30px;
}

.block-save-inner .title-sub {
    color: #3d5fa7;
    font-size: 20px;
    line-height: 25px;
    margin-top: -15px;
}

 

.block-save h2  {
    color: #262e3e;
    font-size: 28px;
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 25px;
    margin-top: 0;
}

.block-save h3 {
    font-size: 20px;
    font-weight: 600;
    line-height: 30px;
}

.block-save p {
color: #2a344d;
font-size: 17px;
line-height: 25px;
padding-bottom:20px;

}

.block-save-line-icon .block-save-icon-inner {
    background-color: #fff;
    border-radius: 50px;
    box-shadow: 0 20px 30px rgba(75,17,47,.1);
    color: #faab05;
    font-size: 18px;
    font-weight: 500;
    height: 50px;
    line-height: 50px;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    width: 50px;
}

.block-save-text {
    padding-left: 24px;
	padding-top:10px;
}

.block-save .button {
    background: #3396d6;
    border-radius: 30px;
    color: #fff;
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    padding: 14px 36px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: all .4s ease;
}

.block-save .button:hover {
    box-shadow: inset 200px 0 0 0 #fed10f;
    color: #000;
}

@media screen and (max-width: 991px) {
.block-save-text {
	padding-left:0;
	text-align: left;
}

.block-save-line-icon {
	margin: 30px 0;
}

.block-save-line-icon .block-save-icon-inner {
	font-size: 20px;
	height: 60px;
	line-height: 60px;
	width: 60px;	
}

.block-save-text h3 {
	font-size: 28px;
	padding-bottom: 20px;
	padding-top: 10px;	
}

.block-save-line .block-save-text p {
	font-size: 18px;
	line-height: 27px;
}

}

/* */

.block-action {
padding-top: 30px;
padding-bottom: 30px;
color: #FFF;
background: radial-gradient(800px 520px at 12% -10%, rgba(99, 102, 241, .18) 0%, transparent 50%), radial-gradient(700px 480px at 20% 8%, rgba(96, 165, 250, .12) 0%, transparent 60%), linear-gradient(160deg, #0f172a, #111827);
}

.block-action h2 {
font-size: 30px;
line-height: 1.2em;
margin-top: 0px;
font-weight: 600;
margin-bottom:30px;
}

.block-action p {
font-size: 19px;
line-height: 1.5em;
margin-bottom:4rem;
}

.block-action .buttons {
text-align: center;
display: flex;
justify-content: center;
gap: 2rem;
flex-wrap: wrap;
}

.block-action .buttons .min-butt{
min-width:260px;
}

/**/

.contact-boxes {
padding-bottom: 3rem;
margin-top: 6rem;
}

.contact-boxes .box-body {
overflow: hidden;
margin-bottom: 5rem;
border-top-left-radius: 10px;
border-top-right-radius: 35px;
border-bottom-right-radius: 10px;
border-bottom-left-radius: 35px;
}

.contact-boxes .box-body .image {
  padding: 30% 50%;
  position: relative;
}

.contact-boxes .box-body .image img {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 1;
}

.contact-boxes .box-body .image:after {
  content: "";
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 2;
  background: linear-gradient(180deg, rgba(34, 37, 61, 0) 0%, #22253d 100%);
}

.contact-boxes .box-body .image .name {
  position: absolute;
  left: 0px;
  bottom: 0px;
  color: #ffffff;
  margin: 0px;
  z-index: 3;
  padding: 4rem;
  font-weight: 700;
  font-size: 28px;
  line-height: 1;
  letter-spacing:0.2px;
}

.contact-boxes .box-body .content {
  background-color: #e3eefd;
  padding: 3rem 4rem;
  font-size: 20px;
  line-height: 3rem;
  color: #22253d;
  font-weight: 700;
}

.contact-boxes .box-body .content2 {
  font-size: 34px;
  line-height: 6rem;
  font-weight: 800;
}

.contact-boxes .box-body .content3 a {
  text-decoration: none;
  color: #22253d;
  font-size: 20px !important;
}

.contact-boxes .box-body .content a {
  text-decoration: none;
  color: #22253d;
}

.contact-boxes .box-body .content a:hover {
  color: #f73760;
} 

/**/

.contact-map {
    margin-bottom: 6rem;
    position: relative;
    overflow: hidden;
    padding: 15% 50%;
    border-top-left-radius: 10px;
    border-top-right-radius: 35px;
    border-bottom-right-radius: 10px;
    border-bottom-left-radius: 35px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);  
    border: 1px solid rgba(0, 0, 0, 0.05);  
    transition: transform 0.3s ease, box-shadow 0.3s ease;  
    background-color: #f9f9f9;  
}

.contact-map:hover {
    transform: scale(1.01);  
    box-shadow: 0 12px 20px rgba(0, 0, 0, 0.15);  
}

.contact-map::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 100%);
    pointer-events: none;  
    z-index: 1;  
}

.contact-map iframe {
    border: none;  
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;  
}


/* Styl predlohy */
.contact-icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.contact-block h3 {
  color:#212529;
}

