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

/*boostrap icons*/
@font-face {
	font-family: 'bootstrap-icons';
	src: url('/assets/fonts/BI/bootstrap-icons.woff2') format('woff2');
	font-display: swap;
}

/* DM Sans*/
@font-face {
	font-family: 'DM Sans';
	src: url('/assets/fonts/DM_Sans/dmsans.woff2') format('woff2');
	font-style: normal;
	font-weight: 100 1000;
	font-display: swap;
}

html {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

body {
	font-family: 'DM Sans', sans-serif;
	font-size: 1rem;
	color: #000;
	line-height: 1.5;
	font-weight: 400;
	overflow-x: hidden;
	background-color: transparent;
}

.transition-3s {
	transition:  all .3s ease;
}

.text-deleni-slov {
	hyphens: auto;
	word-break: break-word;
	overflow-wrap: break-word;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

ul, ol {
	list-style: none;
	margin: 0px;
	padding: 0px;
}

a {
	text-decoration: none;
	color: inherit;
	cursor: pointer;
}

a:hover {
	text-decoration: none;
	outline: none;
}

a:focus-visible {
	outline: 2px solid #f5b400;
	outline-offset: 2px;
}

.letter-space {
	letter-spacing: 0.1em;
}

.pt-50 {
	padding-top: 50px !important;
}

.pt-100 {
	padding-top: 100px;
}

.pt-150 {
	padding-top: 150px;
}

.pb-50 {
	padding-bottom: 50px;
}

.pb-100 {
	padding-bottom: 100px;
}

.mb-70 {
	margin-bottom: 70px;
}

.mb-100 {
	margin-bottom: 100px;
}

.mt-50 {
	margin-top: 50px;
}

.mt-100 {
	margin-top: 100px;
}

.w-15 {
	width: 15%;
}

.w-10 {
	width: 10%;
}

.vh-60 {
	height: 60vh;
}

.img-circle {
	border-radius: 50%;
}

.novy-radek {
	display: none;
}

/* parallax */
.parallax {
	perspective: 1px;
	height: 100vh;
	overflow-x: hidden;
	overflow-y: auto;
}
.parallax__layer {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.parallax__layer--base {
	transform: translateZ(0);
}
.parallax__layer--back {
	transform: translateZ(-1px);
}

/* preload */
.logo-wrapper {
	position: relative;
}

.logo-wrapper::before {
	content:'';
	position:absolute;
	left:50%;
	top:-1500px;
	width:2px;
	height:1500px;
	background: rgba(31,53,96,.75);
	transform:translateX(-50%);
}

.preload {
	position: fixed;
	inset: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	background: rgba(255,255,255,.50);
	backdrop-filter: blur(3px);
	/*background: rgba(31,53,96,.15);*/
	z-index: 9999;
	transition: opacity .35s ease;
}

.preload.hide {
	opacity: 0;
	pointer-events: none;
}

.logo-wrapper {
	animation: elevatorMove 1.8s ease-in-out forwards;
}

.logo-wrapper svg {
	width: 90px;
	height: auto;
	display: block;
}

@keyframes elevatorMove {

	0% {
		transform: translateY(120vh);
		opacity: 0;
	}
	15% {
		opacity: 1;
	}
	40% { transform: translateY(0); }
	45% { transform: translateY(12px); }
	50% { transform: translateY(0); }
	75% { transform: translateY(0); }
	100% {
		transform: translateY(-120vh);
		opacity: 1;
	}
}

/* preload sipky*/
.preload-arrows {
	position: fixed;
	inset: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	background: transparent;
	z-index: 9999;
	transition: opacity .7s ease;
	backdrop-filter: blur(2px);
}

.preload-arrows.hide {
	opacity: 0;
	pointer-events: none;
}

.preload-menu-arrow {
	width: 0;
	height: 0;
	margin: 0 auto;
	opacity: 1;
}

.preload-menu-arrow-up {
	border-left: 30px solid transparent;
	border-right: 30px solid transparent;
	border-bottom: 24px solid #FFBB00;
	animation: elevatorUp 2.0s ease-in-out infinite;
	margin-bottom: 50px;
}

.preload-menu-arrow-down {
	border-left: 30px solid transparent;
	border-right: 30px solid transparent;
	border-top: 24px solid #FFBB00;
	animation: elevatorDown 2.0s ease-in-out infinite;
	margin-top: 50px;
}

@keyframes elevatorUp {
	0%,100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-100px);
	}
}

@keyframes elevatorDown {
	0%,100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(100px);
	}
}

/* navbar */
#offcanvasNav .nav-arrows {
	display: none;
}
.navbar-main {
	height: 110px;
	background-color: white;
}

