/*
 Theme Name:   Lakeshore Exhibit Service
 Theme URI:    http://lakeshoreexhibits.com
 Description:  Lakeshore Exhibit Service
 Author:       Randy Baum
 Author URI:   https://www.randybaumdesign.com
 Template:     generatepress
 Version:      0.1
*/

:root {
  /* TRANSITIONS */
  --2s: .2s cubic-bezier(0.4,0,0.2,1);
  /* FONTS */
  --header-font: 'HipsterScriptPro';
  --body-font: 'Century Gothic';
  /* SPACING */
  --space-4xs: 0.125rem;
  --space-3xs: 0.25rem;
  --space-2xs: 0.5rem;
  --space-xs: 0.75rem;
  --space-sm: 1rem;
  --space-md: clamp(1.5rem, calc(1.125rem + 0.78125vw), 1.75rem);
  --space-lg: clamp(2.25rem, calc(1.125rem + 2.34375vw), 3rem);
  --space-xl: clamp(3.5rem, calc(1.25rem + 4.6875vw), 5rem);
  --space-2xl: clamp(5.75rem, calc(2.375rem + 7.03125vw), 8rem);
  --space-3xl: clamp(9.25rem, calc(4.75rem + 9.375vw), 12.25rem);
  --space-4xl: clamp(15rem, calc(7.5rem + 15.625vw), 20rem);
  /* TYPE SCALE */
  --text-xs: clamp(0.6875rem, calc(0.59375rem + 0.1953125vw), 0.75rem); 
  --text-sm: clamp(0.8125rem, calc(0.625rem + 0.390625vw), 0.9375rem); 
  --text-base: clamp(1rem, calc(0.8125rem + 0.390625vw), 1.125rem);
  --text-md: clamp(1.1875rem, calc(0.90625rem + 0.5859375vw), 1.375rem);
  --text-lg: clamp(1.4375rem, calc(1.15625rem + 0.5859375vw), 1.625rem);
  --text-xl: clamp(1.75rem, calc(1.375rem + 0.78125vw), 2rem);
  --text-2xl: clamp(2.0625rem, calc(1.40625rem + 1.3671875vw), 2.5rem);
  --text-3xl: clamp(2.5rem, calc(1.75rem + 1.5625vw), 3rem);
  --text-4xl: clamp(3rem, calc(2.0625rem + 1.953125vw), 3.625rem);
}

.les-box-shadow {
	box-shadow: 0 0.25rem 1rem 0 rgba(0, 69, 133, 0.1)
}

