@font-face {
  font-family: "Primary";
  font-weight: 500;
  src: url("../fonts/Nunito-Regular.woff2");
}
@font-face {
  font-family: "Primary";
  font-weight: 700;
  src: url("../fonts/Nunito-Bold.woff2");
}
@font-face {
  font-family: "Secondary";
  src: url("../fonts/Zodiak-Regular.woff2");
}
:root,
:root::before,
:root::after {
  --color-background: #1E2020;
  --color-black: #181818;
  --color-primary: #CBAA00;
  --color-grey: #8B8B8B;
  --transition-duration: 500ms;
  --grid-container-max-width: 95.625rem;
}

.cursor-default {
  cursor: default !important;
}

.image-container>img{
  object-position: top !important;
}

.sal-sol {
  max-width: 25rem;
  display: flex;
  gap: 1rem;
  justify-content: center;
}

p {
  line-height: 1.75;
}

::-moz-selection {
  color: var(--color-white);
  background: var(--color-primary);
}

::selection {
  color: var(--color-white);
  background: var(--color-primary);
}

body {
  background: var(--color-black);
  color: var(--color-white);
  font-weight: 500;
}
body::after, body::before {
  content: "";
  position: fixed;
  z-index: 9999999999;
  height: 50vh;
  width: 100vw;
  background: var(--color-background);
  top: 0;
  left: 0;
  transform: scaleY(1);
  transition: var(--transition);
  transform-origin: top;
}
body::before {
  top: auto;
  bottom: 0;
  transform-origin: bottom;
}
body:not([data-transitioning])::after, body:not([data-transitioning])::before {
  transform: scaleY(0);
}
body[data-scroll-y-dir-thresholed] .top-bar {
  background: var(--color-background);
}

::-webkit-scrollbar {
  display: none;
}

.logo-container * {
  display: block;
  height: 5vh;
}

.footer .logo-container * {
  height: 7.5vh;
}

.hamburger > div {
  background: var(--color-white);
}

.top-bar li a {
  font-weight: 700;
}

.top-bar li[data-submenu]{
  position: relative;
}

.top-bar li[data-submenu] ul.submenu {
  position: absolute;
  left: -1rem;
  bottom: 0;
  transform: translateY(100%);
  white-space: nowrap;
  background: var(--color-background);
  padding: 1rem;
  border-radius: .5rem;
  opacity: 0;
  pointer-events: none;
  transition: var(--transition);
}

.top-bar li[data-submenu] ul.submenu li + li {
  margin-top: 1rem;;
}

.top-bar-socials {
  position: relative;
  transition: var(--transition);
}

.top-bar-socials::before {
  content: "";
  display: block;
  height: 1rem;
  width: .0625rem;
  background-color: var(--color-white);
}

.top-bar .social {
  height: 1.25rem;
  width: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.top-bar li a, a.link {
  position: relative;
  display: inline-block;
  color: var(--color-white) !important;
}
.top-bar li a::before, .top-bar li a::after, a.link::before, a.link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 0.0625rem;
  width: 100%;
  background: var(--color-white);
  transition: var(--transition);
  opacity: 1;
}
.top-bar li a::before, a.link::before {
  transform: scaleX(0);
  transform-origin: left;
  transition-delay: 100ms;
}
.top-bar li a::after, a.link::after {
  transform: scaleX(1);
  transform-origin: right;
}

a.link.color-grey::before, a.link.color-grey::after {
  background: var(--color-grey);
}

.top-bar {
  padding: 2.5vh 0;
}
.top-bar li.active > a::before {
  transform: scaleX(1);
}
.top-bar li a::after {
  transform: scaleX(0);
}

.h1 {
  font-family: "Secondary";
  font-size: 4rem;
  font-weight: unset;
}

.h2 {
  text-transform: uppercase;
  font-size: 700;
  font-weight: unset;
  position: relative;
  display: inline-block;
  font-size: 1rem;
}
.h2::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0.0625rem;
  background: #CBAA00;
}

.font-title {
  font-family: "Secondary";
}
.font-title strong {
  font-weight: unset;
  color: var(--color-primary);
}

.color-grey {
  color: var(--color-grey);
}

.image-container {
  border-radius: 0.625rem;
}

.hero-section {
  padding-top: 20vh;
}

.section {
  padding: 10vh 0;
}
.section:nth-child(2n) {
  background: var(--color-background);
}

.homepage-swiper .swiper-container {
  position: relative;
}
.homepage-swiper .swiper-navigation {
  justify-content: center;
}

