/*
Theme Name: Le Bureau 26
Description: Theme developed for Le Bureau
Author: Jan Hesselvig Krogh
Author URI: https://janslyn.dk
*/
/*
  Josh's Custom CSS Reset
  https://www.joshwcomeau.com/css/custom-css-reset/
*/
*, *::before, *::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

html, body {
  height: 100%;
}

body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}

input, button, textarea, select {
  font: inherit;
}

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

#root, #__next {
  isolation: isolate;
}

/* colors */
/* easing */
/* TYPOGRAPHY */
@font-face {
  font-family: "Affairs";
  src: url("fonts/Affairs-Regular.woff2") format("woff2"), url("fonts/Affairs-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
html {
  font-size: 100%;
}

body {
  font-family: "tt-commons-pro", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.375rem;
  line-height: 1.23;
  color: #564E44;
}
@media screen and (min-width : 64.063em) {
  body {
    font-size: 1.75rem;
    line-height: 1.25;
  }
}

a {
  color: inherit;
}

strong {
  font-weight: 600;
}

nav {
  font-size: 1.125rem;
}

figcaption {
  font-size: 1rem;
}

.wp-block-site-title {
  font-family: "Affairs", sans-serif;
}

h1 {
  font-size: 1.875rem;
  line-height: 1.16;
  font-weight: 500;
}
@media screen and (min-width : 50em) {
  h1 {
    font-size: 2.625rem;
    line-height: 1.2;
  }
  h1.wp-block-post-title {
    padding-right: 30%;
  }
}

h2 {
  font-weight: 500;
  font-size: 1.875rem;
  line-height: 1.16;
  font-weight: 500;
}
@media screen and (min-width : 50em) {
  h2 {
    font-size: 2.625rem;
    line-height: 1.2;
  }
}

.grid-item h2,
.grid-item-text {
  font-family: "Affairs", sans-serif;
  font-size: 1.875rem;
}
@media screen and (min-width : 64.063em) {
  .grid-item h2,
  .grid-item-text {
    font-size: 2.8125rem;
  }
}

.wp-block-site-title {
  font-size: 1.25rem;
}
@media screen and (min-width : 50em) {
  .wp-block-site-title {
    font-size: 1.25rem;
  }
}

h3 {
  font-weight: 500;
  font-size: 1.5rem;
}

.home .wp-block-post-title {
  display: none;
}

.project-data {
  font-size: 1rem;
  line-height: 1.4;
  color: rgba(86, 78, 68, 0.6);
}
@media screen and (min-width : 50em) {
  .project-data {
    font-size: 1.125rem;
    line-height: 1.33;
  }
}

header nav {
  font-size: 2.1875rem;
  text-align: center;
  line-height: 1.4;
}
@media screen and (min-width : 50em) {
  header nav {
    font-size: 1.125rem;
    line-height: 1.5;
  }
}
header nav li:hover a, header nav .current-menu-item a {
  opacity: 0.4;
}
header nav a {
  text-decoration: none;
}

footer {
  font-family: "Affairs", sans-serif;
  font-size: 0.875rem;
  line-height: 1.4;
  color: #bbb8b4;
}
footer a {
  color: #564E44;
}

button, a.button, .wp-block-button__link {
  font-size: 1.125rem;
  color: #564E44;
  text-decoration: none;
}
@media screen and (min-width : 64.063em) {
  button, a.button, .wp-block-button__link {
    font-size: 1.125rem;
  }
}

button.filter {
  font-size: 1.125rem;
  margin-bottom: 8.75px;
}

/* HEADER */
button.hamburger {
  height: 40px;
  width: 40px;
}

div.hamburger {
  height: 40px;
  width: 40px;
}
div.hamburger > .inner {
  top: 50%;
}

.hamburger {
  background-color: transparent;
  border: 0 transparent solid;
  border-radius: 0;
  color: inherit;
  cursor: pointer;
  display: inline-block;
  font: inherit;
  opacity: 1;
  overflow: visible;
  padding: 4px;
  text-transform: none;
  transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), background 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger:hover {
  background-color: transparent;
  opacity: 1;
}
.hamburger:hover span.bar {
  background-color: #564E44;
}
.hamburger:hover > .inner:nth-child(1)::before, .hamburger:hover > .inner:nth-child(1)::after, .hamburger:hover > .inner:nth-child(2)::before, .hamburger:hover > .inner:nth-child(2)::after, .hamburger:hover > .inner:nth-child(3)::before, .hamburger:hover > .inner:nth-child(3)::after,
.hamburger:hover span.bar:nth-child(1)::before,
.hamburger:hover span.bar:nth-child(1)::after,
.hamburger:hover span.bar:nth-child(2)::before,
.hamburger:hover span.bar:nth-child(2)::after,
.hamburger:hover span.bar:nth-child(3)::before,
.hamburger:hover span.bar:nth-child(3)::after {
  background-color: #564E44;
}
.hamburger.active {
  background-color: transparent;
}
.hamburger.active span.bar {
  background-color: #564E44;
}
.hamburger.active > .inner:nth-child(1)::before, .hamburger.active > .inner:nth-child(1)::after, .hamburger.active > .inner:nth-child(2)::before, .hamburger.active > .inner:nth-child(2)::after, .hamburger.active > .inner:nth-child(3)::before, .hamburger.active > .inner:nth-child(3)::after,
.hamburger.active span.bar:nth-child(1)::before,
.hamburger.active span.bar:nth-child(1)::after,
.hamburger.active span.bar:nth-child(2)::before,
.hamburger.active span.bar:nth-child(2)::after,
.hamburger.active span.bar:nth-child(3)::before,
.hamburger.active span.bar:nth-child(3)::after {
  background-color: #564E44;
}
.hamburger > .inner {
  margin: 0;
  margin-top: -1px;
  position: relative;
  width: 100%;
}
.hamburger span.bar {
  background-color: #564E44;
  border-radius: 0;
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  width: 100%;
}
.hamburger span.bar:nth-child(1) {
  top: -8px;
}
.hamburger span.bar:nth-child(3) {
  top: 8px;
}
.hamburger:focus {
  outline: 0;
}

/* HEADER */
.hamburger--criss-cross > .inner::before, .hamburger--criss-cross > .inner::after {
  background-color: #564E44;
  border-radius: 0;
  content: "";
  display: block;
  height: 2px;
  position: absolute;
  width: 100%;
  opacity: 0;
  transform-origin: 0 50%;
  transition: opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--criss-cross > .inner::before {
  transform: rotate(45deg) translate3d(-4.686291501px, -11.313708499px, 0) scaleX(0);
}
.hamburger--criss-cross > .inner::after {
  transform: rotate(-45deg) translate3d(-4.686291501px, 11.313708499px, 0) scaleX(0);
  transition-delay: 0.05s;
}
.hamburger--criss-cross span.bar {
  transition: transform 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), width 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.hamburger--criss-cross span.bar:nth-child(1) {
  transition-delay: 0.165s;
}
.hamburger--criss-cross span.bar:nth-child(2) {
  transition-delay: 0.18s;
}
.hamburger--criss-cross span.bar:nth-child(3) {
  transition-delay: 0.195s;
}
.hamburger--criss-cross.active > .inner::before, .hamburger--criss-cross.active > .inner::after {
  opacity: 1;
}
.hamburger--criss-cross.active > .inner::before {
  transform: rotate(45deg) translate3d(-4.686291501px, -11.313708499px, 0);
  transition-delay: 0.2s;
}
.hamburger--criss-cross.active > .inner::after {
  transform: rotate(-45deg) translate3d(-4.686291501px, 11.313708499px, 0);
  transition-delay: 0.25s;
}
.hamburger--criss-cross.active span.bar {
  opacity: 0;
  transform: translate3d(-10px, 0, 0);
  width: 50%;
}
.hamburger--criss-cross.active span.bar:nth-child(1) {
  transition-delay: 0s;
}
.hamburger--criss-cross.active span.bar:nth-child(2) {
  transition-delay: 0.1s;
}
.hamburger--criss-cross.active span.bar:nth-child(3) {
  transition-delay: 0.05s;
}

.hamburger {
  position: relative;
  z-index: 3;
}
@media screen and (min-width : 50em) {
  .hamburger {
    display: none;
  }
}

header {
  margin-bottom: 70px;
}

header nav {
  position: fixed;
  width: 100dvw;
  height: 100dvh;
  top: 0;
  z-index: 2;
  background-color: #fff;
  left: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
@media screen and (min-width : 50em) {
  header nav {
    position: relative;
    height: auto;
    left: 0;
    width: auto;
    background-color: transparent;
  }
}
.menu-open header nav {
  transform: translateX(-100%);
}
@media screen and (min-width : 50em) {
  .menu-open header nav {
    transform: none;
  }
}

nav ul {
  list-style: none;
  padding: 0;
}
@media screen and (min-width : 50em) {
  nav ul {
    display: flex;
    gap: 35px;
  }
}

/* LAYOUT */
* {
  box-sizing: border-box;
}

/*
.screen-full-width{
  @include flex-container(1rem);

  .test{
    @include flex-col(4, 12, 1rem);
  }
}

*/
img {
  height: auto;
}

/* Override blockGap for smaller screens */
@media (max-width: 40.063em) {
  :root :where(.is-layout-flex) {
    gap: 17.5px;
  }
  .wp-site-blocks > * + *,
  .wp-block-post-content > * + * {
    -webkit-margin-before: 17.5px;
            margin-block-start: 17.5px;
  }
}
@media screen and (min-width : 64.063em) {
  .wp-site-blocks > * + *,
  .wp-block-post-content > * + * {
    -webkit-margin-before: 35px;
            margin-block-start: 35px;
  }
}
.wp-site-blocks {
  padding: 17.5px;
}
@media screen and (min-width : 50em) {
  .wp-site-blocks {
    padding: 35px;
  }
}

button, a.button, .wp-block-button__link, .wp-block-post-navigation-link a {
  text-decoration: none;
  border: 1px solid #564E44;
  border-radius: 50px;
  background: transparent;
  padding: 5.8333333333px 8.75px;
  transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
button:hover, button.mixitup-control-active, a.button:hover, a.button.mixitup-control-active, .wp-block-button__link:hover, .wp-block-button__link.mixitup-control-active, .wp-block-post-navigation-link a:hover, .wp-block-post-navigation-link a.mixitup-control-active {
  cursor: pointer;
  opacity: 0.4;
}

.wp-block-post-title, .entry-content {
  max-width: 1560px;
  margin-left: auto;
  margin-right: auto;
}

h1 {
  margin-bottom: 70px;
}

@media screen and (min-width : 1920px) {
  .project-desc {
    max-width: 50%;
  }
}

@media screen and (min-width : 50em) {
  .wp-block-post-featured-image {
    margin-bottom: 52.5px;
  }
}
@media screen and (min-width : 64.063em) {
  .wp-block-post-featured-image {
    margin-bottom: 70px;
  }
}

@media (max-width: 780px) {
  .is-layout-flex .wp-block-column {
    margin-bottom: 35px;
  }
}

.wp-block-group.post-navigation {
  display: flex;
  justify-content: space-between;
  margin-top: 35px;
  margin-bottom: 35px;
}
.wp-block-group.post-navigation .wp-block-post-navigation-link {
  -webkit-margin-before: 0;
          margin-block-start: 0;
}
.wp-block-group.post-navigation .wp-block-post-navigation-link a {
  padding: 0 17.5px;
}

.wp-block-buttons-is-layout-flex {
  gap: 17.5px;
}

/* FOOTER */
footer .is-horizontal {
  align-items: end;
}
footer {
  padding-top: 52.5px;
}