.navbar-nav {
	align-items: center;
	gap: 0.5rem;
}

.navbar-nav .nav-link {
	font-size: 18px;
	line-height: 18px;
	font-weight: 400;
}

.navbar-nav .btn {
	margin-left: 1rem;
}

.nav-item a.btn-navy {
	padding: 0.85rem 1.75rem;
	font-size: 16px;
	font-weight: 700;
	background-color: #1F3560;
	color: white !important;
}

.btn-navy {
	position: relative;
	overflow: hidden;
	background: #1F3560;
	color: #fff;
	z-index: 1;
	transition: color .3s ease;
	border: none;
	border-radius: 999px;
}

.btn-navy::before {
	content: "";
	position: absolute;
	inset: 0;
	background: #FF2116;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .35s ease;
	z-index: -1;
}

.btn-navy:hover::before {
	transform: scaleX(1);
}

.btn-navy:hover {
	color: #fff;
}

.navbar-toggler {
	border: none !important;
	box-shadow: none !important;
	background: transparent !important;
}

.nav-item a {
	color: #1F3560 !important;
}

.nav-item.active a.nav-link {
	border-bottom: 2px solid #FFBB00;
	font-weight: normal;
}

/* landing page */
.uvod-landing-page, .o-nas-landing-page, .reference-landing-page, .certifikaty-landing-page,
.kontakty-landing-page {
	padding-top: 150px !important;
}

.uvod-landing-page .bg-image, .o-nas-landing-page .bg-image, .reference-landing-page .bg-image,
.certifikaty-landing-page .bg-image, .kontakty-landing-page .bg-image {
	display: flex;
	justify-content: center;
	align-items: end;
	padding-bottom: 95px;
	position: relative;
	border-radius: 30px;
	min-height: 800px;
	background-image: url("../img/uvod-landing-page.jpg");
	background-repeat: no-repeat, no-repeat;
	background-position: center center, center center;
	background-size: cover, cover;
}

.uvod-landing-page .bg-image::before, .o-nas-landing-page .bg-image::before,
.reference-landing-page .bg-image::before, .certifikaty-landing-page .bg-image::before,
.kontakty-landing-page .bg-image::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,.25);
	border-radius: 30px;
}

.o-nas-landing-page .bg-image {
	background-image: url("../img/o-nas-landing-page.jpg");
}

.reference-landing-page .bg-image {
	background-image: url("../img/reference-landing-page.jpg");
	align-items: center;
	padding-bottom: 0px;
}

.certifikaty-landing-page .bg-image {
	background-image: url("../img/certifikaty-landing-page.jpg");
	align-items: center;
	padding-bottom: 0px;
}

.kontakty-landing-page .bg-image {
	background-image: url("../img/kontakty-landing-page.jpg");
	align-items: center;
	padding-bottom: 0px;
}

.hero-wrapper {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.hero-text-wrapper {
	max-width: 680px;
	text-align: center;
}

.reference-landing-page .hero-text-wrapper {
	max-width: 800px;
}

#reference {
  scroll-margin-top: 91px;
}

#formular {
  scroll-margin-top: 120px;
}

.certifikaty-landing-page .hero-text-wrapper {
	max-width: 850px;
}

.hero-title {
	color: white;
	font-family: 'DM Sans', sans-serif;
	font-size: 52px;
	font-weight: 700;
	line-height: 62px;
	text-transform: uppercase;
	margin-bottom: 30px;
}

.hero-text {
	color: #fff;
	font-size: 18px;
	line-height: 30px;
	max-width: 500px;
	margin: 0 auto 60px;
}

.o-nas-landing-page .hero-text {
	max-width: 700px;
}

.hero-buttons {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 24px;
	flex-wrap: wrap;
}

.btn-hero-primary {
	position: relative;
	overflow: hidden;
	background: #fff;
	color: #1F3560;
	border-radius: 40px;
	padding: 18px 36px;
	font-weight: 700;
	/*font-size: 18px;*/
	z-index: 1;
	transition: color .3s ease;
}

.btn-hero-primary::before {
	content: "";
	position: absolute;
	inset: 0;
	background: #FF2116;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .35s ease;
	z-index: -1;
}

.btn-hero-primary:hover::before {
	transform: scaleX(1);
}

.btn-hero-primary:hover {
	color: #fff;
}

.btn-hero-secondary {
	position: relative;
	overflow: hidden;
	background: transparent;
	color: #fff;
	border: 2px solid #fff;
	border-radius: 40px;
	padding: 18px 36px;
	font-weight: 700;
	font-size: 18px;
	z-index: 1;
	transition: color .3s ease, border-color .3s ease;
}

