body {
	font-family: 'elza', sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 1em;
	line-height: 1.5;
	background: #fff;
	color: #000;
}

h1, h2, h3, h4, #nav dt, #box-4x1 dt, .tabs button {
	font-family: 'elza-narrow', sans-serif;
	font-weight: 700;
	font-style: normal;
	line-height: 1;
}
h4 {
	text-transform: uppercase;
	font-size: 1.125em;
}
a {
	color: inherit;
	text-decoration: none;
}
img {
	display: block;
	max-width: 100%;
}
p, ol, ul, li, dl, dt, dd {
	margin: 0;
	padding: 0;
}
button {
	background: none;
	color: inherit;
	border: none;
	padding: 0;
	font: inherit;
	cursor: pointer;
	outline: inherit;
	display: inline-block;
}
strong {
	font-family: 'elza', sans-serif;
	font-weight: 600;
	font-style: normal;
}
.menu li {
	font-family: 'elza-narrow', sans-serif;
	font-weight: 500;
	font-style: normal;
	list-style: none;
}

.btn {
	font-family: 'elza-narrow', sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	display: inline-block;
	background: #000;
	color: #fff;
	padding: 1rem 1.5rem;
	line-height: 1;
	border-radius: 9px;
	text-align: center;
}
.btn:hover {
	background: #3b7080;
}
.btn.inv {
	background: none;
	color: #000;
	border: 1px solid;
}
.btn.inv:hover {
	color: #3B7080;
}

.grid {
	box-sizing: border-box;
	padding-left: 1.5rem; 
	padding-right: 1.5rem;
	max-width: 75rem;
	margin: auto;
}

#head {
	position: absolute;
	z-index: 999;
	width: 100%;
	left: 0;
	right: 0;
	top: 40px;
}
#head .grid {
	position: relative;
	background: #fff;
	padding: 8px;
	display: flex;
	align-items: center;
	gap: 2.5rem;
	border-radius: 12px;
}
#head .btn {
	font-size: 1.125rem;
	font-weight: 500;
}
#logo {
	padding-left: 8px;
}
#menu {
	margin-left: auto;
	background: none;
	color: #000;
}
#menu::after {
	content: '';
	display: inline-block;
	border-right: 2px solid;
	border-bottom: 2px solid;
	width: 6px;
	height: 6px;
	transform: translateY(-50%) rotate(45deg);
	transform-origin: center;
	margin-left: 10px;
}
.menu #menu::after {
	transform: rotate(-135deg);
}

.menu #nav {
	display: flex;
}

#nav {
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	right: 0;
	background: #FCFAF1;
	border-radius: 12px;
	padding: 6rem 3rem 3rem;
	display: none;
}
#nav div {
	position: relative;
	display: flex;
	flex-direction: column;
	flex: 1;
	padding-left: 2rem;
	margin-left: 2rem;
}
#nav div:hover dt {
	color: #3b7080;
}
#nav div:hover .cta a::after,
#box-2x2 > article:hover .cta a::after {
	margin-left: 12px;
}
#nav div::after {
	content: '';
	position: absolute;
	height: 100%;
	left: 0;
	top: 0;
	bottom: 0;
	background: #f5d701;
	width: 1px;
}
#nav div:first-child {
	margin: 0;
	padding: 0;
}
#nav div:first-child::after {
	display: none;
}
#nav dt {
	font-size: 1.5rem;
	min-height: 4em;
}
#nav dt a::before,
#box-2x2 > article h3 a::before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
}
#nav dd {
	color: #414141;
}

.cta {
	color: #000;
	font-weight: 600;
	padding-top: 1.5rem;
	margin-top: auto;
	text-transform: uppercase;
	line-height: 1;
}
.cta a::after {
	content: '';
	display: inline-block;
	width: 16px;
	height: 15px;
	background: url(img/arrow.svg) no-repeat;
	margin-left: 6px;
	transition: .2s margin-left;
}

