/*
 * Former Divi Theme Options CSS: Divi customizer typography (first block) + the site's custom CSS.
 * Kept in the original order; only image URLs were changed to theme files.
 */

/* ---- Divi customizer settings ---- */
body { font-size:18px }
body { color:#ffffff }
h1, h2, h3, h4, h5, h6 { color:#ffffff }
body { line-height:1.4em }
body { font-weight:400 }
a { color:#00afe0 }
h1, h2, h3, h4, h5, h6 { line-height:1.1em }
h1 { font-size:72px }
h2 { font-size:61px }
h3 { font-size:52px }
h4 { font-size:43px }
h5 { font-size:38px }
h6 { font-size:33px }

/* ---- Custom CSS ---- */
a {
  cursor:grab!important;
}

a:hover {
  color:#8e8e8e!important;
  transition:none!important;
  cursor:grab!important;
}

p {
  font-weight:400;
  line-height:1.6em;
}

h1 {
  font-size:clamp(80px,7.5vw,110px)!important;
  line-height:90%;
}

h2 {
  font-size:clamp(36px,6vw,72px)!important;
  line-height:110%;
}

h3 {
  font-size:clamp(22px,4.5vw,56px)!important;
  line-height:120%;
  letter-spacing:-0.56px;
}

h4 {
  font-size:clamp(22px,4vw,48px)!important;
  line-height:110%;
}

.logoText {
  font-size:clamp(16px,3vw,30px)!important;
  line-height:120%;
}

.logo {
  height:31px;
  width:auto;
}

h5 {
  font-size:clamp(20px,3.5vw,34px)!important;
  line-height:120%;
}

.dynamic-break {
  margin-top:calc(0.8em);
}

.elongated-dash::before {
  content:"-";
  font-size:32px;
  letter-spacing:0.2em;
}

.et-pb-controllers {
  left:2em;
  text-align:left;
  width:300px;
}

.et-pb-controllers a {
  border-radius:4px;
  width:77px;
  height:4px;
}

.project-filters {
  display:flex;
  flex-wrap:wrap;
  margin:0;
  margin-bottom:20px;
}

.filter-button {
  border:none!important;
  background:none!important;
  padding:0;
  margin-right:8px;
  margin-bottom:2px;
  text-decoration:none!important;
  font-size:clamp(20px,3vw,34px)!important;
  line-height:120%;
  cursor:pointer;
  color:#919191;
  transition:color 0.3s ease;
}

.filter-button.active,.filter-button:hover {
  color:inherit!important;
}

.project-container {
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  grid-column:span 12;
}

.project-item {
  position:relative;
  opacity:1;
  visibility:visible;
  transition:opacity 0.8s ease-in-out,visibility 0.8s ease-in-out;
}

.project-item a {
  text-decoration:none;
  color:inherit;
}

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

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

.project-overlay {
  position:absolute;
  top:8px;
  right:8px;
  width:32px!important;
  height:32px!important;
  z-index:10;
  opacity:0;
  transition:opacity 0.3s ease-in-out;
}

.project-item:hover .project-overlay {
  opacity:1;
}

.project-info {
  margin-top:10px;
  text-align:left;
  margin-bottom:60px;
}

.project-meta {
  align-items:left;
}

.project-title {
  align-items:left;
}

.alignTextLeft {
  text-align:left;
}

.alignTextCenter {
  text-align:center;
}

.logoText {
  display:flex;
  align-items:center;
  font-size:30px;
}

.logoLine {
  width:53px;
  height:2px;
  background-color:black;
  margin:0;
  position:relative;
  top:25%;
}

.grid-container {
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:16px;
  max-width:100vw;
  margin:0 auto;
  padding:0 40px;
}

@media (max-width:800px) {
  .grid-container {
    grid-template-columns:repeat(4,1fr);
    gap:12px;
    padding:0 20px;
  }
  .project-container {
    position:relative;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    grid-column:span 4;
  }
  .project-info {
    margin-bottom:28px;
  }
}

.col-span-1 {
  grid-column:span 1;
}

.col-span-2 {
  grid-column:span 2;
}

.col-span-3 {
  grid-column:span 3;
}

.col-span-4 {
  grid-column:span 4;
}

.col-span-5 {
  grid-column:span 5;
}

.col-span-6 {
  grid-column:span 6;
}

.col-span-7 {
  grid-column:span 7;
}

.col-span-8 {
  grid-column:span 8;
}

.col-span-9 {
  grid-column:span 9;
}

.col-span-10 {
  grid-column:span 10;
}

.col-span-11 {
  grid-column:span 11;
}

.col-span-12 {
  grid-column:span 12;
}

.custom-grid {
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:15px;
  width:100%;
  max-width:1365px;
  margin:auto;
  align-items:center;
}

.custom-col-header {
  display:flex;
  justify-content:center;
  align-items:center;
  text-align:center;
}

.grid-left-header {
  grid-column:span 3;
  width:100%;
  min-width:min-content;
  white-space:nowrap;
  text-align:left;
  align-self:center;
}

.grid-center-header {
  grid-column:span 7;
  display:flex;
  justify-content:center;
  align-self:center;
}

.grid-right-header {
  grid-column:span 2;
  display:flex;
  justify-content:flex-end;
  align-self:center;
}

.grid-center-header img {
  height:31px;
  width:auto;
}

.grid-left-header .menu,.grid-left-header ul {
  display:flex;
  gap:35px;
  list-style:none;
  padding:0;
  margin:0;
}

.grid-left-header .menu li a,.grid-left-header ul li a {
  text-decoration:none;
}

.grid-left-header .menu li a:hover,.grid-left-header ul li a:hover {
  color:#878787!important;
}

.grid-left-header .menu li.current-menu-item a,.grid-left-header .menu li.current_page_item a,.grid-left-header ul li.current-menu-item a,.grid-left-header ul li.current_page_item a {
  color:#878787!important;
}

@media (max-width:980px) {
  .mobile-nav-grid-container {
    display:grid;
    max-width:100vw;
    margin:0 auto;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
    padding:0 20px;
  }
  .mobile-nav {
    display:none;
    position:absolute;
    top:70px;
    padding-top:60px;
    padding-bottom:30px;
    left:0px;
    width:100vw;
    background-color:var(--bg-color);
    transition:background-color 2.0s cubic-bezier(0.4,0,0.2,1);
    box-shadow:0px 0px;
    z-index:1000;
  }
  .custom-menu-class {
    grid-column:3 / span 2;
    margin-bottom:30px;
  }
  .mobile-nav.active {
    display:block;
  }
  .mobile-nav ul {
    list-style:none;
    padding:0;
    margin:0;
  }
  .mobile-nav ul li {
    padding:0px;
    text-align:left;
  }
  .mobile-nav ul li:last-child {
    border-bottom:none;
  }
  .mobile-nav ul li a {
    display:block;
    text-decoration:none;
    color:inherit;
    padding:0px;
  }
  .mobile-nav ul li a:hover {
    color:#878787!important;
  }
  .mobile-nav ul li.current-menu-item a,.mobile-nav ul li.current_page_item a {
    color:#878787!important;
  }
  .mobile-right-header {
    grid-area:switch;
    justify-content:flex-end;
    margin-top:10px;
  }
  .mobile-header::before {
    content:"";
    grid-column:span 2;
    grid-row:1;
    height:auto;
    flex-grow:1;
  }
  .mobile-left-header img {
    height:18;
    width:auto;
  }
  .theme-switch-wrapper {
    grid-column:1 / span 2;
    align-items:flex-start;
  }
  .language-toggle {
    grid-column:3 / span 2;
  }
}

.portfolio-image-box {
  grid-column:2 / span 10;
  width:100%;
}

.portfolio-image-text {
  grid-column:2 / span 10;
  display:flex;
  justify-content:left;
  align-items:left;
  width:100%;
}

@media (max-width:800px) {
  .portfolio-image-box {
    grid-column:1 / span 4;
  }
  .portfolio-image-text {
    grid-column:1 / span 4;
  }
}

.image-wrapper {
  position:relative;
  display:inline-block;
  width:100%;
}

.image-container32 {
  width:100%;
  aspect-ratio:3 / 2;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  position:relative;
  overflow:hidden;
  display:flex;
  justify-content:center;
  align-items:center;
}

.image-container32::before {
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background-image:inherit;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  transition:transform 0.9s cubic-bezier(0.25,0.1,0.25,1.0);
}

.image-container32:hover::before {
  transform:scale(1.03);
}

.image-container32-static {
  width:100%;
  aspect-ratio:3 / 2;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  position:relative;
  overflow:hidden;
  display:flex;
  justify-content:center;
  align-items:center;
}

.image-container32-static::before {
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background-image:inherit;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  transition:transform 0.9s cubic-bezier(0.25,0.1,0.25,1.0);
}

.full-clickable-link {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  z-index:2;
}

.portfolio-image-overlay {
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:80%;
  text-align:center;
}

.portfolio-image-overlay-title {
  color:white;
  font-size:clamp(40px,8vw,110px);
  line-height:90%;
  letter-spacing:-1%;
  margin:0;
}

.portfolio-read-link {
  position:absolute;
  bottom:32px;
  left:50%;
  transform:translateX(-50%);
  color:white!important;
  font-size:22px;
  line-height:140%;
  letter-spacing:-1%;
  text-decoration:none;
  transition:background 0.9s cubic-bezier(0.25,0.1,0.25,1.0);
}

.portfolio-read-link:hover {
}

.header-grid {
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:16px;
  max-width:100%;
  margin:0 auto;
  padding:0 40px;
  contain:layout style;
}

.footer-grid {
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:16px;
  max-width:100%;
  margin:0 auto;
  padding:0 40px;
  contain:layout style;
}

.footer-studio {
  grid-column:span 2;
}

.footer-contact {
  grid-column:span 2;
}

.footer-social {
  grid-column:span 2;
}

.footer-studio-details {
  grid-column:span 2;
}

.footer-privacy-policy {
  grid-column:span 2;
}

.FooterLogo {
  background-image:url('../images/GDN_G_Logo_BW.svg');
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center;
  width:173px;
  height:173px;
}

.footer-col {
  display:flex;
  flex-direction:column;
}

.footer-col-image {
  grid-column:12 / span 1;
  justify-self:end;
}

.footer-col img {
  width:100%;
  height:auto;
  display:block;
}

@media (max-width:800px) {
  .footer-grid {
    grid-template-columns:repeat(4,1fr);
    gap:12px;
    padding:0 20px;
  }
  .FooterLogo {
    width:133px;
    height:133px;
  }
  .studio {
    grid-column:1 / 3;
  }
  .footer-contact {
    grid-column:3 / 5;
  }
  .footer-social {
    grid-column:1 / 3;
    margin-top:12px;
  }
  .footer-col-image {
    grid-column:3 / 5;
    text-align:right;
    align-self:start;
  }
  .footer-logo {
    grid-column:3 / 5;
    text-align:right;
    align-self:start;
  }
  .footer-bottom {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    align-items:center;
    margin-top:24px;
  }
  .footer-studio-details {
    grid-column:1 / 3;
  }
  .footer-privacy-policy {
    grid-column:3 / 5;
  }
}

.portfolioTitleSingle {
  grid-column:4 / span 7;
}

.singleProjectTitle {
  grid-column:4 / span 7;
}

.singleProjectMainHeading {
  grid-column:3 / span 8;
}

.containerCredit {
  grid-column:1 / span 2;
}

@media (max-width:800px) {
  .singleProjectTitle {
    grid-column:1 / span 3;
  }
  .singleProjectMainHeading {
    grid-column:1 / span 4;
  }
  .containerCredit {
    grid-column:2 / span 2;
  }
}

.gallery-container {
  display:grid;
  grid-template-columns:repeat(24,1fr);
  gap:16px;
  max-width:100vw;
  margin:0 auto;
  padding:0 40px;
}

.gallery-col-span-8 {
  grid-column:5 / span 16;
}

.gallery-col-span-5 {
  grid-column:8 / span 10;
}

.gallery-item {
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  margin-bottom:80px;
}

@media (max-width:480px) {
  .gallery-container {
    grid-template-columns:repeat(8,1fr);
  }
  .gallery-col-span-8 {
    grid-column:2 / span 6;
  }
  .gallery-col-span-5 {
    grid-column:3 / span 4;
  }
}

#project-list {
  position:relative;
}

.project-item {
  opacity:1;
  transform:translateY(0);
  transition:opacity 0.9s cubic-bezier(0.25,0.1,0.25,1.0),transform 0.9s cubic-bezier(0.25,0.1,0.25,1.0);
}

.hidden-project {
  display:none;
}

.project-item.show {
  opacity:1;
  transform:translateY(0);
}

.gallery-item img {
  width:100%;
  height:auto;
  object-fit:cover;
}

.contact-map {
  grid-column:1 / span 8;
  position:relative;
  left:calc((100vw - 100%) / -2);
  width:calc(100% + (100vw - 100%)/2);
  max-width:none;
  display:block;
  aspect-ratio:3/2;
  padding-bottom:66.66%;
  position:relative;
  overflow:hidden;
}

.contact-map iframe {
  width:100%;
  height:400px;
  border:none;
}

.contact-address {
  grid-column:9 / span 4;
  display:flex;
  flex-direction:column;
  justify-content:top;
}

.map-image {
  width:100%;
  height:auto;
  display:block;
  transition:transform 0.9s cubic-bezier(0.25,0.1,0.25,1.0);
}

.contact-map:hover .map-image {
  transform:scale(1.05);
}

.contact-info {
  grid-column:9 / span 4;
  display:flex;
  flex-direction:column;
  justify-content:top;
}

.underline-link {
  text-decoration:underline;
}

.underline-link:hover {
  text-decoration:underline;
}

.speedy-transition {
  transition:all 0.3s ease;
}

.contact-image-1 {
  grid-column:2 / span 4;
}

.contact-image-2 {
  grid-column:8 / span 5;
  position:relative;
  right:0px;
  width:calc(100% + 40px);
}

.contact-grid-item img {
  width:100%;
  height:auto;
  display:block;
}

@media (max-width:800px) {
  .contact-map {
    grid-column:1 / 5;
    left:-20px;
    width:100%;
  }
  .contact-map iframe {
    height:300px;
  }
  .contact-info {
    grid-column:1 / 5;
    text-align:left;
    margin-top:20px;
  }
  .contact-image-1 {
    grid-column:1 / span 2;
    margin-left:20px;
    margin-right:20px;
  }
  .contact-image-2 {
    grid-column:3 / span 5;
    position:relative;
    right:0px;
    width:calc(100% + 20px);
  }
}

.menu-text-column {
  grid-column:1 / 5;
  display:flex;
  flex-direction:column;
}

.menu-text-column h4 {
  margin-top:0;
  margin-bottom:0;
  padding:0;
}

.menu-text-item {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  align-items:center;
  text-decoration:none;
  color:inherit;
  margin-bottom:2px;
  transition:color 0.3s ease;
}

.menu-text-item .number {
  grid-column:1 / 2;
  text-align:left;
}

.menu-text-item .label {
  grid-column:2 / 5;
  text-align:left;
}

.menu-text-item:hover,.menu-text-item:hover .number,.menu-text-item:hover .label {
  color:#878787;
}

.menu-image-column {
  grid-column:6 / span 7;
  position:relative;
  right:0px;
  width:calc(100% + (100vw - 100%)/2);
  max-width:none;
  display:block;
  aspect-ratio:3/2;
  padding-bottom:66.66%;
  position:relative;
  overflow:hidden;
}

.menu-image-column img {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

@media (max-width:800px) {
  .menu-text-item .number {
    grid-column:1 / 1;
    text-align:left;
  }
  .menu-text-item .label {
    grid-column:2 / 4;
    text-align:left;
  }
  .menu-image-column {
    grid-column:2 / span 3;
  }
}

.about-left-col {
  grid-column:1 / span 2;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}

.about-right-col {
  grid-column:6 / span 6;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}

.team-card {
  grid-column:span 4;
  display:flex;
  flex-direction:column;
}

.team-image {
  width:100%;
  display:block;
}

.team-iconimage {
  width:24px;
  height:24px;
  object-fit:contain;
  transition:color 0.3s ease;
}

[data-theme="dark"] .team-iconimage {
  filter:invert(1);
}

.team-details {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  margin-top:10px;
}

.team-details-text {
  text-align:left;
}

.team-details-image-wrapper {
  width:100%;
  aspect-ratio:3 / 2;
  overflow:hidden;
}

.team-details-image-wrapper img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:top;
  display:block;
}

.team-details-icons {
  display:flex;
  gap:10px;
}

.team-details-icons .icon {
  width:24px;
  height:24px;
  display:block;
}

@media (max-width:800px) {
  .about-left-col {
    grid-column:1 / span 4;
  }
  .about-right-col {
    grid-column:2 / span 3;
    margin-bottom:24px;
  }
  .team-card {
    margin-bottom:48px;
  }
  .team-card:last-child {
    margin-bottom:0;
  }
}

.services-accordion {
  width:100%;
  margin:0 auto;
  border-radius:4px;
  overflow:hidden;
}

.services-accordion-item {
  border-bottom:1px solid #919191;
}

.services-accordion-title h5 {
  margin:0;
  padding:0;
  transition:color 0.3s ease;
  color:inherit;
}

.services-accordion-toggle {
  display:none;
}

.services-accordion-header {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:6px;
  padding-left:0;
  transition:background 0.3s ease;
}

.services-accordion-header::after {
  content:"";
  display:inline-block;
  width:32px;
  height:32px;
  background:url('../images/ArrowsDownB.png') no-repeat center;
  background-size:contain;
  transition:background-image 0.3s ease;
}

[data-theme="dark"] .services-accordion-header::after {
  background:url('../images/ArrowsDownW.png') no-repeat center;
}

.services-accordion-header:hover .services-accordion-title h5 {
  color:#919191!important;
}

.services-accordion-header:hover::after {
  background-image:url('../images/ArrowsDownG.png');
}

@media (max-width:800px) {
  .services-accordion-header::after {
    content:"";
    display:inline-block;
    width:24px;
    height:24px;
    background:url('../images/ArrowsDownB_mobile.png') no-repeat center;
    background-size:contain;
    transition:background-image 0.3s ease;
  }
  [data-theme="dark"] .services-accordion-header::after {
    background:url('../images/ArrowsDownW_mobile.png') no-repeat center;
  }
  .services-accordion-header:hover .services-accordion-title h5 {
    color:#919191!important;
  }
  .services-accordion-header:hover::after {
    background-image:url('../images/ArrowsDownG_mobile.png');
  }
}

.services-accordion-toggle:checked~.services-accordion-header {
  color:#919191!important;
}

.services-accordion-toggle:checked~.services-accordion-header::after {
  background-image:url('../images/ArrowsUpG.png');
}

.services-accordion-toggle:checked~.services-accordion-header .services-accordion-title h5 {
  color:#919191!important;
}

.services-accordion-icon {
  width:32px;
  height:32px;
  display:block;
}

.services-accordion-content {
  max-height:0;
  overflow:hidden;
  transition:max-height 0.5s cubic-bezier(0.4,0,0.4,1),padding 0.5s cubic-bezier(0.4,0,0.4,1);
  padding:0 15px;
}

.services-accordion-toggle:checked~.services-accordion-content {
  max-height:500px;
  padding:15px;
}

.services-accordion-content p {
  margin:0;
  line-height:1.5;
}

.collaboration-project {
  display:flex;
  flex-direction:column;
}

.collaboration-project {
  display:flex;
  flex-direction:column;
}

.collaboration-project.layout1 {
  grid-column:2 / span 4;
}

.collaboration-project.layout2 {
  grid-column:8 / span 5;
  right:0px;
  width:calc(100% + (100vw - 100%)/2);
  max-width:none;
}

.collaboration-project-container {
  position:relative;
  width:100%;
  overflow:hidden;
}

.collaboration-project-image-container {
  position:relative;
  width:100%;
  overflow:hidden;
  padding-bottom:66.66%;
}

.collaboration-project-image-container img {
  position:absolute;
  width:100%;
  height:100%!important;
  object-fit:cover;
}

.collaboration-project-title {
  text-align:left;
  width:100%;
  opacity:0;
  transition:opacity 0.3s ease;
  position:relative;
  margin-top:16px;
}

.collaboration-project-container:hover+.collaboration-project-title {
  opacity:1;
}

.collaboration-project.layout1 img.portrait,.collaboration-project.layout2 img.portrait {
  aspect-ratio:2 / 3;
}

.collaboration-project-container a img {
  transition:transform 0.3s cubic-bezier(0.4,0,0.2,1);
}

.collaboration-project-container a:hover img {
  transform:scale(1.05);
}

.collaboration-project-container.layout1,.collaboration-project-container.layout2 {
  grid-row:1;
}

.collaboration-project-title.layout1,.collaboration-project-title.layout2 {
  grid-row:2;
}

@media (max-width:800px) {
  .collaboration-project.layout1 {
    grid-column:1 / span 2;
  }
  .collaboration-project.layout2 {
    grid-column:3 / span 2;
    right:0px;
    width:calc(100% + (100vw - 100%)/2);
    max-width:none;
  }
}

.svg-row {
  grid-column:1 / -1;
  display:flex;
  justify-content:space-evenly;
  align-items:center;
  height:148px;
}

@media (max-width:800px) {
  .svg-row {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
    height:auto;
  }
}

.svg-icon {
  height:64px;
  width:auto;
  margin:0 10px;
}

.studio-section-separator {
  grid-column:6 / span 6;
  border-bottom:1px solid #919191;
}

@media (max-width:800px) {
  .studio-section-separator {
    grid-column:1 / span 4;
    border-bottom:0;
  }
}

.home-project {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  position:relative;
  width:100%;
  height:auto;
  overflow:hidden;
}

.home-project.layout-one {
  grid-column:1 / span 9;
  position:relative;
  left:calc((100vw - 100%) / -2);
  width:calc(100% + (100vw - 100%)/2);
  max-width:none;
  display:block;
  aspect-ratio:3/2;
  padding-bottom:66.66%;
  position:relative;
  overflow:hidden;
}

.home-project.layout-two {
  grid-column:4 / span 9;
  position:relative;
  right:0px;
  width:calc(100% + (100vw - 100%)/2);
  max-width:none;
  display:block;
  aspect-ratio:3/2;
  padding-bottom:66.66%;
  position:relative;
  overflow:hidden;
}

.home-project.layout-three {
  grid-column:2 / span 5;
  max-width:none;
  display:block;
  aspect-ratio:3/2;
  padding-bottom:66.66%;
  position:relative;
  overflow:hidden;
}

.home-project.layout-one img.portrait,.home-project.layout-two img.portrait,.home-project.layout-three img.portrait {
  aspect-ratio:2 / 3;
}

.home-project.layout-one img,.home-project.layout-two img,.home-project.layout-three img {
  width:100%;
  height:auto;
  object-fit:cover;
}

.home-project a img {
  transition:transform 0.3s cubic-bezier(0.4,0,0.2,1);
}

.home-project a:hover img {
  transform:scale(1.05);
}

.home-image-container {
  position:relative;
  width:100%;
  overflow:hidden;
  padding-bottom:66.66%;
}

.home-image-container img {
  position:absolute;
  width:100%;
  height:100%!important;
  object-fit:cover;
}

.home-project-title {
  text-align:left;
  width:100%;
  opacity:0;
  transition:opacity 0.3s ease;
  position:relative;
}

.home-project-title.layout-one {
  grid-column:1 / span 9;
}

.home-project-title.layout-two {
  grid-column:4 / span 9;
}

.home-project-title.layout-three {
  grid-column:2 / span 5;
}

.home-project:hover+.home-project-title {
  opacity:1;
}

@media (max-width:800px) {
  .home-project.layout-one,.home-project-title.layout-one {
    grid-column:1 / span 4;
  }
  .home-project.layout-two,.home-project-title.layout-two {
    grid-column:3 / span 2;
  }
  .home-project.layout-three,.home-project-title.layout-three {
    grid-column:1 / span 3;
  }
}

.home_topspacer {
  height:128px;
}

.home_spacer {
  height:156px;
}

.home_bottomspacer {
  height:156px;
}

.portfolio_topspacer {
  height:156px;
}

.studio_spacer {
  margin-top:128px;
}

.footer_spacer {
  margin-top:128px;
}

@media (max-width:980px) {
  .home_topspacer {
    height:10px;
  }
  .portfolio_topspacer {
    height:80px;
  }
  .studio_spacer {
    margin-top:64px;
  }
  .home_spacer {
    height:64px;
  }
  .home_bottomspacer {
    height:80px;
  }
  .footer_spacer {
    margin-top:80px;
  }
}

.mobile-header {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  padding:20px;
  min-height:70px;
  align-items:center;
  background-color:var(--bg-color)!important;
  transition:background-color 2.0s cubic-bezier(0.4,0,0.2,1)!important;
}

.mobile-left-header {
  grid-column:1 / span 3;
  justify-self:start;
  align-self:center;
}

.mobile-menu-header {
  grid-column:4;
  display:flex;
  justify-content:flex-end;
  align-items:center;
}

.mobile-menu-text {
  font-size:18px;
}

.mobile-logo img {
  height:18px;
  width:auto;
  display:block;
}

.footer a,.footer a:link,.footer a:visited,.footer a:hover,.footer a:active,.footer a:focus {
  cursor:grab!important;
  -webkit-cursor:grab!important;
  -moz-cursor:grab!important;
}

.clickable-image {
  width:100%;
  transition:all 0.3s ease;
}

.clicked {
  filter:brightness(50%);
}


/* ---- Page-specific ---- */

/* Contact: headings use Divi's 1.1em line height (as on the old site). */
.page-contact h1,
.page-contact h2,
.page-contact h3,
.page-contact h4,
.page-contact h5,
.page-contact h6 {
  line-height: 1.1em;
}

/* Footer: language switcher on the right (desktop only; mobile has it in the menu). */
.footer-language {
  grid-column: 9 / span 4;
  align-items: flex-end;
  text-align: right;
}
