/*
You can add your own CSS here.

Click the help icon above to learn more.
*/
/* Twenty Seventeen - overlay ONLY the first SiteOrigin row on Page/Panel post-1 */
/* FONT IMPORTS - Accent font testing */
@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@400;500;600;700&family=Patrick+Hand&family=Kalam:wght@300;400;700&family=Special+Elite&family=Permanent+Marker&display=swap');
/* Twenty Seventeen - overlay ONLY the first SiteOrigin row on post-1 */
@media (min-width: 768px) {
  body .post-1 {
    position: relative !important;
  }

  body .post-1 .panel-image {
    position: relative !important;
    z-index: 1 !important;
  }

 body .post-1 .panel-content {
  position: static !important;
  background: transparent !important;
}

  /* ONLY the first SiteOrigin row */
body .post-1 .panel-content .panel-grid:first-of-type {
  position: absolute !important;
  top: 32% !important;
  left: 68% !important;
  right: auto !important;
  transform: translate(-50%, -50%) !important;
  z-index: 10 !important;

  width: 30vw !important;
  max-width: 30vw !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
  body .post-1 .panel-content .panel-grid:first-of-type .panel-grid-cell,
  body .post-1 .panel-content .panel-grid:first-of-type .so-panel,
  body .post-1 .panel-content .panel-grid:first-of-type .panel-widget-style {
    width: 100% !important;
		min-width: 0 !important;
    max-width: 100% !important;
		box-sizing: border-box !important;
  }

  body .post-1 .panel-content .panel-grid:first-of-type .panel-widget-style {
    background: rgba(0, 0, 0, 0.03) !important;
    padding: 24px 30px !important;
    border-radius: 2px !important;
    box-sizing: border-box !important;
  }

  body .post-1 .panel-content .panel-grid:first-of-type .textwidget,
  body .post-1 .panel-content .panel-grid:first-of-type .siteorigin-widget-tinymce {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  body .post-1 .panel-content .panel-grid:first-of-type p {
    margin-top: 0 !important;
    margin-bottom: 20px !important;
    line-height: 1.45 !important;
  }

  body .post-1 .panel-content .panel-grid:first-of-type p:last-child {
    margin-bottom: 0 !important;
  }
}
/* MOBILE - Twenty Seventeen featured image overlay for first row on post-1 */
@media (max-width: 767px) {
  body .post-1 {
    position: relative !important;
  }

  /* Featured image area */
  body .post-1 .panel-image {
    position: relative !important;
    z-index: 1 !important;
    min-height: 90vh !important;

    background-size: auto 115% !important;
    background-position: 16% -65px !important;
    background-repeat: no-repeat !important;
  }

  body .post-1 .panel-image img {
    width: 100% !important;
    min-height: 90vh !important;
    object-fit: cover !important;
    object-position: 70% top !important;
  }

  /* Keep page content above the featured image */
  body .post-1 .panel-content {
    position: relative !important;
    z-index: 2 !important;
    background: transparent !important;
  }

  /* Overlay only the first SiteOrigin row */
  body .post-1 .panel-content .panel-grid:first-of-type {
    position: absolute !important;
    top: -25% !important;
    left: 0 !important;
    right: 0 !important;
    transform: translateY(-50%) !important;
    z-index: 10 !important;

    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  /* Basic paragraph spacing inside the overlay row */
  body .post-1 .panel-content .panel-grid:first-of-type p {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
    line-height: 1.25 !important;
    font-size: 14px !important;
  }

  body .post-1 .panel-content .panel-grid:first-of-type p:last-child {
    margin-bottom: 0 !important;
  }
	/* Paragraph spacing for ONLY the featured-image overlay text box */
body .post-1 .panel-content .panel-grid:first-of-type p {
  margin-bottom: 2px !important;
}

body .post-1 .panel-content .panel-grid:first-of-type p:last-child {
  margin-bottom: 0 !important;
}
}
	/* Old CSS */
.site-content {
    padding-top: 1em;
}

.page-header {
    padding-bottom: 0;
}

@media screen and (min-width: 48em) {
    .page.page-one-column .entry-header, 
    .twentyseventeen-front-page.page-one-column .entry-header, 
    .archive.page-one-column:not(.has-sidebar) .page-header {
        margin-bottom: 0;
    }
}
@media screen and (min-width: 30em) {
	.page-one-column .panel-content .wrap {
		max-width: 910px;
	}
}

@media screen and (min-width: 48em) {
	.wrap {
		max-width: 1000px;
		padding: 0;
	}

.wrap {
max-width: 1000px;
padding-left: 3em;
padding-right: 3em;
}
#primary {
width: 100% !important;
}
.has-sidebar #secondary {
width: 26% !important;
}
@media screen and (min-width: 30em) {
	.site-content > .wrap {
		max-width: 1000px !important;
	}
	.site-content > .wrap .content-area {
		max-width: none !important;
	}
}

#masthead .wrap {
    /* position: relative; */
	text-align: right;
	}}
