@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

html {
    font-size: 1rem;
    scroll-behavior: smooth;
}

*, *::before, *::after {
    box-sizing: border-box;
}


 BODY {
 	font-family: 'DM Sans', sans-serif;
	font-size: 1.0rem;
	font-style: normal;
	font-weight: normal;
	letter-spacing: normal;
	color: #000;
	background-color: rgba(255,255,255);
	max-width: 100%;
	/*
	background-image:url(/pict/bg.png);
	background-repeat:no-repeat;background-position:center bottom;
	-webkit-background-size: 100%;
   -moz-background-size: 100%;
   -o-background-size: 100%;
   background-size: 100%;
   background-attachment: fixed;*/
   line-height: 1.3;
	margin: 0 auto;
	padding: 0;	
	height: 100%;
	-webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}


@keyframes typing {
  from { width: 0 }
  to { width: 100% }
}

@keyframes blink-caret {
  from, to { border-color: transparent }
  50% { border-color: blue }
}

#myBtn {
    display: none; /* Hidden by default */
    position: fixed; /* Fixed/sticky position */
    bottom: 30px; /* Place the button at the bottom of the page */
    right: 30px; /* Place the button 30px from the right */
    z-index: 99; /* Make sure it does not overlap */
    border: none; /* Remove borders */
    outline: none; /* Remove outline */
    background: transparent; /* Set a background color */
    color: white; /* Text color */
    cursor: pointer; /* Add a mouse pointer on hover */
    padding: 5px; /* Some padding */
    border-radius: 10px; /* Rounded corners */
}

#myBtn:hover {
    opacity: 0.5; filter: alpha(opacity=50);
}

/* Dropdown menu*/
.dropbtn {
    font-size:1rem;
    background:transparent;
    color: rgba(28,49,69);
    padding: 10px 20px;
    margin:0 5px;
    border: none;
    cursor: pointer;
}

.dropbtn:hover {
    background-color: rgba(28,49,69);
    color:rgba(255,255,255);
}

.dropbtn:focus {
    background-color: rgba(28,49,69);;
    color:rgba(255,255,255);
    padding: 10px 20px;
}

.dropdown {
    position: relative;
    display: inline-block;
    margin:0 0 0 0;
    padding:0;
    background-color:transparent;
}

.dropdown-content {
    display: none;
	text-align:left;
    position: absolute;
    background-color: rgba(28,49,69);
    min-width: 250px;
    padding:0;
    margin:0 5px;
    overflow: auto;
    z-index: 1;
}

.dropdown-content a.submn {
    color: rgba(255,255,255);
    padding: 15px 20px;
    font-size:1rem;
    text-decoration: none;
    display: block;
    color:#fff;
}

.dropdown a.submn:hover {background-color: rgba(0,0,0,0.5);}

.show {display:block;}
/* koniec Dropdown menu*/

.trans{opacity: 1.0; filter: alpha(opacity=100);}
.trans:hover{opacity: 0.5; filter: alpha(opacity=50);}

