/*
Theme Name: Twenty Twenty-Five
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 12
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
/* a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: .1em;
} */

/* Focus styles */
/* :where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
} */

/* Increase the bottom margin on submenus, so that the outline is visible. */
.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}

/* Increase the outline offset on the parent menu items, so that the outline does not touch the text. */
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

/* Remove outline offset from the submenus, otherwise the outline is visible outside the submenu container. */
.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}

/*
 * Progressive enhancement to reduce widows and orphans
 * https://github.com/WordPress/gutenberg/issues/55190
 */
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

/*
 * Change the position of the more block on the front, by making it a block level element.
 * https://github.com/WordPress/gutenberg/issues/65934
*/
.more-link {
	display: block;
}

.language-switcher {
	padding-left: 40px;
}

.language-switcher ul {
	column-gap: 10px;
}

.wp-block-social-links {

}

.wp-block-social-links, .wp-block-social-links.has-normal-icon-size {
    font-size: 40px;
}

:root :where(.wp-block-site-title a:where(:not(.wp-element-button)):hover), a:hover, a {
    text-decoration: none !important;
}

.wp-block-site-title {
  	font-weight: 400 !important;
    font-size: 36px !important;
}

/* ========================================================================================= */ 
/* Ensure footer is always sticked to bottom for too short content height */

html, body {
  height: 100%;
  margin: 0;
}

.wp-site-blocks {
  height: 100%;
}

.laeb-layout-container .entry-content {
  flex: 1;
}

