/* =================
GLOBAL
==================== */
.img-h-100 img {
  height: 100%;
}

.aspect-4-3 {
  aspect-ratio: 4 / 3;
  width: 100%;
  overflow: hidden;
  position: relative;
}

.aspect-4-3 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

a {
    color: unset;
    text-decoration: none;
}

/* =================
HEADER
==================== */
.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
             display: none!important;
         }
         
         .wp-block-navigation__responsive-container-open:not(.always-shown) {
             display: flex!important;
         }

     @media screen and (min-width: 768px) {
         .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
             display: flex!important;
         }
         
         .wp-block-navigation__responsive-container-open:not(.always-shown) {
             display: none!important;
         }
     }

/* =================
NAVIGATIONS
==================== */
.wp-block-navigation__submenu-container {
  padding: 1rem !important;
}

/* =================
TEMPLATES
==================== */
.archive .wp-site-blocks .content::after {
  display: block;
  width: 300px;
  height: 300px;
  position: absolute;
  top: -80px;
  right: 15%;
  z-index: -1;
  content: "";
  background-size: cover;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280.889' height='280.859' viewBox='0 0 280.889 280.859'%3E%3Cg id='Group_653' data-name='Group 653' opacity='0.2'%3E%3Cpath id='Path_12420' data-name='Path 12420' d='M579.9,127.6H492.466a6.762,6.762,0,0,1-2.029,0c-.609-.811,0-3.652,0-4.666v-77.5c0-5.68-.2-11.158,1.217-16.635,3.246-13.186,14-23.938,27.184-27.59C524.316,0,530,0,535.677,0h82.162c.406.2.2,1.217.2,1.826V89.465A38.249,38.249,0,0,1,579.9,127.6' transform='translate(-490.167 0.09)' fill='%23a7abad'/%3E%3Cpath id='Path_12421' data-name='Path 12421' d='M655.3,202.906H567.866a6.762,6.762,0,0,1-2.029,0c-.608-.812,0-3.652,0-4.666V120.947c0-5.68-.2-11.158,1.217-16.635,3.246-13.186,14-23.938,27.185-27.59,5.478-1.42,11.158-1.217,16.838-1.217h82.162c.406.2.2,1.217.2,1.826V164.97a38.25,38.25,0,0,1-38.14,38.139' transform='translate(-412.603 77.75)' fill='%23a7abad'/%3E%3Cpath id='Path_12422' data-name='Path 12422' d='M528.675,203.049H618.14V115.614c0-9.129-2.232-17.852-7.912-25.156a39.138,39.138,0,0,0-30.633-15.012H497.231c-2.029,0-4.057-.2-6.086,0h-.811v78.51c0,6.086-.406,12.578.811,18.664a38.586,38.586,0,0,0,37.328,30.43' transform='translate(-490.062 77.607)' fill='%23a7abad'/%3E%3Cpath id='Path_12423' data-name='Path 12423' d='M603.873,127.649h89.464V40.213c0-9.129-2.231-17.852-7.911-25.156A38.145,38.145,0,0,0,654.995.046H572.631c-2.029,0-4.058-.2-6.087,0h-.811v78.51c0,6.086-.406,12.578.811,18.664a38.586,38.586,0,0,0,37.329,30.43' transform='translate(-412.499 0.044)' fill='%23a7abad'/%3E%3C/g%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
}

@media screen and (max-width: 782px) {
  .archive .wp-site-blocks>.wp-block-group:nth-of-type(1)::after {
    display: none;
  }
}

/* =================
IMAGES
==================== */
.wp-block-post-featured-image img {
  border-radius: 30px;
}

figure>a:hover img {
  transform: scale(1.02);
  transition: transform 0.3s ease;

}

/* =================
BUTTONS
==================== */
/* Outline */
.is-style-outline .wp-block-button__link {
  text-wrap: nowrap;
}

.is-style-outline .wp-block-button__link,
.featured-project-read-more {
  box-shadow: 0 0 0 0 transparent;
  transition: box-shadow 0.3s ease;
}

.is-style-outline .wp-block-button__link:hover,
.featured-project-read-more:hover {
  box-shadow: 0 0 0 2px currentColor;
}

/* Underline */
.is-style-underline .wp-block-button__link {
  text-wrap: nowrap;
}

.is-style-underline .wp-block-button__link {
  transition: transform 0.3s ease;
}

.is-style-underline .wp-block-button__link:hover {
  transform: translateY(-2px);
}

/* =================
PATTERNS
==================== */
/* Gallery Overview */
.gallery-overview__group {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.gallery-overview__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 1rem;
}

.gallery-overview__rotated-heading {
  padding: 2rem;
}

.gallery-overview__grid figure {
  margin-block-start: 0;
}

.gallery-overview__image--large {
  grid-column: span 1;
  grid-row: span 2;
}

.gallery-overview__image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.gallery-overview__group .wp-block-image:hover::after {
  opacity: 1;
}

.gallery-overview__button-group {
  display: flex;
  justify-content: center;
}

.gallery-overview__button-rotated {
  padding-top: 28px;
  rotate: unset;
}

.gallery-overview__gallery-group {
  padding-top: 24px;
}

.gallery-overview__gallery-group:where(figure) {
  margin: 0;
}

@media screen and (min-width: 992px) {
  .gallery-overview__group {
    flex-direction: row;
  }

  .gallery-overview__outer-gallery-group {
    position: relative;
  }

  .gallery-overview__rotated-heading {
    padding: 0;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    text-align: center;
  }

  .gallery-overview__grid {
    padding: 0 4rem;
  }


  .gallery-overview__button-group {
    width: 10%;
    padding: 0;
  }

  .gallery-overview__button-rotated {
    writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg);
  }
}

.block-editor-block-list__block .gallery-overview,
.block-editor-block-list__block .gallery-overview__group,
.block-editor-block-list__block .gallery-overview__grid {
  padding: 0;
}

/* Featured Project */
.featured-project-read-more {
  padding: 0.6em 1.33em;
  color: var(--wp--preset--color--custom-blue);
  background: transparent;
  border-radius: 0;
  border: 1px solid currentColor;
  text-transform: uppercase;
  font-size: var(--wp--preset--font-size--custom-2);
}

@media screen and (max-width: 782px) {
  .featured-img-responsive {
    height: 400px;
  }
}