.section--about .stat {
  padding: 2rem 0;
  border-top: solid 0.0625rem rgba(255, 255, 255, 0.15);
}

.section--contact .contact-method {
  cursor: pointer;
  border-bottom: solid 0.0625rem rgba(255, 255, 255, 0.15);
  padding-bottom: 1.5rem;
}

.section--contact .contact-method svg {
  height: 0.5rem;
  width: 1.875rem;
}

.footer {
  padding: 10vh 0 2rem 0;
}
.footer ul {
  list-style-type: none;
}
.footer .social svg {
  height: 1.5rem;
  width: 1.5rem;
}

body.page-secondary .hero-section {
  padding-bottom: 10vh;
}
body.page-secondary .section--about {
  padding-top: 0;
}

.section--oferta {
  scroll-margin-top: 10vh;
  background: var(--color-background);
}

.section--other-services table{
  width: 100%;
}

.section--other-services table tr {
  display: flex;
  gap: 1rem;
  font-size: 1.25rem;
}

.section--other-services table tr td {
  width: 50% !important;
  padding: 1.5rem 0;
}

.section--other-services table tr:first-child {
  font-weight: 700;
  border-bottom: solid .0625rem rgba(255, 255, 255, .5);
  margin-bottom: 1rem;
}

.section--other-services table tr td:last-child{
  text-align: right !important;
}

.section--oferta ul li + li {
  margin-top: 1.25rem;
}
.section--oferta:nth-child(2n) {
  background: var(--color-black);
}
.section--oferta:nth-child(2n) + .footer {
  background: var(--color-background);
}
.section--oferta a svg {
  width: 1.875rem;
  height: 0.5rem;
}

.gallery-page {
  padding: 0 0.3125rem 10vh 0.625rem;
}
.album-trigger{
  aspect-ratio: 16/9;
}
.album-trigger .image-container {
  transition: none;
  cursor: pointer;
  padding: 0;
  aspect-ratio: 1/1;
}
.album-trigger .image-container img {
  transition: var(--transition);
  object-position: top;
}
.album-trigger .image-container::before {
  content: "Vezi albumul";
  position: absolute;
  background: rgba(0, 0, 0, 0.25);
  border: solid 0.0625rem var(--color-white);
  height: 10rem;
  width: 10rem;
  z-index: 99;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  font-weight: 700;
  left: 50%;
  top: 100%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: var(--transition);
}
.album-trigger .image-container::after {
  content: "";
  position: absolute;
  z-index: 9;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: var(--transition);
}
.album-gallery {
  position: fixed;
  width: calc(100% - 1.5rem);
  left: 0.625rem;
  bottom: 0.625rem;
  transform: translateY(120%);
  z-index: 999999;
}
.album-gallery .image-container img {
  border: solid 0.25rem transparent;
  border-radius: 0.625rem;
  cursor: pointer;
}
.album[data-active] .album-gallery {
  transform: none;
}
.album[data-active] .album-trigger .image-container {
  position: fixed;
  /* pointer-events: none; */
  z-index: 999999;
  transition: var(--transition);
}
.album[data-active] .album-trigger .image-container[data-active] {
  left: 50% !important;
  transform: translateX(-50%);
  top: 5vh !important;
  z-index: 999999;
}
.album[data-active] .album-gallery img[data-active] {
  border: solid 0.25rem var(--color-primary);
}

#overlay {
  backdrop-filter: blur(.25rem);
}

.section--contact-form input, .section--contact-form textarea {
  border: none;
  resize: none;
  outline: none;
  background: transparent;
  border-bottom: solid 0.0625rem var(--color-white);
  font-size: 1.5rem;
  padding-bottom: 1.25rem;
}

.section--contact .contact-method .contact-cnt-name svg {
  height: 1.5rem !important;
  width: 1.5rem !important;
  min-width: 1.5rem;
  display: block;
}

.section--contact-form .checkbox-virtual__checkbox {
  border: solid 0.0625rem var(--color-white) !important;
}
.section--contact-form button {
  height: 15.5rem;
  width: 15.5rem;
  background: transparent;
  border: solid 0.0625rem var(--color-white);
  border-radius: 50%;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  font-weight: 700;
  position: relative;
}
.section--contact-form button svg {
  height: 2rem;
  width: 2rem;
  transition: var(--transition);
}
.section--contact-form button div {
  z-index: 1;
}
.section--contact-form button::after {
  content: "";
  position: absolute;
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
  background: var(--color-white);
  transition: var(--transition);
  transform: translateY(100%);
  transform-origin: bottom;
  z-index: 0;
}