.btn-hero-secondary::before {
	content: "";
	position: absolute;
	inset: 0;
	background: #FFBB00;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .35s ease;
	z-index: -1;
}

.btn-hero-secondary:hover::before {
	transform: scaleX(1);
}

.btn-hero-secondary:hover {
	color: #1F3560;
	border-color: #FFBB00;
}

/* landing page - pohotovost */
.pohotovost .container {
	position: relative;
	z-index: 2;
}

.row {
	align-items: stretch;
}

.pohotovost {
	position: relative;
	background-color: #FFBB00;
	color: white;
	padding: 25px 0;
}

.pohotovost::before {
	content: '';
	position: absolute;
	inset: 0;
	background-image:
	url('../img/bg-servis-pattern.svg'),
	url('../img/bg-servis-pattern.svg');
	background-size: 220px 220px, 220px 220px;
	background-repeat: repeat, repeat;
	background-position: 0 0, 110px 110px;
	opacity: .06;
	pointer-events: none;
}

.pohotovost h3, {
	font-weight: 700;
	font-size: 30px;
	line-height: 40px;
}

.pohotovost p {
	line-height: 1.8;
}

.pohotovost .btn-navy {
	width: auto;
}

.pohotovost .left-column {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 300px;
}

.right-column {
	display: flex;
}

.pohotovost .right-column img {
	width: 100%;
	height: 300px;
	object-fit: cover;
	object-position: center;
	border-radius: 30px;
}

/* lading page - kvalita */
.container-fluid.kvalita {
	position: relative;
	background-image: url(../img/uvod-kvalita.jpg);
	height: 250px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.container-fluid.kvalita::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,.25);
}

.kvalita .container, .kvalita-2 .container, .kvalita-3 .container, .youtube .container {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 100%;
}

.kvalita h3, .kvalita-2 h3, .kvalita-3 h3, .youtube h3 {
	color: white;
	text-transform: uppercase;
	font-weight: 700;
	font-size: 32px;
	line-height: 34px;
}

.kvalita .btn-hero-primary, .kvalita-2 .btn-hero-primary, .kvalita-3 .btn-hero-primary,
.youtube .btn-hero-primary {
	color: #1F3560;
	text-transform: uppercase;
}

.kvalita .btn-hero-primary::before, .kvalita-2 .btn-hero-primary::before,
.kvalita-3 .btn-hero-primary::before, .youtube .btn-hero-primary::before  {
	background: #FFBB00;
}

/* landing page - profil */
.profil h3 {
	color: #1F3560;
	text-transform: uppercase;
	font-weight: 700;
	font-size: 36px;
	line-height: 46px;
	margin-bottom: 30px;
}

.profil p {
	font-size: 18px;
	line-height: 30px;
	font-weight: 400px;
}

.border-navy {
	border: 1px solid #1F3560;
}

.profil .card {
	position: relative;
	overflow: hidden;
	border-radius: 20px;
	height: 380px;
	color: white;
	text-align: left;
	transition: transform .3s ease, box-shadow .3s ease;
}

.profil .card:hover {
	transform: translateY(-5px);
	box-shadow:
	0 10px 30px rgba(31,53,96,.20),
	0 20px 50px rgba(0,0,0,.20);
}

.profil .card img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	z-index: 1;
}

.profil .card::before {
	content: '';
	position: absolute;
	inset: 0;
	background:
	radial-gradient(
		circle at 15% 85%,
		rgba(255,187,0,.90) 0%,
		rgba(255,187,0,.55) 25%,
		rgba(255,187,0,.15) 45%,
		rgba(31,53,96,.20) 70%,
		rgba(31,53,96,.65) 100%
		);
	z-index: 2;
	mix-blend-mode: multiply;
	background-color: rgba(0,0,0,.5);
}

.profil .card-img-overlay {
	position: relative;
	z-index: 3;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 25px;
	height: 100%;
}

.profil .card-title {
	font-size: 24px;
	line-height: 28px;
	font-weight: 700;
	margin-bottom: 20px;
}

.profil .card-text {
	font-size: 18px;
	line-height: 22px;
	font-weight: 400;
}

.profil .card-link {
	font-size: 18px;
	line-height: 22px;
	font-weight: 700;
	color: #fff;
	text-decoration: none;
	margin-top: auto;
}

.profil .card-link i {
	display: inline-block;
	margin-left: 8px;
	transition: transform .3s ease;
}

.profil .card:hover .card-link i {
	transform: translateX(8px);
}

/* o nas - ims*/
.ims .ims-text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 0 120px;
	text-align: left;
}

.ims .ims-text h3 {
	margin-bottom: 40px;
	font-size: 36px;
	line-height: 50px;
	font-weight: 700;
}