#form {
	padding-top: 16rem;
	margin: 1rem;
}
#form > .grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
}
#form form {
	background: #FCFAF1;
	padding: 2rem 3rem 3rem;
	border-radius: 9px;
}

#form .input {
	position: relative;
	margin-top: 1rem;
	line-height: 1;
}
#form .input label {
	position: absolute;
	padding: 1px;
	left: 1rem;
	top: 1.5rem;
	color: #808080;
	transform-origin: left top;
	transition: .2s transform;
	pointer-events: none;
}
#form .input :focus + label,
#form .input .fill + label {
	transform: translateY(-.75rem) scale(80%);
}

#form input, #form textarea {
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 1.75rem 1rem 1rem;
	color: #1d1d1b;
	border: 1px solid #1D1D1B;
	border-radius: 9px;
	font: inherit;
	line-height: 1.5;
}
#form textarea {
	margin-top: 3rem;
}

.g-recaptcha {
	margin-top: 2rem;
}

#hero {
	position: relative;
	overflow: hidden;
	margin: 1rem;
	background: #3b7080;
	padding-top: 16rem;
	border-radius: 12px;
	color: #fff;
}
#hero img {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 50%;
	height: 100%;
	width: 50%;
	object-fit: cover;
}
#hero .grid {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: flex-end;
}
#hero .lead, #form .lead {
	font-family: 'elza-narrow', sans-serif;
	font-weight: 700;
	font-size: 1rem;
	text-transform: uppercase;
	color: #F5D701;
	line-height: 2;
}
#form .lead {
	color: #3b7080;
}
#hero h1, #form h1 {
	font-size: 4rem;
	box-sizing: border-box;
	max-width: 50%;
	padding-right: 1em;
	padding-bottom: 1em;
	margin: 0;
}
#form h1 {
	max-width: none;
	padding-right: 0;
}
#form h1 + p {
	font-size: 1.5rem;
    color: #414141;
	max-width: 24em;
}
#hero h1::after {
	content: '';
	position: absolute;
	width: 125px;
	height: 125px;
	z-index: 999;
	right: 0;
	bottom: 4rem;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
.azbest h1::after {
	background-image: url(img/azbest2.svg);	
}
.diligence h1::after {
	background-image: url(img/diligence2.svg);	
}
.poradenstvi h1::after {
	background-image: url(img/poradenstvi2.svg);	
}
.bozp h1::after {
	background-image: url(img/bozp2.svg);	
}

#body {
	margin-top: 6rem;
}
#body .grid > .lead {
	font-size: 1.125rem;
	max-width: 50%;
	margin-bottom: 8rem;
}
.home #body .grid >  .lead {
	text-align: center;
	font-size: 1.5rem;
	margin: 4em auto;
	max-width: 36em;
}
#body .grid > .lead  p:first-child {
	font-size: 1.5rem;
	color: #414141;
}
#body .grid > .lead p + p {
	margin-top: 2em;
}
#body .grid > .lead .btn {
	border: 1px solid;
	color: #3b7080;
	background: none;
}
#body .grid > .lead .btn:hover {
	color: #000;
}
#body .grid > .lead a:not(.btn) {
	color: #3b7080;
}
#body .grid > .lead a:not(.btn):hover {
	color: #000;
}

#foot {
	margin: 1rem;
	background: #3b7080;
	border-radius: 12px;
	color: #fff;
}
#foot dl {
	font-size: 1.125rem;
	padding: 0 0 8vw;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 2rem;
	line-height: 2;
}
#foot dl > :first-child {
	grid-column: span 2;
}
#foot dt {
	font-weight: 600;
}
#foot dd a {
	text-decoration: underline;
}
#foot dd a:hover {
	text-decoration: none;
}

#banner {
	background: #f5d701 url('img/banner.svg') 120% center no-repeat;
	color: #000;
	padding: 4rem;
	border-radius: 9px;
	margin-top: 14rem;
	position: relative;
	top: -4rem;
}
#banner h2 {
	margin: 0 0 .5em;
	font-size: 4rem;
	max-width: 10em;
}
#banner p {
	margin: 1.5em 0 0;
	font-size: 1.125rem;
	color: #414141;
}