.laeb-layout-container {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

/* ========================================================================================= */ 
/* Bigger menu on mobile */

@media (max-width: 599px) {
  .wp-block-navigation__responsive-container-close {
    margin: 30px;
  }
  .wp-block-navigation__responsive-container {
    text-align: center !important;
  }
 .wp-block-navigation__responsive-container .wp-block-navigation {
    margin: 0 auto !important
  }
  .wp-block-navigation__responsive-container * {
    font-size: 30px !important;
    text-align: center !important;
  }
  .wp-block-navigation.items-justified-right {
      --navigation-layout-justification-setting: flex-center !important;
      --navigation-layout-justify: flex-center !important;
  }
}

/* ========================================================================================= */ 
/* Ensure 3/4 width for above 1920px screens */

.laeb-layout-container {
  width: 100%;
  padding-left: 5vw;
  padding-right: 5vw;
  margin: 0 auto;
}

@media (min-width: 1400px) {
  .laeb-layout-container {
    max-width: 75vw;
    padding-left: 0;
    padding-right: 0;
  }

  .laeb-layout-container.laeb-layout-90 {
    max-width: 90vw;
    padding-left: 0;
    padding-right: 0;
  }
}

.laeb-section-wide {
  width: 100%;
  padding-left: 5vw;
  padding-right: 5vw;
}

/* ========================================================================================= */ 
/* Carousel styles */

.laeb-home-slider.uagb-slider-container { /* .wp-block-cb-carousel-v2 */
    margin: 0 auto;
    width: 100%;
    max-width: 960px;
    aspect-ratio: 3 / 2;
    overflow: hidden !important;
    position: relative;

}

.laeb-home-slider img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* Seems not needed, keep for a while and then delete
@media (max-width: 767px) {
  .laeb-home-slider {
    margin-left: -5vw !important;
    width: 100vw !important;
  }
}
*/

/* ========================================================================================= */ 
/* Smaller footer on mobile */

@media (max-width: 767px) {
  .laeb-footer {
    font-size: 12px !important;
  }
}

/* ========================================================================================= */ 
/* Make invisible navigation langauge switcher separator, ma */

.lang-switcher-separator, .lang-switcher-separator * {
  color: white !important;
  user-select: none;
  pointer-events: none;
}

/* ========================================================================================= */ 
/* Needed for about us layout - to break earlier than 768px ====== */

/* First, cancel default behavior */
@media (min-width: 782px) {
    .laeb-about-columns.wp-block-columns {
        flex-wrap: wrap !important;
    }
    .laeb-about-columns.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column.laeb-about-column {
        flex-basis: 100% !important;
        flex-grow: 0 !important;
    }
}

/* Then, apply column layout starting from 900px */
@media (min-width: 1000px) {
    .laeb-about-columns.wp-block-columns {
        flex-wrap: nowrap !important;
    }
    .laeb-about-columns.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column.laeb-about-column {
        flex-basis: 0 !important;
        flex-grow: 1 !important;
    }

    .laeb-about-column1 {
        padding-right: 0vw !important;
    }
    .laeb-about-column2 {
        padding-right: 0vw !important;
    }
    .laeb-about-column2-column1 {
        padding-right: 0vw !important;
    }
}

/* ========================================================================================= */ 
/* laeb-projects-list */

.laeb-projects-list {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.laeb-projects-item-figure {
  margin-bottom: 30px !important;
}

@media (min-width: 600px) {
  .laeb-projects-item-title-wrapper {
    height: 80px !important;
	width: auto;
    overflow: hidden !important;
    text-overflow: ellipsis;
	object-fit: cover;
    margin-bottom: 60px !important;
  }
}

.laeb-projects-item-title {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
}

.laeb-projects-item-subtitle {
  margin-top: 5px !important;
  margin-bottom: 0 !important;
}

/* ========================================================================================= */ 
/* extend tapable area for all slider next and prev buttons */

.wp-block-uagb-slider .swiper-button-prev::before,
.wp-block-uagb-slider .swiper-button-next::before {
  content: '';
  position: absolute;
  top: -60px;
  bottom: -60px;
  left: -60px;
  right: -60px;
  z-index: -1;
  /* background-color: red; */
}


/* ========================================================================================= */ 
/* laeb-project-detail */

@media (min-width: 782px) {
  .laeb-project-detail .wp-block-post-featured-image {
    width: 50% !important;
    float: right !important;
    top: 20px !important;
    padding-left: 30px !important;
    padding-bottom: 30px !important;
  }

  .laeb-project-content-half-width, .laeb-half {
    width: 50% !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    display: block;
    text-align: left !important;
    box-sizing: border-box;
  }
}

@media (max-width: 782px) {
  .laeb-project-detail {
    display: flex;
    flex-direction: column;
  }

  .laeb-project-detail .wp-block-post-title {
    order: -2;
    margin-top: 0;
    margin-bottom: 15px;
  }

  .laeb-project-detail .wp-block-post-content .wp-block-post-excerpt {
    /* original excerpt should be hidden on mobile in favor of cloned */
    display: none;
  }

  .laeb-project-detail .wp-block-post-excerpt.cloned-excerpt-mobile {
    /* used for excerpt cloned via js so that it is positioned right below title, show on mobile */
    display: block !important;
    order: -1;
    margin-top: 0;
    margin-bottom: 15px;
  }

  .laeb-project-detail .wp-block-post-featured-image {
    order: 0;
  }  
}

.laeb-project-detail .wp-block-post-excerpt.cloned-excerpt-mobile {
  /* used for excerpt cloned via js so that it is positioned right below title, hide on desktop */
  display: none;
}

.laeb-project-detail-content.wp-block-post-content {
  display: block;
}

/* Project Detail / Carousel image on left */

@media (min-width: 782px) {
  .laeb-project-detail-carousel .swiper-button-prev {
    position: absolute;
    left: 5px !important;
  }
  .laeb-project-detail-carousel .swiper-button-next {
    position: absolute;
    right: 50% !important;
    margin-right: 30px !important;
  }
  .laeb-project-detail-carousel  {
      clear: both;
      padding: 0 !important;
      padding-top: 15px !important;
      position: relative;
  }
  .laeb-project-detail-carousel figure { 
    width: 100%;
    max-width: 960px;
    aspect-ratio: 4 / 3;
    overflow: hidden !important;
	object-fit: contain;
    position: relative;
  }
  .laeb-project-detail-carousel .swiper-content figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

@media (max-width: 782px) {
  .laeb-project-detail-carousel .swiper-button-prev {
    margin-left: 0px !important;
    top: calc(100vw * 0.32) !important;
  }
  .laeb-project-detail-carousel .swiper-button-next {
    margin-right: 0px !important;
    top: calc(100vw * 0.32) !important;
  }

  .laeb-project-detail-carousel  {
      clear: both;
      width: 90vw;
      padding: 0 !important;
      margin: 0 auto;
  }

  .laeb-project-detail-carousel figure{ 
    width: 100%;
    max-width: 960px;
    aspect-ratio: 4 / 3;
    overflow: hidden !important;
	
    position: relative;
  }

  .laeb-project-detail-carousel .swiper-content figure img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
}

/* Project Detail / Carousel image on right */

@media (min-width: 782px) {
  .laeb-project-detail-carousel-image-on-right .swiper-button-prev {
    position: absolute;
    left: 50% !important;
    /*margin-left: 30px !important;*/
  }
  .laeb-project-detail-carousel-image-on-right .swiper-button-next {
    position: absolute;
    right: 0% !important;
  }
  .laeb-project-detail-carousel-image-on-right {
      clear: both;
      padding: 0 !important;
      padding-top: 15px !important;
      position: relative;
  }
  .laeb-project-detail-carousel-image-on-right figure { 
    width: 100%;
    max-width: 960px;
    aspect-ratio: 4 / 3;
    overflow: hidden !important;
    position: relative;
  }
  .laeb-project-detail-carousel-image-on-right .swiper-content figure img {
    width: 100%;
    height: 100%;
    object-fit: contain;

  }
	/* Justifies the right image with the image on the top */
  .laeb-project-detail-carousel-image-on-right .swiper-content > * {
	column-gap: 0px !important;
  }
	.laeb-project-detail-carousel-image-on-right .swiper-content p {
		padding-right: 30px;
		text-align: right;
	}
}

@media (max-width: 782px) {
  .laeb-project-detail-carousel-image-on-right .swiper-button-prev {
    margin-left: 0px !important;
	top: 48%; /* move to vertical middle */
    transform: translateY(-50%); /* correct alignment */
    /*bottom: calc(100vw * 0.66) !important;*/
    /*top: auto !important;*/
  }
  .laeb-project-detail-carousel-image-on-right .swiper-button-next {
    margin-right: 0px !important;
    top: 48%; /* move to vertical middle */
    transform: translateY(-50%); /* correct alignment */
    /*top: auto !important;*/
  }

  .laeb-project-detail-carousel-image-on-right  {
      clear: both;
      width: 90vw;
      padding: 0 !important;
      margin: 0 auto;
  }

  .laeb-project-detail-carousel-image-on-right figure{ 
    width: 100%;
    max-width: 960px;
    aspect-ratio: 4 / 3;
    overflow: hidden !important;
	position: relative;
  }

  .laeb-project-detail-carousel-image-on-right .swiper-content figure img {
      width: 100%;
      height: 100%;
      object-fit: contain;
    }
  .laeb-project-detail-carousel-image-on-right .swiper-content > * {
	  display: flex;
	  flex-direction: column-reverse;
    }
  .laeb-project-detail-carousel-image-on-right .swiper-content p {
	  text-align: right;
	}
}

/* Side menu filter */

.laeb-projects-list-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0;
}

@media (min-width: 1400px) {
  .laeb-projects-list-wrapper {
    flex-direction: row;
    align-items: flex-start;
  }

  .laeb-projects-list-filter {
    margin-left: -150px !important;
    width: 150px; 
    position: sticky;
    top: 50px;
    margin-top: 30px !important;
    height: max-content;
    text-align: right;
  }

  .laeb-projects-list-content {
    flex: 1; /* takes remaining space */
  }

  .laeb-projects-list-filter li {
    display: block;
    padding: 3px 0px;
  }
}

.laeb-projects-list-filter {
  display: none;
  margin: 0;
  padding: 0;
}

.laeb-projects-list-filter li {
  display: inline-block;
  margin: 0;
  padding: 3px 5px;
  font-size: 14px;
}

/* Default link style */
.laeb-projects-list-filter a {
  display: inline-block;
  padding: 0.3em 0.6em;
  border-radius: 4px;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}

/* On hover: gray background */
.laeb-projects-list-filter a:hover {
  background-color: #f0f0f0;
  color: inherit;
}

/* Active link: black background, white text */
.laeb-projects-list-filter a.is-active {
  background-color: black;
  color: white;
}