.swiper-pagination{
  position: static;
  width: 100% !important;
  left: 0 !important;
  transform: none !important;
  display: flex;
  justify-content: center;
  align-items: center;
}

.swiper-pagination-bullet{
  height: .625rem;
  width: .625rem;
  background: var(--color-grey);
}

.swiper-container--2 .swiper-pagination-bullet{
  background: var(--color-primary);
}


.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev,
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next
{
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev,
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next
{
  transform: scale(.66);
}

.swiper-lazy {
  opacity: 0;
}

.swiper-lazy-loaded {
  opacity: 1;
}

.swiper-slide{
  transition: var(--transition);
}

.swiper-slide:not(.swiper-slide-visible){
  opacity: 0;
}

.swiper-navigation {
  display: flex;
  gap: 2rem;
  margin-top: 2rem;
}

.swiper-button-next, .swiper-button-prev{
  position: static;
  transform: none !important;
  top: auto;
  left: auto;
  right: auto;
  bottom: auto;
  height: 5rem;
  width: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: solid .0625rem var(--color-white);
  transition: var(--transition);
  margin: 0;
}

.swiper-button-next::after, .swiper-button-prev::after {
  display: none;
}

body[data-custom-scrollbar] .custom-scrollbar {
  top: 0;
  left: 0;
  position: fixed;
  z-index: 999;
  height: 0.125rem;
  width: 0;
  background: var(--color-white);
  transition: 100ms;
}
body[data-custom-scrollbar]::-webkit-scrollbar {
  display: none;
}

#modal:has(form) .modal__content-container {
  background: var(--color-background);
  border-radius: .625rem;
}

#modal form input,
#modal form textarea {
  border: none;
  background: transparent;
  border-bottom: solid .0625rem var(--color-white);
  resize: none;
  outline: none;
} 

#modal form button {
  background: var(--color-primary);
  border: none;
  border-radius: .625rem;
  padding: 1rem 0;
  cursor: pointer;
}

#modal form .checkbox-virtual__checkbox {
  border-color: var(--color-white);
}

.ue {
  height: 10vh;
  object-fit: contain;
  position: absolute;
  top: .5rem;
  left: 50%;
  transform: translateX(-50%);
}

/* body {
  transition: 300ms;
} */

body {
  padding-top: 12.5vh;
}

body:not([data-scrolled]) .top-bar {
  top: 12.5vh;
}

.fixed-cta {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  transition: var(--transition);
}

.fixed-cta svg {
  height: 4rem;
  width: 4rem;
}


.map-cnt {
  height: 60vh;
}

.map-cnt iframe{
  height: 100%;
  width: 100%;
}

#tinymce {
  color: #FFF;
}

a.image-container img {
  transition: var(--transition);
}

.section--blog{
  padding-top: 0;
}

.line-clamp-1 {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;  
  overflow: hidden;
}

.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;  
  overflow: hidden;
}

.share svg{
  height: 3rem;
  width: 3rem;
}

.share .share__link {
  cursor: pointer;
}

.copy {
  position: relative;
  cursor: pointer;
}


.copy .tooltip {
  top: 0;
  right: 0;
  -webkit-transform: translateY(-125%);
          transform: translateY(-125%);
  position: absolute;
  font-size: .875rem;
  white-space: nowrap;
  background: #FFF;
  -webkit-box-shadow: 0 4px 14px 0 rgba(0, 0, 0, 0.06);
          box-shadow: 0 4px 14px 0 rgba(0, 0, 0, 0.06);
  border-radius: 1rem 1rem 0 1rem;
  padding: .5rem 0;
  width: 7rem;
  text-align: center;
  pointer-events: none;
  opacity: 0;
}

.copy.copied .tooltip {
  opacity: 1;
  color: #FFF;
  background: var(--color-primary);
}


.blog-h1{
  font-size: 3rem;
}

.section--blog-article-body {
  padding-top: 0 !important;
}

