* {
   box-sizing: border-box;
}
main {
   overflow: hidden;
}
a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {
   margin: 0;
   padding: 0;
   border: 0;
   font: inherit;
   vertical-align: baseline;
}
h2 {
   padding: 0;
   border: 0;
   font: inherit;
   vertical-align: baseline;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
   display: block;
}
main {
   overflow-x: hidden;
}
body {
   overflow-x: hidden;
   font-family: var(--text);
   line-height: 1.6;
   color: var(--dark);
   background-color: var(--light);
}
.footer-links ul, ol, ul {
   list-style: none;
}
blockquote, q {
   quotes: none;
}
blockquote:after, blockquote:before, q:after, q:before {
   content: none;
}
table {
   border-collapse: collapse;
   border-spacing: 0;
}
@font-face {
   font-family: "regular";
   src: url(../fonts/ProximaNova-Regular.otf);
}
@font-face {
   font-family: "bold";
   src: url(../fonts/Proxima.otf);
}
:root {
   --primary: #DAA06D;
   --primary-dark: #DAA06D;
   --secondary: #ffcc00;
   --dark: #0f1011;
   --light: #f8f9fa;
   --gray: #5f6368;
   --light-gray: #e8eaed;
   --light: #ffffff;
   --shadow: rgba(0, 0, 0, 0.1);
   --heading: "bold";
   --sub_heading: "regular";
   --text: "regular";
}
#header, .nav_bar {
   display: flex;
   align-items: center;
}
#header {
   flex-direction: column;
   border-bottom-left-radius: 50px;
   border-bottom-right-radius: 50px;
}
.nav_bar {
   width: 100%;
   height: 12.5vh;
   padding: 0 15%;
   justify-content: space-between;
   position: fixed;
   top: 0;
   left: 0;
   z-index: 6;
   background-color: transparent;
   transition: all 0.5s ease;
}
.logo {
   width: 25%;
   position: relative;
   z-index: 1005;
   max-width: 320px;
   display: flex;
   justify-content: center;
   align-items: center;
}
.logo a{
   display: flex;
   justify-content: center;
   align-items: center;
}
#header, .logo img, .nav_list a:hover::after {
   width: 100%;
}
.nav_list {
   width: 50%;
   height: 100%;
   display: flex;
   justify-content: space-between;
   align-items: center;
   list-style-type: none;
}
.footer-col h3, .nav_list li {
   position: relative;
}
.nav_list a, a {
   text-decoration: none;
}
.nav_list a {
   font: 1.2rem var(--sub_heading);
   color: var(--light);
   position: relative;
   padding-bottom: 5px;
}
.footer-col h3:after, .nav_list a::after {
   content: "";
   position: absolute;
   bottom: 0;
   left: 0;
}
.nav_list a::after {
   width: 0;
   height: 2px;
   background-color: var(--primary);
   transition: width 0.3s ease;
}
.nav_list a:hover::after {
   width: 100%;
}
.landing_page {
   width: 100%;
   display: flex;
   justify-content: center;
}
.burger_menu {
   display: none;
}
.menu-btn {
   background: none;
   border: none;
   cursor: pointer;
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   height: 24px;
   width: 30px;
   padding: 0;
   z-index: 1001;
}
.menu-btn span {
   display: block;
   width: 100%;
   height: 3px;
   background-color: var(--light);
   border-radius: 3px;
   transition: all 0.3s ease;
}
.menu-btn.active span:nth-child(1) {
   transform: translateY(10px) rotate(45deg) translateX(.5px);
}
.menu-btn.active span:nth-child(2) {
   opacity: 0;
}
.menu-btn.active span:nth-child(3) {
   transform: translateY(-10px) rotate(-45deg) translateX(.5px);
}
.menu__box {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: auto;
   background-color: var(--dark);
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   transform: translateY(-100%);
   transition: transform 0.5s ease-in-out;
   z-index: 1000;
   list-style: none;
   overflow-y: auto;
   padding-top: 80px;
}
.menu__box.active {
   transform: translateY(0);
}
.menu__box li {
   width: 100%;
   margin: 15px 0;
}
.menu__box a {
   color: var(--light) !important;
   font: 1rem var(--sub_heading);
   padding: 1% 3%;
   width: 100%;
   text-align: center;
   display: block;
   transition: all 0.3s ease;
   text-decoration: none;
}
.menu__box a:hover {
   background-color: rgba(218, 160, 109, 0.2);
   color: var(--primary) !important;
}
@media screen and (max-width: 1264px) {
   .nav_bar {
      padding: 0 5%;
   }
   .nav_list {
      display: none;
   }
   .logo {
      width: 50%;
      max-width: 200px;
   }
   .burger_menu {
      display: block;
      width: auto;
   }
   .hamburger-menu {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 40px;
      height: 100%;
   }
}
@media screen and (max-width: 1024px) and (min-width: 769px) {
   .nav_bar {
      padding: 0 8%;
   }
   .logo {
      width: 30%;
      max-width: 250px;
   }
   .nav_list a {
      font-size: 1.1rem;
      padding: 0 10px;
   }
   .section {
      padding: 6% 8%;
   }
}
@media screen and (max-width: 480px) {
   .nav_bar {
      height: 70px;
   }
   .logo {
      width: 60%;
      max-width: 180px;
   }
   .logo img {
      max-height: 40px;
      width: auto;
   }
   .menu-btn {
      height: 20px;
      width: 25px;
   }
   .menu-btn span {
      width: 100%;
      height: 2.5px;
   }
   .menu-btn.active span:nth-child(1) {
      transform: translateY(8.5px) rotate(45deg) translateX(.5px);
   }
   .menu-btn.active span:nth-child(3) {
      transform: translateY(-8.5px) rotate(-45deg) translateX(.5px);
   }
}
p.text {
   width: 70%;
   font: 1.1rem var(--sub_heading);
   text-align: center;
   line-height: 2;
   color: #4d4d4d;
}
em.sub {
   font: 700 1.2rem var(--sub_heading);
   color: var(--primary);
}
a {
   color: inherit;
}
.btn, footer {
   color: var(--light);
}
.btn {
   display: inline-block;
   background-color: var(--primary);
   padding: 12px 30px;
   border-radius: 50px;
   font-weight: 600;
   transition: all 0.3s ease;
   border: 2px solid var(--primary);
   cursor: pointer;
}
.btn-outline, .btn:hover {
   background-color: transparent;
   color: var(--primary);
}
.btn:hover {
   transform: translateY(-3px);
   box-shadow: 0 10px 20px rgba(26, 115, 232, 0.2);
}
.btn-outline {
   border: 2px solid var(--primary);
}
.btn-outline:hover {
   background-color: var(--primary);
   color: var(--light);
}
.section {
   padding: 5% 15%;
}
@media screen and (max-width: 1024px) {
   .section {
      padding: 6% 8%;
   }
   p.text {
      width: 85%;
   }
}
@media screen and (max-width: 768px) {
   .section {
      padding: 8% 5%;
   }
}
.section-title {
   text-align: center;
   margin-bottom: 50px;
}
.sub {
   display: block;
   font: 700 1.2rem var(--text);
   color: var(--primary);
   margin-bottom: 10px;
   text-transform: uppercase;
   letter-spacing: 2px;
}
h2 {
   font: 700 3rem var(--heading);
   margin: 0 0 20px;
}
@media screen and (max-width: 1024px) {
   h2 {
      font-size: 2.5rem;
   }
}
.container {
   width: 100%;
}