.txt-img {
	margin-top: 2rem;
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: 2rem;
	align-items: stretch;
}
.txt-img > * {
	border-radius: 9px;
}
.txt-img > div {
	padding: 2rem;
	border: 1px solid #808080;
	grid-column: span 5;
}
.txt-img img {
	grid-column: span 7;
}
.txt-img.left > div {
	order: 1;
}

.txt {
	color: #414141;
}
.txt p {
	font-size: 1.125rem;
	margin-top: 1em;
}
.txt :first-child {
	margin-top: 0;
}
.txt h3 {
	color: #000;
	font-size: 2.25rem;
	margin: 0;
	min-height: 2em;
}
.txt ul {
	margin: 1.5em 0 0;
}
.txt li {
	position: relative;
	list-style: none;
	padding-left: 1em;
	margin: 1em 0;
}
.txt li::before {
	position: absolute;
	left: 0;
	content: '\25CF';
	color: #f5d701;
}

.txt-box {
	margin-top: 2rem;
	display: flex;
	gap: 2rem;
}
.txt-box > .txt {
	flex: 1;
	background: #FCFAF1;
	border-radius: 9px;
	padding: 2rem;
}

#box-2x2 {
	margin: 4em 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
}
#box-2x2 > article {
	border: 1px solid #FCFAF1; 
	position: relative;
	padding: 2rem;
	background: #FCFAF1;
	border-radius: 9px;
}
#box-2x2 > article:hover {
	border: 1px solid #f5d701;
	box-shadow: 0 0 15px 0 #eee;
}
#box-2x2 h3 {
	font-size: 2.25rem;
	margin: 0;
	background: url(img/azbest.svg) right top no-repeat;
	padding-right: 20%;
	min-height: 2.75em;
}
#box-2x2 > article:nth-child(2) h3 {
	background-image: url(img/diligence.svg);
}
#box-2x2 > article:nth-child(3) h3 {
	background-image: url(img/poradenstvi.svg);
}
#box-2x2 > article:nth-child(4) h3 {
	background-image: url(img/bozp.svg);
}
#box-2x2 p {
	font-size: 1.125rem;
	color: #414141;
}

#box-4x1 {
	margin: 0 0 8rem;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 2rem;
}
#box-4x1 > div {
	position: relative;
	padding: 1rem;
	background: #f5d701;
	border-radius: 9px;
}
#box-4x1 dt {
	font-size: 1.875rem;
	background: url(img/identifikace.svg) right top no-repeat;
	padding-right: 25%;
	min-height: 2.75em;
}
#box-4x1 > div:nth-child(2) dt {
	background-image: url(img/odber.svg);
}
#box-4x1 > div:nth-child(3) dt {
	background-image: url(img/analyza.svg);
}
#box-4x1 > div:nth-child(4) dt {
	background-image: url(img/zprava.svg);
}
#box-4x1 dd {
	font-size: 90%;
	color: #414141;
}

#body .tabs {
	display: flex;
	margin: 2rem 0;
	gap: 2rem;
}
#body .tabs button {
	font-size: 1.875rem;
	display: inline-flex;
	cursor: pointer;
	border: none;
	outline: inherit;
	flex: 1;
	padding: 2rem;
	background: #3b7080;
	color: #fff;
	text-align: left;
	border-radius: 9px;
}
#body .tabs .active {
	background: #f5d701;
	color: #000;
}

#body .tab {
	position: relative;
	background: #FCFAF1;
	border-radius: 9px;
	padding: 2rem;
	display: none;
}
#body .tab.active {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 6rem;
}
#body .tab::after {
	content: '';
	width: 1px;
	position: absolute;
	top: 2rem;
	bottom: 2rem;
	background: #f5d701;
	left: 50%;
}
#body .tab .lead {
	color: #414141;
	font-size: 1.5rem;
}
#body .tab .txt p {
	font-size: 90%;
}
#body .tab h4 {
	color: #000;
}