@font-face {
    font-family: 'HipsterScriptPro';
    src: url('./fonts/HipsterScriptPro.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Century Gothic';
    src: url('./fonts/CenturyGothic-Bold.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Century Gothic';
    src: url('./fonts/CenturyGothic.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

.editor-styles-wrapper [data-title="Pattern"] {
	margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.editor-styles-wrapper .wp-block.full-width {
    max-width: 100%;
}

html {
	scroll-behavior: smooth;
}

html, body {
	scroll-padding-top: 8.125rem;
}

/* OUR WORK (ARCHIVE) */

.term-branded-environments a.gb-button-24842e13,
.term-exhibits a.gb-button-c21e98bb,
.term-modular-portable-displays a.gb-button-75f54116 {
	background-color: var(--contrast);
	color: var(--base-3);
}

.gb-headline-d98b8d49:last-child {
	display: none;
}

@media (min-width: 769px) {

.home .flickity-slider img {
	width: auto;
	height: 56.25rem;
	max-height: calc(100vh - 115px);
}

.home .flickity-page-dots {
	display: flex;
	margin: 0 !important;
	line-height: 0.8rem;
	bottom: 0;
	z-index: 3;
}

.home .flickity-page-dots .dot {
	flex: 1;
	height: 0.8rem;
	margin: 0 1px;
	border-radius: 0;
	background: var(--accent-2);
	opacity: 0.3;
}

.home .flickity-page-dots .dot.is-selected {
	background: var(--base-3);
	opacity: 0.8;
}
	
}

@media (max-width: 768px) {

.home .flickity-slider img {
	width: 100%;
	height: auto;
	max-height: calc(100vh - 115px);
}
	
	.home .flickity-page-dots {
		display: none;
	}
	
}

/* LINKEDIN WIDGET */

.eapps-widget-toolbar {
	display: none !important;
}

div.eapps-widget {
	z-index: 0;
}

/* MEET OUR TEAM */

.team-grid [data-trigger-modal] {
	cursor: pointer;
}

.wp-block-cloudcatch-light-modal-block {
	cursor: auto;
}

/* OUR WORK */

.gb-query-loop-item.work > div:hover .work-meta {
	opacity: 1;
}

.work_category-branded-environments .work-category {
	background: var(--contrast);
}

.work_category-modular-portable-displays .work-category {
	border-color: var(--accent);
	background: var(--base-3);
}

.work_category-modular-portable-displays .work-category a {
	color: var(--accent);
}

.show .post-term-item::before {
	content:'@ ';
}

.team-grid figure,
.gb-query-loop-item.work figure {
	overflow: hidden;
}

.team-grid [data-trigger-modal] figure img,
.gb-query-loop-item.work img,
.services-grid .gb-grid-column .gb-icon {
	transition: opacity .3s ease, scale .3s ease;
}

.team-grid [data-trigger-modal]:hover figure img,
.team-grid [data-trigger-modal]:focus-within figure img,
.gb-query-loop-item.work:hover img,
.gb-query-loop-item.work:focus-within img {
	opacity: 0.8;
	scale: 1.1;
}

.services-grid .gb-grid-column .gb-icon {
	transform: scale(0.9);
	transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 2);
}

.services-grid .gb-grid-column:hover .gb-icon {
	transform: scale(1);
}

#word-cloud a {
	text-decoration: none;
	fill: var(--contrast);
}

#word-cloud a:hover,
#word-cloud a:hover tspan {
	fill: var(--accent);
	opacity: 0.75;
}

/* SINGLE WORK */

.main-carousel {
	overflow: hidden;
	border-radius: 0.5rem;
	aspect-ratio: 4 / 3;
	margin-bottom: 0.5rem;
}

.main-carousel .carousel-cell img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	cursor: zoom-in;
}

.nav-carousel .carousel-cell {
	margin-right: 0.5rem;
	cursor: pointer;
}

.nav-carousel .carousel-cell img {
	width: 4.688rem;
	height: 4.688rem;
	border-radius: 0.25rem;	
}

.nav-carousel .carousel-cell:not(.is-selected) {
	opacity: 0.3;
}

.nav-carousel .carousel-cell:hover {
	opacity: 1;
}

.work .dynamic-entry-content > *:last-child {
	margin-bottom: 0;
}

.ar-1-1 {
	aspect-ratio: 1 / 1;
}

.ar-3-2 {
	aspect-ratio: 3 / 2;
}

.ar-4-3 {
	aspect-ratio: 4 / 3;
}

.ar-32-15 {
	aspect-ratio: 32 / 15;
}

:target mark {
	background: var(--accent);
	color: var(--base-3);
	font-weight: bold;
}

/* GP RESET */

.separate-containers .site-main {
	margin: 0;
}

.separate-containers .inside-article {
	padding: 0;
}

.main-navigation.toggled .main-nav ul ul {
	border-bottom: none;
}

.entry-content ol,
.entry-content ul {
	margin-left: 1.5em;
}

.entry-content ul li::marker {
	color: var(--accent);
}

.inside-header {
	padding: 1.25rem var(--space-md);
}

#masthead {
	position: fixed;
	width: 100%;
	z-index: 999;
	box-shadow: 0 0 var(--space-xs) rgba(0, 69, 133, 0.1);
}

.toggled .icon-menu-bars svg:first-child {
	display: block;
}

.toggled .icon-menu-bars svg:nth-child(2) {
	display: none;
}

.menu-toggle.menu-toggle.menu-toggle {
	font-size: var(--text-2xl);
	padding: 0;
	line-height: 1em;
}

.menu-toggle.menu-toggle.menu-toggle:hover,
.menu-toggle.menu-toggle.menu-toggle:active,
.menu-toggle.menu-toggle.menu-toggle:focus {
	color: var(--accent);
}

.menu-item-has-children .dropdown-menu-toggle {
	padding: 0 !important;
	line-height: 1em;
}