footer .container {
   width: 70%;
   padding: 2.5% 0;
}

footer {
   background: var(--dark);
   display: flex;
   justify-content: center;
}

.footer-content {
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
   gap: 40px;
}

.footer-col {
   flex: 1;
   min-width: 250px;
}

.footer-col h3 {
   font-size: 1.5rem;
   margin-bottom: 20px;
   padding-bottom: 10px;
}

.footer-col h3:after {
   width: 50px;
   height: 3px;
   background: var(--primary);
}

.footer-about p {
   margin-bottom: 20px;
   color: #ccc;
}
.footer-links li {
   margin-bottom: 12px;
}
.footer-links a {
   color: #ccc;
   display: flex;
   align-items: center;
}
.footer-links a:hover {
   color: var(--light);
   transform: translateX(5px);
}
.footer-links i {
   margin-right: 10px;
   color: var(--primary);
}
.footer-contact .contact-detail {
   margin-bottom: 15px;
}
.footer-bottom {
   margin-top: 40px;
   padding-top: 30px;
   border-top: 1px solid #444;
   display: flex;
   justify-content: space-between;
   align-items: center;
   flex-wrap: wrap;
}
.copyright {
   color: #999;
}
.social-links {
   display: flex;
}
.social-links a {
   width: 40px;
   height: 40px;
   border-radius: 50%;
   background: #333;
   justify-content: center;
   margin-left: 10px;
   transition: all 0.3s ease;
}