.ims p {
	margin-bottom: 0 !important;
}
.ims img {
	border-radius: 30px 0 0 30px;
	height: 550px;
}

.ims ul {
	padding-left: 20px;
}

.ims ul li {
	list-style-type: disc;
}

/*landing page - kvalita 2*/
.container-fluid.kvalita-2 {
	position: relative;
	background-image: url(../img/uvod-kvalita-2.jpg);
	height: 250px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.container-fluid.kvalita-2::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,.25);
}

/* landing page - pilire */
.pilire {
	padding-left: 60px;
	padding-right: 60px;
}

.pilire h2 {
	text-align: center;
	font-size: 28px;
	/*line-height: 66px;*/
	color: #1F3560;
	font-weight: 700;
	padding: 20px 0;
}

.pilire .card {
	height: 100%;
	border-radius: 30px;
	padding: 20px;
	transition: transform .3s ease, box-shadow .3s ease;
}
.pilire .card:hover {
	transform: translateY(-5px);
	box-shadow:
	0 10px 30px rgba(31,53,96,.20),
	0 20px 50px rgba(0,0,0,.20);
}

.pilire .row {
	--bs-gutter-x: 30px;
}

.pilire .card-header, .ctyri-hodnoty .card-header {
	font-weight: 700;
	font-size: 24px;
	color: #1F3560;
	line-height: 28px;
	background-color: transparent;
	height: 150px;
	margin-bottom: 10px;
}

.pilire .card-text, .ctyri-hodnoty .card-text {
	font-weight: 400;
	font-size: 16px;
	line-height: 30px;
	color: #1F3560;
	/*height: 250px;*/
}

.pilire .card-footer {
	background-color: transparent;
	font-weight: bold;
	padding-top: 50px;
	height: 380px;
}

.pilire .card-footer ul {
	padding-bottom: 40px;
}

.btn-navy-yellow {
	position: relative;
	overflow: hidden;
	background: #1F3560;
	color: #fff;
	z-index: 1;
	transition: color .3s ease;
	border: none;
	border-radius: 999px;
	width: 100%;
	padding: 0.85rem 1.75rem;
}

.btn-navy-yellow::before {
	content: "";
	position: absolute;
	inset: 0;
	background: #FFBB00;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .35s ease;
	z-index: -1;
}

.btn-navy-yellow:hover::before {
	transform: scaleX(1);
}

.btn-navy-yellow:hover {
	color: #1F3560;
}

.benefits-list {
	list-style: none;
	padding: 0;
	margin: 0;
	height: 250px;
}

.benefits-list li {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 24px;
	font-size: 16px;
	line-height: 16px;
	font-weight: 700;
	color: #1F3560;
}

.benefits-list i {
	flex-shrink: 0;
	font-size: 1.6rem;
	color: #B8BFCE;
	margin-top: 3px;
}

.btn-white-yellow {
	position: relative;
	overflow: hidden;
	background: white;
	color: #1F3560;
	z-index: 1;
	transition: color .3s ease;
	border: none;
	border-radius: 999px;
	width: 100%;
	padding: 0.85rem 1.75rem;
}

.btn-white-yellow::before {
	content: "";
	position: absolute;
	inset: 0;
	background: #FFBB00;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .35s ease;
	z-index: -1;
}

.btn-white-yellow:hover::before {
	transform: scaleX(1);
}

.btn-white-yellow:hover {
	color: #1F3560;
}

.bg-navy {
	background-color: #1F3560;
}

.benefits-list.i-navy i {
	flex-shrink: 0;
	font-size: 1.6rem;
	color: white;
	background-color: #B8BFCE;
	margin-top: 3px;
	border-radius: 50%;
}

/* ctyri hodnoty*/
.ctyri-hodnoty {
	background: radial-gradient(
		circle at bottom left,
		#406DC6 0%,
		#1F3560 100%
		);
	padding: 60px 80px;
}

.ctyri-hodnoty h2 {
	margin-bottom: 40px;
	text-align: center;
}

.ctyri-hodnoty .card {
	text-align: center;
	padding: 20px;
	height: 490px;
	border-radius: 30px;
	transition: transform .3s ease, box-shadow .3s ease;
}

.ctyri-hodnoty .card:hover {
	transform: translateY(-5px);
	box-shadow:
	0 10px 30px rgba(31,53,96,.20),
	0 20px 50px rgba(0,0,0,.20);
}

.ctyri-hodnoty .card-header {
	border-bottom: none;
	height: 100px;
}

.ctyri-hodnoty .card-text {
	color: rgba(31, 53, 96, 0.5);
}