.main-navigation.toggled .main-nav li.menu-item-has-children a {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.open-to-close {
	transform-origin: 50% 50%;
	transition: var(--2s);
}

.dropdown-menu-toggle[aria-expanded="true"] .open-to-close {
	transform: rotate(45deg);
}

@media (min-width: 1101px) {
	
	html, body.admin-bar {
		scroll-padding-top: calc(8.125rem + 
	var(--wp-admin--admin-bar--height));
	}
	
	.site-header .header-image {
    width: 17.188rem;
	}
	
	.menu-item-has-children .dropdown-menu-toggle {
		display: none;
	}
	
	.main-navigation .main-nav ul li.menu-item-has-children>a {
		padding-right: 1.25rem;
	}
	
	/* TOP BAR */

	.gb-container-d82d504b {
		position: fixed;
		width: 100%;
		z-index: 1000;
	}
	
	/* ALIGN PRIMARY NAV */
	
	.main-navigation .main-nav ul li a {
    line-height: 3em;
	}
	
	.inside-header.inside-header {
    align-items: flex-end;
	}
	
	.nav-float-right #site-navigation {
		position: relative;
		top: 1.25rem;
	}
	
	/* SUB NAV */
	
	#menu-item-21 ul.sub-menu {
		width: 11rem;
	}
		
	#menu-item-97 ul.sub-menu {
		width: 18rem;
	}
	
	#menu-item-295 ul.sub-menu {
		width: 16rem;
	}
	
	#menu-primary-menu ul.sub-menu {
		box-shadow: 0 var(--space-xs) var(--space-xs) rgb(0 0 0 / 10%);
	}
	
	#menu-primary-menu ul.sub-menu li:hover a {
		padding-left: 1.5em;
	}
	
	#menu-primary-menu ul.sub-menu li a {
		padding: 1em 1.5em 1em calc(1.5em - var(--space-3xs));
		transition: padding .1s ease;
	}
	
	#menu-primary-menu ul.sub-menu li::before {
		background: var(--accent-2);
	}

	#menu-primary-menu ul.sub-menu li:hover::before {
		height: 100%;
	}

	#menu-primary-menu ul.sub-menu li::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: var(--space-3xs);
		height: 0;
	}
	
}

@media (max-width: 1100px) {
	
	html, body.admin-bar {
		scroll-padding-top: calc(6.25rem + 
	var(--wp-admin--admin-bar--height));
	}
	
	/* TOP BAR */

	.gb-container-d82d504b {
		display: none;
	}
	
	.mobile-menu-control-wrapper .menu-toggle,
	.mobile-menu-control-wrapper .menu-toggle:hover,
	.mobile-menu-control-wrapper .menu-toggle:focus,
	.has-inline-mobile-toggle #site-navigation.toggled {
		background-color: rgba(0, 0, 0, 0);
	}
	
}

@media (max-width: 768px) {

	.inside-header {
		padding: 1.25rem var(--space-md);
	}
	
	.work-meta {
		opacity: 1 !important;
	}
	
	.menu-toggle.menu-toggle.menu-toggle {
		margin-right: 0.75rem;
	}
	
	.menu-item-has-children .dropdown-menu-toggle {
		margin-right: 1.25rem;
	}
	
	.wp-block-cloudcatch-light-modal-block__wrapper.is-open {
		top: 3.125rem;
	}
	
	.wp-block-cloudcatch-light-modal-block {
		max-height: calc(100svh - 6.25rem);
		padding: var(--space-md);
		width: 100%;
	}

	.wp-block-cloudcatch-light-modal-block {
		background-color: var(--accent-3);
		color: var(--base-3);
	}
	
}

@media (max-width: 600px) {
	
	html, body {
		scroll-padding-top: 6.25rem;
	}
	
}

/* MADE WITH LOVE */

.made-with-love svg {
  position: relative;
  top: 0.15em;
  width: 1em;
  margin-right: 0.05em;
}

.made-with-love svg path {
  fill: #ff4262;
  transition: transform 0.32s cubic-bezier(0.4, 0, 0.6, 1);
}

.made-with-love a:hover,
.made-with-love a:active,
.made-with-love a:focus {
  text-decoration: underline;
}

.made-with-love a:hover svg,
.made-with-love a:active svg,
.made-with-love a:focus svg {
  animation: heartbeat 1.2s linear infinite both;
}

.made-with-love a:hover svg path,
.made-with-love a:active svg path,
.made-with-love a:focus svg path {
  fill: #ff647f;
}

@keyframes heartbeat {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(0.85);
  }
}