SPAN.smalltext2 {font-size:0.7em;}
SPAN.smalltext3 {font-size:0.5em;}
DIV.errorpage {background-color:#fffdd1;border:1px solid #e3e3e3;color:#000;padding:15px;margin:15px 0;text-align:center;display:inline-table;}
DIV.headfull {position: relative; max-width: 1600px; height:90px; margin:0 auto;padding:0 200px;border:0;text-align:center;display: flex; flex-wrap: nowrap; align-items: center;   /* vertikálne centrovanie */ justify-content: space-between; /* logo vľavo */}
DIV.topnav {padding:0;margin:0;border:0;position:relative;font-size:1rem;z-index:999999;}

img.logo {padding:0;margin:0;border:0;height:30px;}

A.icon {display:none;}
a {color:#142a3e;text-decoration:none;}
a:hover {color:#142a3e;text-decoration:none;}
A.bluemenu { color: rgba(255,255,255); background-color:rgba(0,49,184); padding: 9px 19px; font-size:1rem; margin:0 5px; text-decoration: none; font-weight: normal; border:0;}
A.bluemenu:hover {background-color:rgba(0,49,184,0.5);color:rgba(255,255,255);opacity: 1; filter: alpha(opacity=100);}
A.menu { color: rgba(28,49,69); padding: 10px 20px; font-size:1rem; margin:0 5px; text-decoration: none; font-weight: normal; border:0;}
A.menu:hover {background-color:rgba(28,49,69);color:rgba(255,255,255);opacity: 1; filter: alpha(opacity=100);}


section.kontent { color: #000; padding: 0; max-width: 100%; margin: 0 auto; align-items: center;} 
DIV.kontntfull { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; padding: 0; max-width: 1200px; margin: 0 auto;border-width:0 0 0 0; } 

DIV.banner1 {width:100%;padding:0;margin:0;border:0;aspect-ratio:1/0.6;background-image:url(/pict/uvod.jpg);background-position:cetner center;background-size:cover;align-items: center;flex-wrap: wrap; justify-content: space-between;}
.banner1 H1 {font-size:4rem;color:rgba(255,255,255);text-align:center;margin:0;padding:17% 5% 1% 5%;}
.banner1 p {font-size:1rem;color:rgba(255,255,255);text-align:center;margin:0;padding:0 5% 2% 5%;}
DIV.banner-container {
    display: flex; /* Prvky budú vedľa seba */
    align-items: center; /* Vertikálne vycentrovanie */
    justify-content: space-between; /* Text vľavo, tlačidlo vpravo */
    background-color: #ffffff;
    max-width: 600px; /* Môžeš upraviť podľa potreby */
    margin: 20px auto;
    padding: 10px 10px 10px 20px; /* Padding: hore, vpravo, dole, vľavo */
    box-shadow: 0 4px 6px rgba(0,0,0,0.1); /* Jemný tieň pre hĺbku */
}
DIV.banner-text {   display: flex;  align-items: center;    color: #2e5171;    font-weight: 500;}
img.iconka {  width: 24px;  height: auto;   margin-right: 15px;}
.banner-button {
    background-color: #0031b8;
    color: #ffffff;
    text-decoration: none;
    padding: 15px 25px;
    font-weight: bold;
    transition: background-color 0.3s;
    border-radius: 4px;
    animation: pulse 2.2s ease-in-out infinite;
}

/* Jemná pulzujúca animácia */
@keyframes pulse {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05); /* jemné zväčšenie */
    }
    100% {
        transform: scale(1);
    }
}
.banner-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.banner-link:hover,
.banner-link:focus,
.banner-link:active {
    text-decoration: none;
    color: inherit;
    opacity: 1; /* zruší transparentný efekt */
}


a.naviarr {width: 30px;   height: 30px;   background-color: #0031b8;   color: #fff; display: flex; margin:0 0 0 0;   align-items: center;    justify-content: center;    font-size: 1.0rem;    transition: background-color 0.3s ease, transform 0.3s ease;}
a.listovanie {width: 30px;   height: 30px;   background-color: #0031b8;   color: #fff; margin:0 2px; padding:5px 10px;   align-items: center;    justify-content: center;    font-size: 1.0rem;    transition: background-color 0.3s ease, transform 0.3s ease;}
a.listovanie2 {width: 30px;   height: 30px;   background: rgba(0,49,184,0.1);   color: #0031b8; margin:0 2px; padding:5px 10px;   align-items: center;    justify-content: center;    font-size: 1.0rem;    transition: background-color 0.3s ease, transform 0.3s ease;}
td.listovanietd {border:0; margin:0;padding:3px;    align-items: center;    justify-content: center;}

DIV.odsadenefotogaleria {
    display: grid;
	grid-template-columns: repeat(4, 1fr); /* desktop */
    flex-wrap: wrap;
    gap: 10px;              /* medzery medzi obrázkami */
    justify-content: flex-start;
    padding: 10px 0 30px 0;
}

a.fotogaleria {
    display: inline-block;
    margin: 5px;
}

img.foto-thumb {
    aspect-ratio:4/3;
	height:165px;
    object-fit: cover;      /* oreže, aby boli jednotné */
    
    display: block;
}

table {width:100%;padding:30px;margin:0;border:0;}
td.nazov {padding:15px;margin:0;background:rgba(0,49,184,0.2);font-weight:bold;text-align:center;}
td.obsah {padding:15px;margin:0;background:rgba(0,49,184,0.1);text-align:center;}

section.blok2 { align-items: center; margin-bottom:30px;   padding: 15px 0;  width: 100%; }
.blok2 p {padding:15px;margin:15px;border:0;font-weight:bold;font-size:1.2em;background:rgba(0,49,184,0.1);cursor:hand;cursor:pointer;}
.blok2 div {padding:30px;margin:0 15px 15px 15px;border:0;font-weight:normal;background:rgba(0,49,184,0.02);}

section.blok1 { display: flex;  align-items: center;  gap: 30px;   padding: 30px 0 0 0;  width: 100%; }
img.titulka {  flex: 0 0 40%; width:100%; aspect-ratio:1/1;   object-fit: cover; margin:0; position:relative;}
DIV.textovyblok {flex: 0 0 60%; text-align: left; padding:30px;}
h1 { font-size: 2rem;    color: #001d3d;    margin:0 0 15px 0;    text-align: left;}
h1 span {   position: relative;    display: inline-block; z-index: 1;}
h1 span::after {    content: "";    position: absolute;    bottom: 7px;    left: 0;    width: 100%;    height: 6px;    background-color: rgba(0, 49, 184, 0.1);    z-index: -1;}


.kontakty {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    padding: 40px 0;
}

.kontakt {
    text-align: left;
    padding: 0;
    background: #ffffff;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.kontakt .foto {
    width: 100%;
    aspect-ratio: 0.8 / 1;
    object-fit: cover;
    margin-bottom: 5px;
}

.kontakt .mesto {
    font-size: 0.8rem;
    color: #142a3e;
    margin: 5px 15px 5px 15px;
}

.kontakt .meno {
    font-size: 1.2rem;
	font-weight: bold;
    margin: 0 15px 15px 15px;
	color:#142a3e;
}

.kontakt .email {
    display: block;
    color: #142a3e;
    margin: 0 15px 5px 15px;
    text-decoration: none;
}

.kontakt .email:hover {
    text-decoration: underline;
}

.kontakt .telefon {
    font-size: 1.0rem;
    margin: 0 15px 15px 15px;
}




.services-container { display: flex; /* Zoradenie vedľa seba */ width: 95%;  margin: -50px auto 0; }
.service-card { flex: 1; padding: 40px 30px;  color: white;   min-height: 250px; }
.light-blue { background-color: #5271c2; }
.medium-blue { background-color: #1e4bbd;}
.dark-blue { background-color: #0031b8;}
.service-icon { margin-bottom: 20px; width:30px; }
.service-card h3 { font-size: 1.2rem;  margin-bottom: 15px;   font-weight: bold; }
.service-card p {   font-size: 0.95rem;  line-height: 1.6;  opacity: 0.9; }
/* Odkaz v texte */
.service-card a {
    color: white;
    text-decoration: underline;
}


.services-list-section2 { padding: 50px 60px;  margin: 0 auto;    text-align: left; width:100%;background-color:rgba(241,243,250);background-image:url(/pict/homebg.jpg);background-position:right top;background-repeat:no-repeat;}




.about-container {  display: flex;    max-width: 80%;  margin: 60px auto 60px;   align-items: center; /* Vertikálne vycentrovanie */   gap: 50px; /* Medzera medzi obrázkom a textom */ }
.about-image {  flex: 1; }
.about-image img {   width: 100%;    height: auto;    display: block;   /* Ak chceš zachovať presný pomer strán ako na foto */  object-fit: cover; }
.about-content {    flex: 1;   color: #2e5171;}
.about-content h2 {    font-size: 2.5rem;     margin-bottom: 20px;    color: #001d3d;  font-weight: bold;}
.about-content p {    font-size: 1rem;    line-height: 1.7;   margin-bottom: 30px;    color: #4a6a8a;}
.contact-btn {   display: inline-block;    background-color: #0031b8;    color: white;    padding: 12px 30px;    text-decoration: none;    font-weight: bold;    transition: background-color 0.3s;}
.contact-btn:hover {    background-color: #00268a; color: white;text-decoration:none;}

.projects-section {
    padding: 60px 0;    width: 100%;    margin: 0 auto;
}

.projects-grid {  display: grid;  grid-template-columns: repeat(3, 1fr);   gap: 33px;}
.projects-grid a {text-decoration:none;}
.project-item {    background: #fff;    overflow: hidden;    box-shadow: 0 4px 15px rgba(0,0,0,0.00);    transition: transform 0.3s ease, box-shadow 0.3s ease;position: relative;}
.project-item:hover {    transform: translateY(-5px);    box-shadow: 0 8px 20px rgba(0,0,0,0.12);text-decoration:none;}
.project-item img {    width: 100%;    aspect-ratio:4/3;    object-fit: cover;}
.project-info {    padding: 20px 20px 70px 20px; }
.project-location {    font-size: 0.9rem;    color: #0031b8;    font-weight: bold;    display: block;}
.project-type {    font-size: 0.9rem;    color: #666;    display: block;    margin-bottom: 10px;}
.project-info h3 {    font-size: 1.1rem;    color: #001d3d;    margin-bottom: 10px;}
.project-info p {    font-size: 0.95rem;    color: #4a6a8a;    line-height: 1.5;}
.project-arrow { position: absolute;    left: 20px;   bottom: 20px;   width: 42px;   height: 42px;   background-color: #0031b8;   color: #fff; display: flex;   align-items: center;    justify-content: center;    font-size: 1.4rem;    transition: background-color 0.3s ease, transform 0.3s ease;}


.partners-slider {
    width: 100%;
    overflow: hidden;
    padding: 0;
    background: transparent;
}

.partners-track {
    display: flex;
    align-items: center;
    gap: 60px;
    /* žiadna animation tu */
}

.partners-track img {
    height: 60px;
    width: auto;
    object-fit: contain;
    opacity: 0.9;
    transition: opacity 0.3s;
}

.partners-track img:hover {
    opacity: 1;
}


.services-list-section { padding: 50px 20px;  margin: 0 auto;    text-align: center; width:100%;}
.services-header p {    color: #666;   max-width: 700px;    margin: 0 auto 50px auto;   line-height: 1.6;}
.services-grid {    display: grid;   grid-template-columns: repeat(3, 1fr); /* 3 rovnaké stĺpce */    text-align: left;}
.service-item {
    display: flex; /* Zostáva flex, aby šípka a text boli v riadku */    align-items: center;    padding: 20px 10px;    border-bottom: 1px solid #e0e0e0;    color: #2e5171; /* Pôvodná farba textu */    font-weight: bold;    text-decoration: none; /* ODSTRÁNI podčiarknutie odkazu */    transition: all 0.3s ease; /* Plynulý prechod farby a posunu */    cursor: pointer;}
/* Efekt pri prejdení myšou (Hover) */
.service-item:hover {    color: #0031b8; /* Zmena farby textu na modrú */    padding-left: 15px; /* Jemný posun doprava pre interaktivitu */}
.arrow {    color: #0031b8;    font-size: 1.5rem;    margin-right: 15px;    font-weight: normal;}


.promo-wide { width: 100%;  padding: 60px 0; background-color: #f1f3fa;}
.promo-wide-container {  width: 100%;  margin: 0 auto;    display: flex;    align-items: stretch;    justify-content: space-between;    gap: 0;}
/* ĽAVÁ MODRÁ ČASŤ */
.promo-wide-text {  background-color: #0031b8; color: #fff; margin:60px -60px 60px 60px;    padding: 50px;    flex: 0.7;    display: flex;    flex-direction: column;    justify-content: left;z-index:5;}
.promo-wide-text p {    font-size: 1.1rem;   margin-bottom: 30px;     opacity: 0.9;}
.promo-btn {  display: inline-block;   background-color: #fff;    color: #0031b8;    padding: 15px 25px;    font-weight: bold;    text-decoration: none;    transition: 0.3s;	align-self: flex-start;}
.promo-btn:hover {    background-color: rgba(255,255,255,0.85);}
/* PRAVÁ FOTKA */
.promo-wide-image {    flex: 1;}
.promo-wide-image img {    width: 100%;    height: 100%;    object-fit: cover;}


section.promo-banner { background-color: rgba(10,21,31); color: #fff; padding: 20px 0; max-width: 100%; margin: 0 auto; align-items: center;} 
DIV.bottom1 { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; padding: 0; max-width: 1200px; margin: 0 auto;border-width:0 0 1px 0;border-color:rgba(20,31,40);border-style:solid; } 
DIV.promo-left {width:50%;padding:30px 0;margin:0;border:0;display:inline;}
.promo-left h2 { font-family: 'Inter', sans-serif; font-size: 2.5rem; margin: 0; font-weight:normal; color:#fff; text-align:left; } 
.promo-left p { font-size: 1.0rem; color:rgba(145,151,156); margin: 20px 0; } 
.promo-button { display: inline-block; background-color: rgba(255,255,255); color: rgba(10,21,31); padding: 20px; font-weight: normal; text-decoration: none; margin:0; } 
.promo-button:hover { background-color: rgba(255,255,255,0.8); } 
DIV.promo-right {width:40%;padding:30px 0;margin:0;border:0;display:inline;background-color:rgba(20,31,40);}
.price-box { width:50%;  padding: 30px; font-size: 3rem;  margin: 0; border-width:0 1px 0 0; border-color:#2f3a41; border-style:solid; display:inline-block;} 
.price-box .price { width:100%; text-align:center;color: rgba(255,255,255);font-size: 5rem; font-weight: normal;padding:0;margin:0; } 
.price sup {font-size:1.5rem;margin:0 0 0 0;padding:0;}
.price-box .note { width:100%; font-size: 0.8rem; font-weight: normal; color: rgba(255,255,255); text-align:center;} 
.benefits { list-style: none; padding: 0; margin: 0 30px; font-size: 1rem; display:inline-block;} 
.benefits li { margin-bottom: 8px; }


section.promo-banner2 { background-color: rgba(10,21,31); color: #fff; padding: 20px 0; max-width: 100%; margin: 0 auto; } 
DIV.bottom2 { display: flex; flex-wrap: wrap; align-items: flex-start; padding: 0; max-width: 1200px; margin: 0 auto;border-width:0 0 1px 0;border-color:rgba(20,31,40);border-style:solid; } 
DIV.bottom3 { display: flex; flex-wrap: wrap; align-items: flex-start; padding: 0; max-width: 1200px; margin: 0 auto;border-width:0 0 0 0;border-color:rgba(20,31,40);border-style:solid; } 
DIV.bottom1_set {flex: 0 0 25%;padding:0;margin:0 0 30px;border:0;}
DIV.bottom1_set2 {flex: 0 0 50%;padding:0;margin:30px 0 30px 0;border:0;}
DIV.bottom1_set3 {flex: 0 0 50%;padding:0;margin:30px 0 30px 0;border:0;text-align:right;color:#989da1;}
.bottom1_set h3 {font-size: 1rem;padding:5px 0;margin:0;border:0;}
.bottom1_set a {font-size: 1rem;color:rgba(255,255,255);padding:5px  0;margin:0;border:0;text-decoration:none;display:block;}
.bottom1_set a:hover {color:rgba(255,255,255,0.8);}
.bottom1_set2 a {font-size: 1rem;color:rgba(255,255,255);padding:0  15px 0 0;margin:0;border:0;text-decoration:none;}
.bottom1_set2 a:hover {color:rgba(255,255,255,0.8);}
.bottom1_set3 div {padding:5px 10px 5px 35px;margin:0 0 0 15px;background-color:rgba(20,31,40);background-position:10px center;background-repeat:no-repeat;display:inline;color:#989da1;}


.contact-section {  width: 100%; padding: 80px 20px;   background-color: #f1f3fa;}
.contact-container {   width: 100%;    margin: 0 auto;    display: flex;    gap: 60px;}
/* ĽAVÁ STRANA */
.contact-left {    flex: 0.8;	padding:0 60px 30px 60px;}
.contact-left h2 {    font-size: 2.2rem;    color: #001d3d;    margin-bottom: 20px; text-align:left;}
.contact-left p {    color: #4a6a8a;    line-height: 1.6;    margin-bottom: 20px;}
.contact-info p {    font-size: 1rem;    color: #001d3d;    margin-bottom: 0;}
/* PRAVÁ STRANA – FORMULÁR */
.contact-right {    flex: 1.2;    background: #fff;    padding: 40px;    box-shadow: 0 4px 15px rgba(0,0,0,0.08);}
form { width: 100%;}
.form-row {    display: flex;    gap: 20px;    margin-bottom: 20px;}
.form-group {    flex: 1;    display: flex;   flex-direction: column;}
.form-group label { font-size: 0.95rem;  color: #001d3d;    margin-bottom: 6px;}
.form-group input,
.form-group select,
.form-group textarea {  padding: 12px;   border: 1px solid #d0d6e0;   font-size: 1rem;   color: #2e5171;   background-color: #f8f9fc;}
.form-group input:focus,
.form-group textarea:focus {  border-color: #0031b8;    outline: none;}
/* GDPR CHECKBOX */
.form-checkbox {    display: flex;    align-items: flex-start;    gap: 10px;    margin: 20px 0;}
.form-checkbox input {    margin-top: 4px;}
.form-checkbox label {  font-size: 0.9rem;   color: #001d3d;}
.form-checkbox label span {  color: #4a6a8a;  font-size: 0.85rem;}
.form-checkbox  a {  text-decoration: underline;}
/* TLAČIDLO */
.contact-submit { background-color: #0031b8;    color: #fff;    padding: 14px 30px;    border: none;    font-size: 1rem;    font-weight: bold;    cursor: pointer;    transition: 0.3s;}
.contact-submit:hover {    background-color: #00268a;}



h2 { font-size: 1.5rem;    color: #001d3d;    margin-bottom: 15px;    text-align: center;}
h2 span {   position: relative;    display: inline-block; z-index: 1;}
h2 span::after {    content: "";    position: absolute;    bottom: 7px;    left: 0;    width: 100%;    height: 6px;    background-color: rgba(0, 49, 184, 0.1);    z-index: -1;}
.h2-large {    font-size: 2.5rem; text-align:left;}
.h2-whitetext {   font-size: 2.2rem;    line-height: 1.3;    text-align: left;    color: #fff;}
/* Podčiarknutie pre span v bielom nadpise */
.h2-whitetext span {    position: relative;    display: inline-block;    z-index: 1;}
.h2-whitetext span::after {    content: "";    position: absolute;    bottom: 0.2em;    left: 0;    width: 100%;    height: 0.15em;    background-color: rgba(255, 255, 255, 0.25); /* svetlé biele podfarbenie */    z-index: -1;}


/* základ */
.dropdown-content {
    display: none;
}

/* JS klik */
.dropdown-content.show {
    display: block;
}

/* Desktop hover */
@media (min-width: 900px) {
    .dropdown:hover .dropdown-content {
        display: block;
    }
}



/* Responzivita */
@media screen and (max-width: 1400px) {

    .topnav {  display: none;  }
    A.icon { font-size: 1.0rem; display:flex; background-color: #1c3145;  color: #fff; padding: 10px 15px; border: 1px solid #fff; text-decoration: none; cursor: pointer; }
    .topnav.responsive {box-shadow: 0 0 15px rgba(0,0,0,0.2); /* Jemný tieň pre hĺbku */background-color:#1c3145; display:block; position: absolute;z-index:2000;margin:0; top:70px; width:33%;right:0;box-sizing: border-box;border-width:0 0 0 0;border-color:#fff;border-style:solid;}
    .topnav.responsive a,
    .topnav.responsive button { display: block; width: 100%;  text-align: left;  padding: 15px; border-bottom: 1px solid #eee; background: #fff; color: #153e5a; }
    .dropdown { width: 100%;display: block; }
    .dropdown-content { display: none;       position: relative;        width: 100%;        background-color: #fff;     padding: 0;        margin: 0;        border-top: 1px solid #eee;    }
    .dropdown-content.show {  display: block;  }
    .dropdown-content a.submn {   padding: 12px 25px;      font-size: 0.95rem;        color: #153e5a;        background: #fff;        border-bottom: 1px solid #f1f1f1;    }
    .dropdown-content a.submn:hover {        background-color: #f1f1f1;    }
	
    DIV.headfull {        display: flex;        justify-content: space-between; /* logo vľavo, ostatné vpravo */        align-items: center;       padding: 0 20px;        height: 90px;    }
    img.logo {        margin-left: 0;        height: 30px;    }
	.banner1 H1 {font-size:3.5rem;padding:14% 5% 1% 5%;}
	
}




@media (max-width: 1200px) {
    .topnav.responsive { width:50%;}
	.projects-grid {        grid-template-columns: repeat(3, 1fr);    }
	.services-grid {        grid-template-columns: repeat(2, 1fr); /* 2 stĺpce pre tablety */    }
	.promo-wide-container {        flex-direction: column;    }
    .promo-wide-image img {        height: 300px;    }
	.contact-container {        flex-direction: column;    }
    .form-row {        flex-direction: column;    }
	.obsahtext {        width: 100%;        order: 2;    }
    img.titulka {        width: 100%;        height: auto;        max-width: 400px;        margin: 0 auto 20px auto;        order: 1;    }
    .blok1 {        justify-content: center;        text-align: center;    }
    .kontakty {        grid-template-columns: repeat(2, 1fr);    }
	.services-container { flex-wrap: wrap;  justify-content: center;    gap: 20px;  }
    .service-card {        flex: 0 0 calc(50% - 20px);        min-height: auto;    }
	.bottom1 {        flex-direction: column;        text-align: center;        padding: 40px 20px;		max-width:90%;    }
    DIV.promo-left {        width: 100%;        padding: 20px 0;        text-align: center;    }
    DIV.promo-right {        width: 90%;        padding: 20px 0;        text-align: center;		margin-bottom:30px;		    }
    .promo-left h2 {        text-align: center;        font-size: 2rem;   }
    .promo-button {        margin: 0 auto;        display: inline-block;    }
    .price-box {        width: 100%;        border-right: none;        border-bottom: 1px solid #2f3a41;        margin-bottom: 20px;    }
    .benefits {        margin: 20px auto 0 auto;        text-align: left;        display: inline-block;    }
	DIV.bottom1_set {flex: 0 0 50%;padding:60px;margin:0;border:0;}
	DIV.bottom3 { padding:60px;} 
	.promo-wide-container {        flex-direction: column;        align-items: center;        text-align: center;        gap: 40px;    }
    .promo-wide-text {        margin: 0; /* odstránenie -60px marginov */        width: 100%;        padding: 40px 30px;        text-align: center;    }
    .promo-wide-text h2 {        text-align: center;        font-size: 2rem;        line-height: 1.3;    }
    .promo-btn {        align-self: center; /* tlačidlo do stredu */    }
    .promo-wide-image {        width: 100%;        height: auto;    }
    .promo-wide-image img {        height: 350px;        object-fit: cover;    }
	.services-list-section2 {        padding: 40px 30px;        background-position: center top;        text-align: center;    }
    .services-list-section2 h2.h2-large {        font-size: 2rem;        text-align: center;    }
    .services-list-section2 p {        text-align: center;    }
    .services-list-section2 .contact-btn {        margin: 0 auto;        display: }
	projects-grid {        grid-template-columns: repeat(2, 1fr);        gap: 25px;    }
	.services-list-section {        padding: 40px 20px;        text-align: center;    }
    .services-header p {        margin-bottom: 30px;        font-size: 0.95rem;    }
    .partners-track img {        height: 50px;        gap: 40px;    }
	section.blok1 {        flex-direction: column;        text-align: center;        padding: 20px 0;    }
    img.titulka {        flex: none;        width: 100%;        max-width: 400px;        margin: 0 auto 20px auto;        aspect-ratio: 1/1;    }
    DIV.textovyblok {        flex: none;        width: 100%;        padding: 20px;        text-align: center;    }
    h1 {        text-align: center;        font-size: 1.8rem;    }
	.odsadenefotogaleria {   justify-content: center;        gap: 15px;    }

    a.fotogaleria {        display: flex;        justify-content: center;        width: 100%;        margin: 0;    }

    img.foto-thumb {
        width: 100%;
        max-width: 500px;
        height: auto;
        aspect-ratio: 4/3;
        object-fit: cover;
    } 
}

@media (max-width: 850px) {
    .projects-grid {        grid-template-columns: repeat(2, 1fr);    }
	.about-container {        flex-direction: column;         text-align: center;    }
    .about-content h2 {        font-size: 2rem;    }
    .kontakty {        grid-template-columns: 1fr;    }
	DIV.banner1 {aspect-ratio:1/0.8;}
	.banner1 H1 {font-size:3.0rem;padding:10% 5% 1% 5%;}
	DIV.banner-container {  max-width: 90%; 	}
	.services-container { display: flex; /* Zoradenie vedľa seba */ width: 95%;  margin: 30px auto 0; }
	.service-card {        flex: 0 0 100%;        padding: 30px 20px;        text-align: center;    }
    .service-icon {        margin: 0 auto 20px auto;        display: block;    }
	DIV.bottom1_set {flex: 0 0 100%;padding:60px;text-align:center;}
	DIV.bottom1_set2 {flex: 0 0 100%;text-align:center;}
	DIV.bottom1_set3 {flex: 0 0 100%;text-align:center;}
	.promo-wide-text {        padding: 30px 20px;    }
    .promo-wide-text h2 {        font-size: 1.7rem;    }
    .promo-wide-text p {        font-size: 0.95rem;        margin-bottom: 20px;    }
    .promo-btn {        padding: 12px 20px;        font-size: 0.95rem;    }
    .promo-wide-image img {        height: 250px;    }
	.projects-grid {        grid-template-columns: 1fr;        gap: 20px;    }
    .project-info {        padding: 15px 15px 60px 15px;    }
    .project-arrow {        width: 36px;        height: 36px;        font-size: 1.2rem;    }
	.services-header h2 {        font-size: 1.8rem;    }
    .services-header p {        font-size: 0.9rem;        line-height: 1.4;    }
    .partners-track img {        height: 40px;        gap: 30px;    }
	.partners-track {        animation-duration: 18s;    }
	section.blok1 {        padding: 10px 0;    }
    img.titulka {        max-width: 100%;        height: auto;        aspect-ratio: 1/1;    }
    DIV.textovyblok {        padding: 15px;    }
    h1 {        font-size: 1.5rem;        line-height: 1.3;    }
    DIV.textovyblok p {        font-size: 0.95rem;        line-height: 1.5;    }
	DIV.odsadenefotogaleria {
		grid-template-columns: repeat(2, 1fr);
        justify-content: center;
        padding: 10px 10px 20px 10px;
    }

    a.fotogaleria {
        width: 100%;
        display: flex;
        justify-content: center;
        margin: 0;
    }

    img.foto-thumb {
        height: auto;
        aspect-ratio: 4/3;
        object-fit: cover;
    }
}

@media (max-width: 550px) {
	.topnav.responsive { width:80%;}
    .projects-grid {  grid-template-columns: 1fr; }
	.services-grid {  grid-template-columns: 1fr; /* 1 stĺpec pre mobily */   }
	DIV.banner1 {aspect-ratio:1/1;}
	.banner1 H1 {font-size:2.0rem;padding:10% 5% 1% 5%;}
	.services-list-section2 {        padding: 30px 20px;    }
    .services-list-section2 h2.h2-large {        font-size: 1.7rem;        line-height: 1.3;    }
}


