.social-links a:hover {
   background: var(--primary);
   transform: translateY(-3px);
}

.contact-details {
   margin-bottom: 30px;
}

.contact-detail, .contact-icon, .social-links a {
   display: flex;
   align-items: center;
}

.contact-detail {
   margin-bottom: 20px;
}

.contact-icon {
   width: 50px;
   height: 50px;
   background: var(--primary);
   border-radius: 50%;
   justify-content: center;
   margin-right: 15px;
   color: var(--light);
   font-size: 20px;
}

.contact-text {
   font: 1rem var(--text);
}

@media screen and (max-width: 1024px) {
   footer .container {
      width: 85%;
      padding: 3% 0;
   }
   .footer-content {
      gap: 30px;
   }
   .footer-col {
      flex: 0 0 calc(50% - 15px);
      min-width: calc(50% - 15px);
   }
   .footer-col:last-child {
      flex: 0 0 100%;
      min-width: 100%;
      margin-top: 20px;
   }
   .footer-contact .contact-detail {
      flex-direction: row;
   }
   .footer-contact .contact-icon {
      margin-right: 15px;
      flex-shrink: 0;
   }
}

@media screen and (max-width: 700px) {
   .section-title .text, p {
      font-size: 0.9rem;
   }
   
   h2 {
      font-size: 2rem;
   }
   
   em.sub, .sub {
      font-size: 1rem;
   }
   
   .section {
      padding: 10% 5%;
   }
   
   footer .container {
      width: 90%;
      padding: 5% 0;
   }
}

@media screen and (max-width: 768px) {
   .footer-col {
      flex: 0 0 100%;
      min-width: 100%;
   }
}

.scrolled {
   background-color: var(--dark);
   height: 10vh;
}

.scroll-effect {
   opacity: 0;
   transition: all 0.8s ease-out;
   will-change: transform, opacity;
}

.from-left {
   transform: translateX(-100px);
}

.from-right {
   transform: translateX(100px);
}

.from-bottom {
   transform: translateY(100px);
}

.scroll-effect.visible {
   opacity: 1;
   transform: translate(0, 0);
}

@media screen and (max-width: 600px) {
   .logo {
      width: 50%;
   }
}
@media (max-width: 768px) {
   .footer-content {
      flex-direction: column;
      gap: 30px;
   }
   
   .footer-col {
      width: 100%;
      min-width: 100%;
   }
   
   .footer-bottom {
      flex-direction: column;
      text-align: center;
      gap: 15px;
   }
   
   .social-links {
      justify-content: center;
      margin-top: 15px;
   }
}

/* Základné nastavenie pre počítače a tablety (zalomenie je skryté) */
.mobile-br {
   display: none;
}

/* Pravidlo pre mobilné obrazovky */
@media screen and (max-width: 768px) {
   .mobile-br {
      display: inline; /* Rozbalí zalomenie iba na mobile */
   }
}