.text-navy-muted {
	color: rgba(31, 53, 96, 0.5);
}

/*landing page - kvalita 3*/
.container-fluid.kvalita-3 {
	position: relative;
	background-image: url(../img/uvod-kvalita-3.jpg);
	height: 250px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.container-fluid.kvalita-3::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,.25);
}

/* reference */
.reference-grey-bg, .dokumentace-grey-bg {
	background-color: #f5f5f5;
	padding: 30px 0px;
}
.reference-white-bg {
	background-color: #FFFFFF;
	padding: 30px 0px;
}
.reference h2 {
	font-size: 36px;
	line-height: 46px;
	font-weight: 700;
	color: #1F3560;
}

.reference ul {
	list-style-type: disc;
	list-style-position: outside;
	padding-bottom: 20px;
	padding-left: 1.5rem;
}

.reference li {
	font-size: 18px;
	line-height: 30px;
	font-weight: 400;
}

.reference img {
	width: 100%;
	object-fit: cover;
	object-position: center;
	border-radius: 20px;
	display: block;
}

.reference .col-lg-4 {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.reference .img-top-left,
.reference .img-bottom-left {
	height: 240px;
}

.reference .img-center {
	height: 500px;
}

.reference .img-top-right,
.reference .img-bottom-right {
	height: 240px;
}

/* reference youtube */
.container-fluid.youtube {
	position: relative;
	background-image: url(../img/reference-youtube.jpg);
	height: 250px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.container-fluid.youtube::before {
	content: "";
	position: absolute;
	inset: 0;
	/*background: rgba(0,0,0,.25);*/
}

.youtube img {
	height: 171px;
	object-fit: contain;
	mix-blend-mode: lighten;
}

/* certifikaty */
.certifikaty h3 {
	color: #1F3560;
	text-transform: uppercase;
	font-weight: 700;
	font-size: 30px;
	line-height: 40px;
	margin-bottom: 30px;
}

.certifikaty .card {
	position: relative;
	overflow: hidden;
	border-radius: 20px;
	height: 380px;
	color: #1F3560;
	text-align: center;
	transition: transform .3s ease, box-shadow .3s ease;
}

.certifikaty .card-body {
	display: grid;
	justify-items: center;
}

.certifikaty .card:hover {
	transform: translateY(-5px);
	box-shadow:
	0 10px 30px rgba(31,53,96,.20),
	0 20px 50px rgba(0,0,0,.20);
}

.certifikaty .card img {
	width: 74px;
	height: 91px;
	margin-bottom: 50px;
}

.certifikaty.dokumentace-grey-bg .card img {
	margin-bottom: 20px;
}

.certifikaty .card-text {
	font-size: 28px;
	line-height: 30px;
	font-weight: 700;
}

.certifikaty .card-text-inside {
	font-weight: normal;
	font-size: 24px;
	line-height: 22px;
}

.certifikaty.dokumentace-grey-bg .card-text-inside {
	font-size: 22px;
	line-height: 20px;
}

/* formular */
.formular {
	padding: 60px 100px;
}

.formular h3 {
	font-weight: 700;
	font-size: 36px;
	line-height: 50px;
	color: #1F3560;
	margin-bottom: 30px;
}

.formular .sidlo {
	font-weight: 700;
	font-size: 24px;
	line-height: 30px;
	color: rgba(31, 53, 96, 0.5);
}

.formular .text {
	font-weight: 400;
	font-size: 18px;
	line-height: 18px;
	color: rgba(31, 53, 96, 0.5);
}

.formular .text .bi {
	margin-right: 10px;
	color: grey;
}

.helgos-form {
	background: #FFBB00;
	padding: 40px;
	border-radius: 20px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.helgos-form .form-control,
.helgos-form .form-select {
	height: 50px;
	border: 0;
	border-radius: 50px;
	background: #fff;
	font-size: 16px;
	line-height: 18px;
	color: rgba(31, 53, 96, 0.5);
	font-weight: 400;
	box-shadow: none;
	padding-left: 30px;
	align-content: center;
	appearance: auto;
}

.helgos-form input::placeholder,
.helgos-form textarea::placeholder {
	color: rgba(31, 53, 96, 0.5);
}

.helgos-form textarea.form-control {
	height: 120px;
	border-radius: 20px;
	padding-top: 25px;
	resize: none;
	align-content: start;
}

.subject-row {
	height: 50px;
	display: flex;
	align-items: center;
	gap: 25px;
	background: #fff;
	color: rgba(31, 53, 96, 0.5);
	border-radius: 50px;
	padding: 0 30px;
}

.subject-row label {
	margin: 0;
	font-size: 16px;
	line-height: 18px;
	color: rgba(31, 53, 96, 0.5);
	font-weight: 400;
	flex-shrink: 0;
}

.subject-row select {
	border: 0;
	background: transparent;
	font-size: 16px;
	line-height: 18px;
	color: rgba(31, 53, 96, 0.5);
	font-weight: 400;
}

input[type="file"] {
	color: rgba(31, 53, 96, 0.5);
	padding-left: 30px;
}

input[type="file"]::file-selector-button {
	margin-right: 50px !important;
}

input[type="file"]::file-selector-button {
	background: #fff;
	color: rgba(31, 53, 96, 0.5);
	border: 0;
	padding: 12px 20px;
	margin-right: 20px;
	border-radius: 999px;
	font-family: inherit;
	font-size: 18px;
	cursor: pointer;
	transition: .3s;
}

input[type="file"]::file-selector-button:hover {
	background: #f5f5f5;
	color: #1F3560;
}

.btn-submit {
	position: relative;
	height: 50px !important;
	border: 0;
	border-radius: 30px;
	background: #1F3560;
	color: #fff;
	font-size: 16px;
	line-height: 18px;
	font-weight: 700;
	transition: .3s;
	border: 1px solid #1F3560;
}

.btn-submit::before {
	content: "";
	position: absolute;
	inset: 0;
	background: #fff;
	color: #1F3560;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .35s ease;
	z-index: -1;
	/*border: 3px solid white;*/
}

.btn-submit:hover {
	background: #29457e;
}

/* konakty adresar */
.adresar .container {
	padding: 100px 50px;
}

.adresar h3 {
	font-size: 36px;
	line-height: 50px;
	font-weight: 700;
}

.table-responsive {
	overflow-x: auto;
}

.helgos-table {
	width: 100%;
	border: 2px solid #1F3560;
	border-radius: 20px;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
}

.helgos-table thead th {
	font-size: 24px;
	line-height: 26px;
	font-weight: 700;
	color: #1F3560;
	padding: 30px 25px;
	border-bottom: 3px solid #E3E5E8;
}

.helgos-table tbody td {
	padding: 18px 25px;
	font-size: 18px;
	line-height: 30px;
	color: rgba(31, 53, 96, 0.5);
	vertical-align: middle;
}

.helgos-table tbody td:first-child {
	font-size: 24px;
	line-height: 26px;
	font-weight: 700;
	color: #1F3560;
}

.helgos-table i {
	margin-right: 10px;
}


/* footer */
.footer .container {
	height: 210px;
	display: flex;
	justify-content: space-between;
	align-items: end;
	padding-bottom: 35px;
}










/* resposive css */
/* mobile css max 991px */
@media only screen and (max-width: 991px) {
	.pb-50 {
		padding-bottom: 20px !important;
	}

	.pb-100 {
		padding-bottom: 50px !important;
	}

	.pt-50 {
		padding-top: 20px !important;
	}

	.pt-100 {
		padding-top: 50px !important;
	}

	.pt-150 {
		padding-top: 75px !important;
	}

	.mb-70 {
		margin-bottom: 30px !important;
	}

	.mb-100 {
		margin-bottom: 50px !important;
	}

	.mt-50 {
		margin-top: 20px !important;
	}

	.mt-100 {
		margin-top: 50px !important;
	}

	/* offcanvas */
	.offcanvas {
		transition: transform .1s cubic-bezier(.25,.46,.45,.94);
	}
	.offcanvas-backdrop.show {
		backdrop-filter: blur(5px);
		background: rgba(31,53,96,.2);
	}

	.offcanvas .nav-item {
		opacity: 0;
		transform: translateX(20px);
	}

	.offcanvas.show .nav-item {
		animation: menuItem .5s forwards;
	}

	.offcanvas.show .nav-item:nth-child(1) {
		animation-delay: .1s;
	}

	.offcanvas.show .nav-item:nth-child(2) {
		animation-delay: .2s;
	}

	.offcanvas.show .nav-item:nth-child(3) {
		animation-delay: .3s;
	}

	.offcanvas.show .nav-item:nth-child(4) {
		animation-delay: .4s;
	}

	.offcanvas.show .nav-item:nth-child(5) {
		animation-delay: .5s;
	}

	@keyframes menuItem {
		to {
			opacity: 1;
			transform: translateX(0);
		}
	}

	.offcanvas-logo {
		height: 55px;
	}

	.offcanvas-header::after {
		content:"";
		position:absolute;
		left:0;
		bottom:0;
		width:100%;
		height:5px;
		background:#FFBB00;
	}

	.offcanvas {
		background: linear-gradient(180deg, #ffffff 0%, #f6f8fc 100%);
	}

	.menu-arrow {
		width: 0;
		height: 0;
		margin: 0 auto;
		opacity: 1;
	}

	.menu-arrow-up {
		border-left: 18px solid transparent;
		border-right: 18px solid transparent;
		border-bottom: 14px solid #1F3560;
		animation: elevatorUp 2.0s ease-in-out infinite;
		margin-top: 10px;
		margin-bottom: 25px;
	}

	.menu-arrow-down {
		border-left: 18px solid transparent;
		border-right: 18px solid transparent;
		border-top: 14px solid #1F3560;
		animation: elevatorDown 2.0s ease-in-out infinite;
		margin-top: 25px;
	}

	@keyframes elevatorUp {
		0%,100% {
			transform: translateY(0);
		}
		50% {
			transform: translateY(-6px);
		}
	}

	@keyframes elevatorDown {
		0%,100% {
			transform: translateY(0);
		}
		50% {
			transform: translateY(6px);
		}
	}

	/* uvod landing page */
	.uvod-landing-page, .o-nas-landing-page {
		padding-top: 110px !important;
	}

	.hero-text-wrapper {
		padding: 0 20px;
	}

	.hero-title {
		font-size: 36px;
		line-height: 44px;
	}

	.hero-text {
		font-size: 14px;
		line-height: 24px;
	}
	.hero-buttons {
		flex-direction: column;
	}

	.btn-hero-primary,
	.btn-hero-secondary {
		width: 100%;
		/* max-width: 350px;*/
		/*border: none;*/
	}

	.bg-image {
		height: 100%;
	}

	.pohotovost h3, .pohotovost p {
		text-align: center;
	}

	.pohotovost p {
		line-height: 28px;
	}

	.pohotovost .btn-navy {
		width: 100%;
	}

	.novy-radek {
		display: block;
	}

	.pohotovost .left-column {
		height: 100%;
		margin-bottom: 20px;
	}

	.pohotovost .right-column img {
		height: 100%;
	}

	/* landing page - kvalita, kvalita-2, kvalita-3 */
	.kvalita .container {
		flex-direction: column;
		justify-content: space-around;
		text-align: center;
		margin-top: -20px;
	}
	.kvalita-2 .container, .kvalita-3 .container, .footer .container {
		flex-direction: column;
		justify-content: space-around;
		text-align: center;
	}

	.container-fluid.kvalita, .container-fluid.kvalita-2, .container-fluid.kvalita-3 {
		height: 330px;
	}

	.kvalita h3, .kvalita-2 h3, .kvalita-3 h3, .youtube h3 {
		font-size: 28px;
		line-height: 30px;
	}

	/* landing page - profil */
	.profil .card {
		text-align: center;
	}
	
	.o-nas-landing-page .bg-image {
	    padding-bottom: 45px;
	}

	/* pilire */
	.pilire {
		padding-left: 10px;
		padding-right: 10px;
	}

	.pilire .card {
		padding: 20px 10px;
	}

	.pilire .card-header, .pilire .card-body, .pilire .card-text, .pilire .benefits-list {
		height: auto !important;
		border-color: transparent !important;
	}

	.pilire .card-body {
		padding-top: 0px !important;
	}

	.pilire .card-text {
		color:var(--bs-secondary-color)!important;
	}

	.pilire .bg-navy .card-text {
		color: white !important;
	}

	.pilire .card-footer {
		height: auto;
		padding-top: 20px;
	}

	.pilire .card-footer ul {
		padding-bottom: 20px;
	}

	/* o nas ims*/
	.ims .ims-text {
		padding: 0 35px;
		text-align: center;
	}

	.ims .ims-text h3 {
		margin-bottom: 20px;
		font-size: 28px;
		line-height: 36px;
		font-weight: 700;
	}

	.ims p {
		margin-bottom: 20px !important;
	}
	.ims img {
		border-radius: 30px;
		height: 218px;
		margin-top: 20px;
	}

	.ims ul {
		list-style-position: inside;
		padding-left: 0px;
	}

	.ims {
		margin-bottom: 0px !important;
	}

	/* ctyri hodnoty */
	.ctyri-hodnoty {
		margin-top: 0px !important;
		padding: 40px 20px;
	}

	.ctyri-hodnoty h2 {
		font-weight: 700;
		font-size: 28px;
		line-height: 38px;
	}

	.ctyri-hodnoty .card {
		height: auto;
		padding: 10px !important;
	}

	.ctyri-hodnoty .card-header {
		height: auto;
	}

	/* reference */
	.reference .d-block .col-12 {
		display: flex;
		flex-direction: row;
		gap: 20px;
	}
	
	.reference .img-top-left,
	.reference .img-bottom-left {
		height: 183px;
	}

	.reference .img-center {
		margin-top: 20px;
		margin-bottom: 20px;
		height: 382px;
	}

	.reference .img-top-right,
	.reference .img-bottom-right {
		height: 183px;
	}
	
  .reference .img-top-left, 
  .reference .img-bottom-left, 
  .reference .img-top-right, 
  .reference .img-bottom-right {
    width: calc(50% - 10px);
    max-width: 100%;
  }

	.reference-grey-bg, .reference-white-bg {
		padding: 20px 10px;
	}

	.reference h2 {
		font-size: 28px;
		line-height: 38px;
		font-weight: 700;
	}

	.reference li {
		font-size: 16px;
		line-height: 28px;
		font-weight: 400;
	}

	/* youtube */
	.container-fluid.youtube {
		height: 390px;
	}

	.youtube .container {
		position: relative;
		flex-direction: column;
		justify-content: center;
		text-align: center;
		gap: 45px;
	}


	.youtube img {
		position: absolute;
		left: 50%;
		top: 48%;
		transform: translate(-50%, -50%);
		width: 380px;
		height: auto;
		z-index: 1;
	}

	.youtube h3,
	.youtube .btn-hero-primary {
		position: relative;
		z-index: 2;
	}

	.youtube h3 {
		font-size: 28px;
	}

	.youtube .btn-hero-primary {
		font-size: 18px;
		width: 360px;
	}

	/* certifikaty - portfolio */
	.certifikaty .card {
		height: auto;
	}

	.certifikaty h3 {
		margin-bottom: 0px;
	}

	.certifikaty .row.mt-50 {
		margin-top: 0px !important;
	}

	.certifikaty .card img {
		margin-bottom: 20px;
		width: 33px;
		height: 41px;
	}

	.certifikaty .card-text {
		font-size: 16px;
		line-height: 20px;
	}

	.certifikaty .card-text-inside, .certifikaty.dokumentace-grey-bg .card-text-inside {
		font-size: 16px;
		line-height: 20px;
	}

	.certifikaty.dokumentace-grey-bg h3 {
		font-size: 26px;
		line-height: 36px;
		margin-bottom: 0px;
	}

	.certifikaty.dokumentace-grey-bg .mt-50 {
		margin-top: 0 !important;
	}

	/* kontakty */
	.subject-row {
		height: 50px;
		flex-direction: row;
		align-items: flex-start;
		padding: 0px 25px;
		border-radius: 30px;
	}

	.subject-row select {
		width: 100%;
	}

	.formular {
		padding: 10px 10px;
	}

	.formular h3 {
		font-size: 28px;
		line-height: 30px;
		margin-bottom: 15px;
	}

	.formular .text-align-mobile {
		text-align: center;
	}

	.formular .sidlo {
		font-size: 20px;
		line-height: 34px;
	}

	.formular .text {
		font-size: 16px;
		margin-bottom: 25px;
	}

	.helgos-form {
		padding: 20px;
		gap: 25px;
	}

	.subject-row label {
		display: flex;
		/*margin-bottom: 15px;*/
		align-self: center;
		margin-top: 5px;
	}

	input[type="file"] {
		font-size: 0 !important;
	}

	input[type="file"]::file-selector-button {
		font-size: 18px !important;
	}

	.adresar-mobile {
		padding: 0 20px;
	}

	.adresar-mobile h3 {
		font-size: 28px;
		line-height: 30px;
		color: #1F3560;
		font-weight: 700;
		text-transform: uppercase;
		margin-bottom: 30px;
		text-align: center;
	}

	.adresar-mobile .contact-card {
		border: 1px solid #1F3560;
		border-radius: 20px;
		padding: 24px;
		margin-bottom: 20px;
	}

	.adresar-mobile .contact-card h4 {
		color: #1F3560;
		font-size: 28px;
		font-weight: 700;
		line-height: 38px;
		margin-bottom: 12px;
	}

	.adresar-mobile .contact-card .oddeleni {
		color: rgba(31, 53, 96, 0.5);
		font-size: 16px;
		line-height: 28px;
		margin-bottom: 16px;
	}

	.adresar-mobile .contact-card .telefon {
		color: rgba(31, 53, 96, 0.5);
		font-size: 16px;
		margin: 0;
		line-height: 28px;
	}

	.adresar-mobile .contact-card .telefon i {
		margin-right: 8px;
	}

	/* footer */
	.footer .container {
		padding: 30px 0px;
		align-items: center;
		height: 260px;
		justify-content: center;
	}

	.footer img {
		width: 50%;
		height: auto;
		padding-bottom: 20px;
	}



}