@media (min-width: 1023px) {

  .top-bar li[data-submenu]:hover ul.submenu {
    opacity: 1;
    pointer-events: all;
  }

  a.image-container:hover img{
    transform: scale(1.1);
  }

  .fixed-cta:hover{
    transform: scale(1.1);
  }
  a.link:hover::after {
    transform: scale(0);
  }
  a.link:hover::before {
    transform: scaleX(1);
  }
  .top-bar li:hover > a::before {
    transform: scaleX(1);
  }
  .section--contact .contact-method:hover span {
    color: var(--color-primary);
  }
  .section--contact .contact-method:hover svg {
    transform: rotate(-45deg);
  }
  .section--contact .contact-method:hover svg * {
    fill: var(--color-primary);
  }
  a:not(.link):not(.contact-method):hover {
    color: var(--color-primary);
  }
  a:not(.link):not(.fixed-cta)::not(.share__link):hover svg * {
    fill: var(--color-primary);
  }
  .share__link:hover{
    transform: scale(1.1);
  }
  .social:hover svg {
    transform: scale(1.2);
  }
  .social:hover svg * {
    fill: var(--color-primary);
  }
  * {
    max-width: var(--max-width);
  }
  .section--oferta ul {
    -moz-columns: 2;
         columns: 2;
         gap: 2rem;
  }
  .album-trigger .image-container:hover::after {
    opacity: 1;
  }
  .album-trigger .image-container:hover::before {
    opacity: 1;
    top: 50%;
  }
  .album-gallery .image-container:hover img {
    border-color: var(--color-primary);
  }
  .section--contact-form button:hover div div {
    color: var(--color-black);
  }
  .section--contact-form button:hover svg * {
    fill: var(--color-black);
  }
  .section--contact-form button:hover::after {
    transform: none;
  }
}
@media (max-width: 1023px) {

  .top-bar nav:not([data-active]) .top-bar-socials{
    opacity: 0;
    pointer-events: none;
  }

  .top-bar li[data-submenu] {
    text-align: right;
  }

  .top-bar li[data-submenu] ul.submenu {
    position: static;
    background: transparent;
    transform: none;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    display: block;
    text-align: right;
    font-size: 1.25rem;
    padding: 0;
    overflow: hidden;
    height: 0;
  }

  .top-bar:has(nav[data-active]) {
    background: var(--color-background);
  }

  .small-menu-hamburger {
    padding-top: 0;
    margin-top: var(--top-bar-height);
  }

  .small-menu-hamburger[data-active] {
    overflow-y: scroll;
  }

  .top-bar li[data-submenu][data-active] ul.submenu {
    margin: 1.5rem 0;
    opacity: 1;
    pointer-events: all;
  }

  .top-bar nav ul:not(.submenu) {
    width: 100%;
    display: inline-flex;
    height: auto !important;
  }

  .top-bar-socials {
    padding-right: .9375rem;
  }

  .top-bar .social {
    height: 1.5rem;
    width: 1.5rem;
  }

  .top-bar-socials::before {
    display: none;
  }

  .section--contact .contact-method .contact-cnt-name svg {
    height: 1.25rem !important;
    min-width: 1.25rem !important; 
    width: 1.25rem !important;
  }

  .footer {
    padding: 10vh 0 5rem 0;
  }


  .blog-h1{
    font-size: 2rem !important;
  }
  
  .sal-sol {
    max-width: 75%;
    justify-content: center;
    margin: auto;
  }

  .ue {
    max-width: 75%;
  }

  .album[data-active] .album-trigger .image-container[data-active] {
    width: 95% !important;
    top: 40% !important;
    transform: translate(-50%, -50%) !important;
  }

  .small-font-title {
    font-family: "Secondary";
  }
  .top-bar .small-font-title {
    font-weight: unset;
  }
  .hero-section {
    padding-top: 15vh;
  }
  .section {
    padding: 5vh 0;
  }
  .homepage-swiper .swiper-navigation {
    margin-top: 3rem;
    position: static;
    justify-content: center;
  }
  .small-menu-hamburger::before {
    background: var(--color-background);
  }
  .h1 {
    font-size: 3rem;
  }
  .footer .logo-container a {
    display: flex;
  }
  body.page-secondary .hero-section {
    padding-bottom: 5vh;
  }
  .section--contact-form input, .section--contact-form textarea {
    font-size: 1rem;
  }
  .section--contact-form button {
    height: 10rem;
    width: 10rem;
    font-size: 1rem;
  }
}
@media all and (min-width: 1023px) and (max-width: 1440px) {
  html {
    font-size: 75%;
  }
}
@media all and (min-width: 1536px) and (-webkit-min-device-pixel-ratio: 1.25) {
  html {
    font-size: 1.7075773746vmin;
  }
}
@media all and (min-width: 1280px) and (-webkit-min-device-pixel-ratio: 1.5) {
  html {
    font-size: 1.7075773746vmin;
  }
}
@media all and (min-width: 1097px) and (-webkit-min-device-pixel-ratio: 1.75) {
  html {
    font-size: 1.7075773746vmin;
  }
}/*# sourceMappingURL=style.css.map */