@media screen and (min-width: 48em) {
	.custom-logo-link img {
		max-width: 300px;
	}
}

.custom-logo-link img {
    /* display: inline-block; */
    max-height: 80px;
    /* width: auto; */
}
#site-logo {
 display: none;
}
.home #site-logo {
 display: block;
}
@media (max-width: 767px) {
  body {
    font-size: 15px !important;
    line-height: 1.45 !important;
  }

  h1 {
    font-size: 32px !important;
    line-height: 1.15 !important;
  }

  h2 {
    font-size: 26px !important;
    line-height: 1.2 !important;
  }

  h3 {
    font-size: 22px !important;
    line-height: 1.25 !important;
  }

  h4 {
    font-size: 19px !important;
    line-height: 1.3 !important;
  }
	
  p,
  li,
  .textwidget,
  .siteorigin-widget-tinymce {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }
}

@media (max-width: 767px) {
  .so-panel,
  .panel-widget-style,
  .so-widget-sow-editor,
  .siteorigin-widget-tinymce,
  .textwidget {
    max-width: 95% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
@media (max-width: 767px) {
  .siteorigin-widget-tinymce,
  .textwidget,
  .so-widget-sow-editor,
  .panel-widget-style p {
    text-align: justify !important;
    text-justify: inter-word;
  }
}
@media (max-width: 767px) {
  .siteorigin-widget-tinymce p,
  .siteorigin-widget-tinymce span,
  .siteorigin-widget-tinymce div,
  .textwidget p,
  .textwidget span,
  .textwidget div {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  .siteorigin-widget-tinymce h1,
  .textwidget h1 {
    font-size: 32px !important;
  }

  .siteorigin-widget-tinymce h2,
  .textwidget h2 {
    font-size: 26px !important;
  }

  .siteorigin-widget-tinymce h3,
  .textwidget h3 {
    font-size: 22px !important;
  }
}
@media (max-width: 767px) {
  .panel-grid,
  .panel-row-style,
  .siteorigin-panels-stretch {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }

  .panel-grid-cell,
  .panel-widget-style {
    max-width: 100% !important;
  }

  .siteorigin-widget-tinymce,
  .textwidget {
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
}
@media (max-width: 767px) {
  .siteorigin-widget-tinymce h1,
  .textwidget h1,
  .so-widget-sow-editor h1 {
    font-size: 32px !important;
    line-height: 1.15 !important;
  }

  .siteorigin-widget-tinymce h2,
  .textwidget h2,
  .so-widget-sow-editor h2 {
    font-size: 26px !important;
    line-height: 1.2 !important;
  }

  .siteorigin-widget-tinymce h3,
  .textwidget h3,
  .so-widget-sow-editor h3 {
    font-size: 22px !important;
    line-height: 1.25 !important;
  }

  .siteorigin-widget-tinymce h4,
  .textwidget h4,
  .so-widget-sow-editor h4 {
    font-size: 19px !important;
    line-height: 1.3 !important;
  }
}
@media (max-width: 767px) {
  body.page-id-821 .site-content,
  body.page-id-821 .entry-content,
  body.page-id-821 .content-area,
  body.page-id-827 .site-content,
  body.page-id-827 .entry-content,
  body.page-id-827 .content-area,
  body.page-id-1563 .site-content,
  body.page-id-1563 .entry-content,
  body.page-id-1563 .content-area {
    padding-top: 6px !important;
  }
}
@media (max-width: 767px) {
  .wp-block-video,
  .wp-block-embed,
  .siteorigin-widget-video,
  .sow-video-wrapper,
  .fluid-width-video-wrapper,
  .embed-responsive,
  iframe[src*="youtube"],
  iframe[src*="vimeo"],
  video {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    display: block !important;
  }
}
@media (max-width: 767px) {
  iframe[src*="youtube"],
  iframe[src*="vimeo"],
  iframe[src*="player"],
  video,
  .wp-block-video video,
  .sow-video-wrapper iframe,
  .siteorigin-widget-video iframe {
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
    max-height: none !important;
    display: block !important;
  }
}
@media (max-width: 767px) {
  .siteorigin-widget-tinymce div[style*="max-width: 60%"],
  .textwidget div[style*="max-width: 60%"],
  .so-widget-sow-editor div[style*="max-width: 60%"] {
    max-width: 100% !important;
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .siteorigin-widget-tinymce div[style*="max-width: 60%"] iframe,
  .textwidget div[style*="max-width: 60%"] iframe,
  .so-widget-sow-editor div[style*="max-width: 60%"] iframe {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
  }
}
@media (max-width: 767px) {
  .siteorigin-widget-tinymce div[style*="max-width: 60%"],
  .textwidget div[style*="max-width: 60%"],
  .so-widget-sow-editor div[style*="max-width: 60%"] {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }

  .siteorigin-widget-tinymce div[style*="max-width: 60%"] iframe,
  .textwidget div[style*="max-width: 60%"] iframe,
  .so-widget-sow-editor div[style*="max-width: 60%"] iframe {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
  }
}
@media (max-width: 767px) {
  .video-container {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 56.25vw !important;
    height: 0 !important;
    overflow: hidden !important;
    line-height: 0 !important;
  }

  .video-container iframe {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
  }
}
@media (max-width: 767px) {
  .video-container {
    width: 100vw !important;
    max-width: 100vw !important;
    aspect-ratio: 16 / 9 !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    height: auto !important;
    line-height: 0 !important;
  }

  .video-container iframe {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}
@media (max-width: 767px) {
  .video-gap-fix,
  .video-gap-fix .panel-row-style,
  .video-gap-fix .panel-grid-cell,
  .video-gap-fix .so-panel,
  .video-gap-fix .panel-widget-style,
  .video-gap-fix .siteorigin-widget-tinymce,
  .video-gap-fix .textwidget,
  .video-gap-fix .video-container {
    min-height: 0 !important;
    height: auto !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .video-gap-fix .video-container {
    aspect-ratio: 16 / 9 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    overflow: hidden !important;
  }

  .video-gap-fix iframe {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }

  .video-gap-fix p:empty,
  .video-gap-fix p:has(iframe),
  .video-gap-fix br {
    margin: 0 !important;
    padding: 0 !important;
  }
}
@media (max-width: 767px) {
  .video-gap-fix {
    margin-bottom: 40px !important;
    padding-bottom: 20px !important;
  }
}
@media (max-width: 767px) {
  .mobile-bg-text-fix {
    background-size: 100% auto !important;
    background-repeat: no-repeat !important;
    background-position: top center !important;
    padding-top: 45vw !important;
    padding-bottom: 20px !important;
  }
}
/* MOBILE - Hero overlay text sizing: title + subtitle */
@media (max-width: 767px) {
  body .post-1 .hero-mobile-text h1,
  body .post-1 .hero-mobile-text h2,
  body .post-1 .hero-mobile-text h3 {
    font-size: 16px !important;
    line-height: 1.05 !important;
    margin-bottom: 10px !important;
  }

  body .post-1 .hero-mobile-text h4,
  body .post-1 .hero-mobile-text h5,
  body .post-1 .hero-mobile-text h6,
  body .post-1 .hero-mobile-text p {
    font-size: 14px !important;
    line-height: 1.2 !important;
  }
}
/* MOBILE - Hero overlay title/subtitle sizing */
@media (max-width: 767px) {
  .hero-mobile-title {
    font-size: 16px !important;
    line-height: 1.05 !important;
    margin-bottom: 10px !important;
  }

  .hero-mobile-subtitle {
    font-size: 14px !important;
    line-height: 1.2 !important;
  }
}
/* MOBILE - Force hero overlay title/subtitle sizing */
@media only screen and (max-width: 767px) {
  html body .post-1 .panel-content .panel-grid:first-of-type h1.hero-mobile-title {
    font-size: 20px !important;
    line-height: 1.05 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body .post-1 .panel-content .panel-grid:first-of-type h5.hero-mobile-subtitle {
    font-size: 14px !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}
/* DESKTOP - Custom logo position + size: front page only */
@media (min-width: 1025px) {
  body.twentyseventeen-front-page .custom-logo-link {
    position: relative !important;
    left: clamp(-880px, -45vw, -520px) !important;
    top: clamp(270px, 19vw, 380px) !important;
    z-index: 20 !important;
  }

  body.twentyseventeen-front-page .custom-logo {
    max-width: clamp(280px, 20vw, 390px) !important;
    height: auto !important;
  }
}

/* TABLET - Custom logo position + size: front page only */
@media (min-width: 768px) and (max-width: 1024px) {
  body.twentyseventeen-front-page .custom-logo-link {
    position: relative !important;
    left: clamp(-320px, -30vw, -180px) !important;
    top: clamp(120px, 14vw, 170px) !important;
    z-index: 20 !important;
  }

  body.twentyseventeen-front-page .custom-logo {
    max-width: clamp(200px, 25vw, 270px) !important;
    height: auto !important;
  }
}

/* MOBILE - Custom logo position + size: front page only */
@media (max-width: 767px) {
  body.twentyseventeen-front-page .custom-logo-link {
    position: relative !important;
    left: 50% !important;
    top: clamp(-430px, -45vh, -320px) !important;
    transform: translateX(-50%) !important;
    z-index: 20 !important;
  }

  body.twentyseventeen-front-page .custom-logo {
    max-width: clamp(240px, 74vw, 300px) !important;
    height: auto !important;
  }
}
/* MOBILE - Menu font size */
@media (max-width: 767px) {
  .main-navigation a,
  .menu-toggle,
  .main-navigation .menu-item a {
    font-size: 18px !important;
    line-height: 1.4 !important;
  }
}
/* MOBILE - Adjust h3 only in front page second text widget */
@media (max-width: 767px) {
  .front-second-text-widget h3,
  .front-second-text-widget h3 span {
    font-size: 20px !important;
    line-height: 1.25 !important;
  }
}
/* MOBILE - Hide front page featured images except the first one */
@media (max-width: 767px) {
  body.twentyseventeen-front-page .twentyseventeen-panel:not(:first-of-type) .panel-image {
    display: none !important;
  }
}
/* MOBILE - Rows with background image: show image first, text underneath */
@media (max-width: 767px) {
  .mobile-bg-text-under {
    background-size: 100% auto !important;
    background-repeat: no-repeat !important;
    background-position: top center !important;

    padding-top: 68vw !important;
    padding-bottom: 20px !important;
  }

  .mobile-bg-text-under .panel-grid-cell,
  .mobile-bg-text-under .so-panel,
  .mobile-bg-text-under .panel-widget-style,
  .mobile-bg-text-under .siteorigin-widget-tinymce,
  .mobile-bg-text-under .textwidget {
    background: #000 !important;
    color: inherit !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
  }
}
/* MOBILE - Hide SiteOrigin parallax image layer on selected video rows */
@media (max-width: 767px) {
  .mobile-video-bg-remove .simpleParallax,
  .mobile-video-bg-remove img[data-siteorigin-parallax="true"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  .mobile-video-bg-remove {
    background: #000 !important;
    background-color: #000 !important;
  }
}
/* MOBILE - Fix excessive internal height on selected video rows */
@media (max-width: 767px) {
  .mobile-video-gap-fix,
  .mobile-video-gap-fix .panel-row-style,
  .mobile-video-gap-fix .panel-grid-cell,
  .mobile-video-gap-fix .so-panel,
  .mobile-video-gap-fix .panel-widget-style,
  .mobile-video-gap-fix .siteorigin-widget-tinymce,
  .mobile-video-gap-fix .textwidget {
    padding-top: 0 !important;
    padding-bottom: -60 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    min-height: auto !important;
  }

  .mobile-video-gap-fix .simpleParallax {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
  }

  .mobile-video-gap-fix iframe {
    display: block !important;
    margin: 0 auto !important;
  }

  .mobile-video-gap-fix {
    padding-bottom: 20px !important;
  }
}
/* MOBILE - Normalize Producing page list text inside selected SiteOrigin widgets */
@media (max-width: 767px) {
  .producing-mobile-list-fix ul,
  .producing-mobile-list-fix li,
  .producing-mobile-list-fix li *,
  .producing-mobile-list-fix li span,
  .producing-mobile-list-fix li strong,
  .producing-mobile-list-fix li em,
  .producing-mobile-list-fix li i,
  .producing-mobile-list-fix li a {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  .producing-mobile-list-fix li {
    margin-bottom: 6px !important;
  }

  .producing-mobile-list-fix li::marker {
    font-size: 13px !important;
  }
}
/* MOBILE - Fix Cecile Cubiló name size on Producing page */
@media (max-width: 767px) {
  .producing-name-mobile-fix {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }
}

/* MOBILE - Box multi-row sections */
@media (max-width: 767px) {
  .mobile-film-box-top,
  .mobile-film-box-middle,
  .mobile-film-box-bottom {
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
    margin-left: auto !important;
    margin-right: auto !important;

    background-color: rgba(255, 255, 255, 0.025) !important;
    border-left: 1px solid rgba(247, 195, 163, 0.35) !important;
    border-right: 1px solid rgba(247, 195, 163, 0.35) !important;

    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .mobile-film-box-top {
    margin-top: 32px !important;
    border-top: 1px solid rgba(247, 195, 163, 0.35) !important;
    border-radius: 8px 8px 0 0 !important;
  }

  .mobile-film-box-middle {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    border-radius: 0 !important;
  }

  .mobile-film-box-bottom {
    margin-bottom: 50px !important;
    padding-bottom: 0 !important;
    border-bottom: 1px solid rgba(247, 195, 163, 0.35) !important;
    border-radius: 0 0 8px 8px !important;
  }
}
/* MOBILE - Remove extra space under boxed film video embeds */
@media (max-width: 767px) {
  .mobile-film-box-bottom .film-video-embed {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    line-height: 0 !important;
    display: block !important;
  }

  .mobile-film-box-bottom .film-video-embed iframe {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .mobile-film-box-bottom .siteorigin-widget-tinymce,
  .mobile-film-box-bottom .textwidget,
  .mobile-film-box-bottom .panel-widget-style {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  .mobile-film-box-bottom p:empty,
  .mobile-film-box-bottom br {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}
/* MOBILE - Force boxed film video rows to wrap tightly around video */
@media (max-width: 767px) {
  .mobile-film-box-bottom.mobile-video-gap-fix {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 80px !important;
  }

  .mobile-film-box-bottom.mobile-video-gap-fix .panel-row-style,
  .mobile-film-box-bottom.mobile-video-gap-fix .panel-grid-cell,
  .mobile-film-box-bottom.mobile-video-gap-fix .so-panel,
  .mobile-film-box-bottom.mobile-video-gap-fix .panel-widget-style,
  .mobile-film-box-bottom.mobile-video-gap-fix .siteorigin-widget-tinymce,
  .mobile-film-box-bottom.mobile-video-gap-fix .textwidget {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  .mobile-film-box-bottom.mobile-video-gap-fix .simpleParallax,
  .mobile-film-box-bottom.mobile-video-gap-fix img[data-siteorigin-parallax="true"] {
    display: none !important;
    height: 0 !important;
    max-height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .mobile-film-box-bottom.mobile-video-gap-fix iframe,
  .mobile-film-box-bottom.mobile-video-gap-fix .film-video-embed {
    display: block !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    line-height: 0 !important;
  }
}
/* FONT TESTING - Global typography controls */

/* DESKTOP + TABLET */
@media (min-width: 768px) {
  body,
  p,
  li,
  .textwidget,
  .siteorigin-widget-tinymce,
  .so-widget-sow-editor {
    font-family: "Karla", sans-serif !important;
  }

  h1, h2, h3, h4, h5, h6,
  .entry-title,
  .page-title {
    font-family: "Oswald", sans-serif !important;
  }

  .accent-caveat {
    font-family: "Caveat", cursive !important;
    font-size: 1.35em !important;
    line-height: 1.15 !important;
  }

  .accent-patrick {
    font-family: "Patrick Hand", cursive !important;
    font-size: 1.18em !important;
    line-height: 1.2 !important;
  }

  .accent-kalam {
    font-family: "Kalam", cursive !important;
    font-size: 1.12em !important;
    line-height: 1.25 !important;
  }

  .accent-elite {
    font-family: "Special Elite", monospace !important;
    font-size: 1em !important;
    line-height: 1.35 !important;
  }

  .accent-marker {
    font-family: "Permanent Marker", cursive !important;
    font-size: 1.05em !important;
    line-height: 1.15 !important;
    letter-spacing: 0.5px !important;
  }
}

/* MOBILE */
@media (max-width: 767px) {
  body,
  p,
  li,
  .textwidget,
  .siteorigin-widget-tinymce,
  .so-widget-sow-editor {
    font-family: "Karla", sans-serif !important;
  }

  h1, h2, h3, h4, h5, h6,
  .entry-title,
  .page-title {
    font-family: "Oswald", sans-serif !important;
  }

  .accent-caveat {
    font-family: "Caveat", cursive !important;
    font-size: 1.25em !important;
    line-height: 1.1 !important;
  }

  .accent-patrick {
    font-family: "Patrick Hand", cursive !important;
    font-size: 1.12em !important;
    line-height: 1.15 !important;
  }

  .accent-kalam {
    font-family: "Kalam", cursive !important;
    font-size: 1.05em !important;
    line-height: 1.2 !important;
  }

  .accent-elite {
    font-family: "Special Elite", monospace !important;
    font-size: 0.95em !important;
    line-height: 1.3 !important;
  }

  .accent-marker {
    font-family: "Permanent Marker", cursive !important;
    font-size: 0.98em !important;
    line-height: 1.1 !important;
    letter-spacing: 0.3px !important;
  }
}
/* MOBILE - Global SiteOrigin text + heading sizes */
@media (max-width: 767px) {

  /* Regular text */
  .siteorigin-widget-tinymce p,
  .so-widget-sow-editor p,
  .textwidget p,
  .siteorigin-widget-tinymce li,
  .so-widget-sow-editor li,
  .textwidget li,
  .siteorigin-widget-tinymce span,
  .so-widget-sow-editor span,
  .textwidget span,
  .siteorigin-widget-tinymce div,
  .so-widget-sow-editor div,
  .textwidget div {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  /* H1 */
  .siteorigin-widget-tinymce h1,
  .so-widget-sow-editor h1,
  .textwidget h1 {
    font-size: 28px !important;
    line-height: 1.15 !important;
  }

  /* H2 */
  .siteorigin-widget-tinymce h2,
  .so-widget-sow-editor h2,
  .textwidget h2 {
    font-size: 24px !important;
    line-height: 1.2 !important;
  }

  /* H3 */
  .siteorigin-widget-tinymce h3,
  .so-widget-sow-editor h3,
  .textwidget h3 {
    font-size: 20px !important;
    line-height: 1.25 !important;
  }

  /* H4 */
  .siteorigin-widget-tinymce h4,
  .so-widget-sow-editor h4,
  .textwidget h4 {
    font-size: 17px !important;
    line-height: 1.3 !important;
  }

  /* H5 */
  .siteorigin-widget-tinymce h5,
  .so-widget-sow-editor h5,
  .textwidget h5 {
    font-size: 15px !important;
    line-height: 1.3 !important;
  }

  /* H6 */
  .siteorigin-widget-tinymce h6,
  .so-widget-sow-editor h6,
  .textwidget h6 {
    font-size: 14px !important;
    line-height: 1.35 !important;
  }

  /* Page titles */
  .page .entry-title {
    font-size: 24px !important;
    line-height: 1.2 !important;
    text-align: center !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
  }
}
/* MOBILE - Inner page header image zoom + placement, excluding home page */
@media (max-width: 767px) {
  body:not(.twentyseventeen-front-page) .custom-header-media img,
  body:not(.twentyseventeen-front-page) .wp-custom-header img {
    width: 145% !important;
    max-width: none !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 120% center !important;
  }

  body:not(.twentyseventeen-front-page) .custom-logo-link {
    position: relative !important;
    left: -30px !important;
    top: 0 !important;
    transform: none !important;
  }
}
/* MOBILE - Force 3-widget Acting Sneak Peek row to fill mobile box */
@media (max-width: 767px) {
  .mobile-three-widget-full,
  .mobile-three-widget-full.panel-grid,
  .panel-grid.mobile-three-widget-full,
  .mobile-three-widget-full .panel-row-style {
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
    box-sizing: border-box !important;
  }

  .mobile-three-widget-full > .panel-grid-cell,
  .panel-grid.mobile-three-widget-full > .panel-grid-cell,
  .mobile-three-widget-full .panel-grid-cell {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    flex-basis: 100% !important;
    float: none !important;
    display: block !important;
    clear: both !important;
    margin: 0 auto 18px auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  .mobile-three-widget-full .panel-grid-cell:last-child {
    margin-bottom: 0 !important;
  }

  .mobile-three-widget-full .so-panel,
  .mobile-three-widget-full .panel-widget-style,
  .mobile-three-widget-full .so-widget-sow-image,
  .mobile-three-widget-full .sow-image-container,
  .mobile-three-widget-full .siteorigin-widget-tinymce,
  .mobile-three-widget-full .textwidget {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  .mobile-three-widget-full .sow-image-container img,
  .mobile-three-widget-full img.so-widget-image,
  .mobile-three-widget-full img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
/* DEVICE ROW VISIBILITY - final override */

/* Phone only: show mobile duplicate row, hide desktop version */
@media (max-width: 767px) {
  .desktop-only-row {
    display: none !important;
  }

  .mobile-only-row,
  .panel-grid.mobile-only-row,
  .mobile-only-row.panel-grid {
    display: block !important;
  }
}

/* Tablet + desktop: hide mobile duplicate row */
@media (min-width: 768px) {
  .mobile-only-row,
  .panel-grid.mobile-only-row,
  .mobile-only-row.panel-grid,
  .mobile-only-row .panel-row-style,
  .mobile-only-row .panel-grid-cell,
  .mobile-only-row .so-panel {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
  }
}
/* VIMEO TAP FIX - Hide mobile play overlay by default on desktop/tablet */
.mobile-vimeo-play {
  display: none !important;
}

/* MOBILE - Prevent accidental Vimeo taps while scrolling */
@media (max-width: 767px) {
  .mobile-vimeo-tapfix {
    position: relative !important;
  }

  /* Vimeo iframe is not tappable until user taps invisible center area */
  .mobile-vimeo-tapfix iframe[src*="player.vimeo.com"] {
    pointer-events: none !important;
  }

  /* Once active, Vimeo becomes tappable again */
  .mobile-vimeo-tapfix.vimeo-active iframe[src*="player.vimeo.com"] {
    pointer-events: auto !important;
  }

  /* Invisible center tap area */
  .mobile-vimeo-play {
    display: block !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    z-index: 50 !important;

    width: 120px !important;
    height: 120px !important;

    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  /* Hide WordPress emoji/image inside fake button */
  .mobile-vimeo-play img,
  .mobile-vimeo-play .emoji {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  /* Once user taps, remove invisible overlay */
  .mobile-vimeo-tapfix.vimeo-active .mobile-vimeo-play {
    display: none !important;
  }
}
/* FOOTER - Desktop left/right, tablet/mobile centered */
.site-footer .wrap {
  position: relative !important;
}

/* DESKTOP - Footer copyright left, social icons right */
@media (min-width: 1025px) {
  .site-footer .wrap {
    position: relative !important;
    display: block !important;
  }

  .site-footer .widget-column.footer-widget-1 {
    width: auto !important;
    max-width: none !important;
    float: none !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .footer-copyright {
    text-align: left !important;
    white-space: nowrap !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .site-footer .social-navigation,
  .site-footer .jetpack-social-navigation,
  .site-footer .widget_wpcom_social_media_icons_widget {
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: right !important;
    transform: translateY(clamp(40px, 3.5vw, 50px)) !important;
  }

  .site-footer .social-navigation ul,
  .site-footer .jetpack-social-navigation ul,
  .site-footer .widget_wpcom_social_media_icons_widget ul {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .site-footer .social-navigation li,
  .site-footer .jetpack-social-navigation li,
  .widget_wpcom_social_media_icons_widget li {
    margin: 0 0 0 10px !important;
    padding: 0 !important;
  }
}

/* TABLET + MOBILE - centered and stacked */
@media (max-width: 1024px) {
  .site-footer .wrap,
  .site-footer .widget-area,
  .site-footer .widget-column,
  .site-footer .widget-column.footer-widget-1,
  .site-footer .widget-column.footer-widget-2 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .footer-copyright {
    text-align: center !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
  }

  .site-footer .social-navigation,
  .site-footer .jetpack-social-navigation,
  .site-footer .widget_wpcom_social_media_icons_widget {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    margin: -75px auto 0 auto !important;
    padding: 0 !important;
    transform: none !important;
  }

  .site-footer .social-navigation ul,
  .site-footer .jetpack-social-navigation ul,
  .site-footer .widget_wpcom_social_media_icons_widget ul {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  .site-footer .social-navigation li,
  .site-footer .jetpack-social-navigation li,
  .site-footer .widget_wpcom_social_media_icons_widget li {
    margin: 0 6px !important;
    padding: 0 !important;
  }
}
/* FOOTER - Reduce tablet/mobile gap between copyright and social icons */
@media (max-width: 1024px) {
  .site-footer .widget-column.footer-widget-1,
  .site-footer .widget-column.footer-widget-1 .widget,
  .site-footer .widget-column.footer-widget-1 .footer-copyright {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  .site-footer .widget-column.footer-widget-2,
  .site-footer .widget-column.footer-widget-2 .widget {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .site-footer .social-navigation,
  .site-footer .jetpack-social-navigation,
  .site-footer .widget_wpcom_social_media_icons_widget {
    margin-top: clamp(-75px, -8vw, -45px) !important;
  }
}
/* ACCENT FONT - Caveat punchline control */
h3.accent-caveat,
h3.accent-caveat span {
  font-family: "Caveat", cursive !important;
  font-size: clamp(18px, 1.8vw, 27px) !important;
  line-height: 1.05 !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  text-align: center !important;
}

/* MOBILE - Caveat punchline sizing */
@media (max-width: 767px) {
  h3.accent-caveat,
  h3.accent-caveat span {
    font-size: 24px !important;
    line-height: 1.05 !important;
  }
}
/* REUSABLE ACCENT STYLES */

.accent-caveat-small,
.accent-caveat-small span {
  font-family: "Caveat", cursive !important;
  font-size: clamp(18px, 1.8vw, 27px) !important;
  line-height: 1.05 !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

.accent-caveat-medium,
.accent-caveat-medium span {
  font-family: "Caveat", cursive !important;
  font-size: clamp(22px, 2.2vw, 34px) !important;
  line-height: 1.05 !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

.accent-caveat-large,
.accent-caveat-large span {
  font-family: "Caveat", cursive !important;
  font-size: clamp(26px, 2.8vw, 42px) !important;
  line-height: 1.05 !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

@media (max-width: 767px) {
  .accent-caveat-small,
  .accent-caveat-small span {
    font-size: 22px !important;
  }

  .accent-caveat-medium,
  .accent-caveat-medium span {
    font-size: 24px !important;
  }

  .accent-caveat-large,
  .accent-caveat-large span {
    font-size: 28px !important;
  }
}
/* STUNT PAGE - Large feature Vimeo video */
.stunt-feature-video {
  width: calc(100vw - 140px) !important;
  max-width: 1320px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  aspect-ratio: 16 / 9 !important;
  background: #000 !important;
  overflow: hidden !important;
}

.stunt-feature-video iframe {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  border: 0 !important;
}

/* MOBILE - Let the feature video go full width */
@media (max-width: 767px) {
  .stunt-feature-video {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }
}