/*
 Theme Name:   Paulcasperjr Child Theme
 Theme URI:    https://paulcasperjr.com
 Description:  A custom GeneratePress child theme
 Author:       Paul Impellizeri
 Author URI:   https://paulcasperjr.com
 Template:     generatepress
 Version:      0.1
*/

/* Custom Fonts*/
@font-face {
  font-family: "Trovas";
  src: url("/wp-content/themes/paulcasperjr_child/fonts/Trovas-Regular.eot");
  src: url("/wp-content/themes/paulcasperjr_child/fonts/Trovas-Regular.eot?#iefix")
      format("embedded-opentype"),
    url("/wp-content/themes/paulcasperjr_child/fonts/Trovas-Regular.woff2")
      format("woff2"),
    url("/wp-content/themes/paulcasperjr_child/fonts/Trovas-Regular.woff")
      format("woff"),
    url("/wp-content/themes/paulcasperjr_child/fonts/Trovas-Regular.ttf")
      format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* -- GLOBAL TWEAKS -- */

/* Button Line Height (Global) */
.gb-button {
  line-height: 1em;
}

/* Hamburger Menu Styling - SVG is saved in PHP */
.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: transparent;
  margin-right: -1rem;
  font-size: 1em;
}

/* Primary Menu Button */
@media (min-width: 1025px) {
  .main-navigation .main-nav ul li.nav-cta a {
    background: var(--primary) !important;
    color: var(--surface-0) !important;
    padding: 1em 1.5em;
    margin-left: 16px;
    border-radius: 4px;
    line-height: 1;
    font-weight: 600;
  }

  .main-navigation .main-nav ul li.nav-cta a:hover {
    background: var(--primary-alt) !important;
    color: var(--surface-0) !important;
  }
}

@media (max-width: 1024px) {
  .main-navigation .main-nav ul li.nav-cta a {
    margin-left: 0px;
  }
}

.site-wrapper {
  width: 100%;
  max-width: 1920px;
  margin-inline: auto;
  background-color: var(--base);
}

body {
  background-color: var(--base);
}

/* Remove bottom margin on last paragraph in container (front end) */
.gb-container p:last-child:last-of-type {
  margin-bottom: 0px;
}

/* Remove bottom margin on last paragraph in container (editor) */
.block-editor-block-list__layout .gb-container p:nth-last-child(2) {
  margin-bottom: 0px;
}

/* Set the main content area to a minimum of 65vh */
#main {
  min-height: 85vh;
}

/* Visually Hidden */
.visually-hidden:not(:focus):not(:active) {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

/* Post Editor Width */
.post-type-post .block-editor-block-list__layout {
  max-width: 728px;
  margin-inline: auto;
}

.post-type-post
  .edit-post-visual-editor__post-title-wrapper
  .editor-post-title {
  max-width: 728px;
  margin-inline: auto;
}

/* No Underline */
.no-ul,
.no-ul a {
  text-decoration: none;
}

/* Make the section padding on GP elements match GB */
.inside-header {
  padding-inline: 2rem;
}

@media (max-width: 768px) {
  .inside-header {
    padding-inline: 1rem;
  }
}

.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .page-header,
.separate-containers .paging-navigation,
.one-container .site-content,
.inside-page-header {
  padding-inline: 1.5rem;
  padding-block: 5rem;
}

@media (min-width: 769px) and (max-width: 1024px) {
  .separate-containers .inside-article,
  .separate-containers .comments-area,
  .separate-containers .page-header,
  .separate-containers .paging-navigation,
  .one-container .site-content,
  .inside-page-header {
    padding-block: 4.5rem;
  }
}

@media (max-width: 768px) {
  .separate-containers .inside-article,
  .separate-containers .comments-area,
  .separate-containers .page-header,
  .separate-containers .paging-navigation,
  .one-container .site-content,
  .inside-page-header {
    padding-inline: 1rem;
    padding-block: 3rem;
  }
}

/* --TYPOGRAPHY -- */
:root {
  /* These HAVE TO match what is in the Customizer > Typography. Pull in font familys using font manager. Set headline-font as 'All Headlings', set body-font as HTML */
  --headline-font: Trovas, sans-serif;
  --body-font: Montserrat, sans-serif;
  --fs-body: clamp(1rem, 0.974rem + 0.1299999999999999vw, 1.13rem);
  --fs-headline-xxl: clamp(4rem, 3.45rem + 2.75vw, 6.75rem);
  --fs-headline-xl: clamp(2.875rem, 2.375rem + 2.5vw, 5.375rem);
  --fs-headline-h1: clamp(2.5rem, 2.15rem + 1.7500000000000002vw, 4.25rem);
  --fs-headline-h2: clamp(
    2.175rem,
    1.9349999999999998rem + 1.2000000000000002vw,
    3.375rem
  );
  --fs-headline-h3: clamp(
    1.85rem,
    1.6700000000000002rem + 0.8999999999999999vw,
    2.75rem
  );
  --fs-headline-h4: clamp(1.625rem, 1.5rem + 0.625vw, 2.25rem);
  --fs-headline-h5: clamp(1.375rem, 1.3rem + 0.375vw, 1.75rem);
  --fs-headline-h6: clamp(1.25rem, 1.22rem + 0.1499999999999999vw, 1.4rem);
  --fs-headline-s: clamp(1rem, 0.974rem + 0.1299999999999999vw, 1.13rem);
  --fs-headline-pre: clamp(1rem, 0.974rem + 0.1299999999999999vw, 1.13rem);
  --fs-headline-body-xxl: clamp(1.25rem, 1.15rem + 0.5vw, 1.75rem);
  --fs-headline-body-xl: clamp(
    1.13rem,
    1.0159999999999998rem + 0.5700000000000001vw,
    1.7rem
  );
  --fs-headline-body-l: clamp(1.11rem, 1.052rem + 0.2899999999999998vw, 1.4rem);
  --fs-headline-body-s: clamp(
    0.95rem,
    0.9339999999999999rem + 0.08000000000000007vw,
    1.03rem
  );
  --fs-headline-body-xs: clamp(
    0.89rem,
    0.888rem + 0.010000000000000009vw,
    0.9rem
  );
}

/* Default Body / p font settings */
p {
  font-size: var(--fs-body);
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: 1.5rem;
  font-family: var(--body-font);
}

/* Default Headings weight, margin, font-family */
h1,
h2,
h3,
h4,
h5,
h6,
.gb-headline-xxl,
.gb-headline-xl,
.gb-headline-h1,
.gb-headline-h2,
.gb-headline-h3,
.gb-headline-h4,
.gb-headline-h5,
.gb-headline-h6 {
  font-weight: 400;
  margin-bottom: 1rem;
  font-family: var(--headline-font);
}

/* Heading font-size and line-height */
.gb-headline-xxl {
  font-size: var(--fs-headline-xxl);
  line-height: 1.05;
}

.gb-headline-xl {
  font-size: var(--fs-headline-xl);
  line-height: 1.05;
}

h1,
.gb-headline-h1 {
  font-size: var(--fs-headline-h1);
  line-height: 1.05;
}

h2,
.gb-headline-h2 {
  font-size: var(--fs-headline-h2);
  line-height: 1.1;
}

h3,
.gb-headline-h3 {
  font-size: var(--fs-headline-h3);
  line-height: 1.15;
}

h4,
.gb-headline-h4 {
  font-size: var(--fs-headline-h4);
  line-height: 1.1;
}

h5,
.gb-headline-h5 {
  font-size: 1.375rem;
  font-size: var(--fs-headline-h5);
  line-height: 1.25;
}

h6,
.gb-headline-h6 {
  font-size: 1.25rem;
  font-size: var(--fs-headline-h6);
  line-height: 1.4;
}

.gb-headline-s {
  font-size: 1rem;
  font-size: var(--fs-headline-s);
}

.gb-headline-pre {
  font-size: var(--fs-headline-pre);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

/* Additional Body font-size */

.gb-headline-body-xxl {
  font-family: var(--body-font);
  font-size: 1.25rem;
  font-size: var(--fs-headline-body-xxl);
}

.gb-headline-body-xl {
  font-family: var(--body-font);
  font-size: var(--fs-headline-body-xl);
}

.gb-headline-body-l {
  font-family: var(--body-font);
  font-size: var(--fs-headline-body-l);
}

.gb-headline-body-s {
  font-family: var(--body-font);
  font-size: var(--fs-headline-body-s);
}

.gb-headline-body-xs {
  font-family: var(--body-font);
  font-size: var(--fs-headline-body-xs);
}

/* Add top margin to blog post H2-H6 */

.type-post :is(h2, h3, h4, h5, h6) {
  margin-top: 1.5em;
}

/* BORDER RADIUS */
:root {
  --radius-xs: 0.125rem;
  --radius-s: 0.25rem;
  --radius-m: 0.5rem;
  --radius-l: 1rem;
  --radius-xl: 1.5rem;
  --radius-xxl: 2rem;
  --radius-50: 50%;
  --radius-circle: 50%;
}

/* -- SECTIONS --  */
.gb-container-section-xs {
  padding: 1rem clamp(1rem, 0.848rem + 0.758vw, 1.5rem) 1rem
    clamp(1rem, 0.848rem + 0.758vw, 1.5rem);
}

.gb-container-section-s {
  padding: clamp(1.5rem, 1.5rem + 0vw, 1.5rem)
    clamp(1rem, 0.848rem + 0.758vw, 1.5rem) clamp(1.5rem, 1.5rem + 0vw, 1.5rem)
    clamp(1rem, 0.848rem + 0.758vw, 1.5rem);
}

.gb-container-section-m {
  padding: clamp(1.5rem, 1.197rem + 1.515vw, 2.5rem)
    clamp(1rem, 0.848rem + 0.758vw, 1.5rem)
    clamp(1.5rem, 1.197rem + 1.515vw, 2.5rem)
    clamp(1rem, 0.848rem + 0.758vw, 1.5rem);
}

.gb-container-section-d {
  padding: clamp(3rem, 2.394rem + 3.03vw, 5rem)
    clamp(1rem, 0.848rem + 0.758vw, 1.5rem) clamp(3rem, 2.394rem + 3.03vw, 5rem)
    clamp(1rem, 0.848rem + 0.758vw, 1.5rem);
}

.gb-container-section-l {
  padding: clamp(4.5rem, 3.591rem + 4.545vw, 7.5rem)
    clamp(1rem, 0.848rem + 0.758vw, 1.5rem)
    clamp(4.5rem, 3.591rem + 4.545vw, 7.5rem)
    clamp(1rem, 0.848rem + 0.758vw, 1.5rem);
}

.gb-container-section-xl {
  padding: clamp(6rem, 4.788rem + 6.061vw, 10rem)
    clamp(1rem, 0.848rem + 0.758vw, 1.5rem)
    clamp(6rem, 4.788rem + 6.061vw, 10rem)
    clamp(1rem, 0.848rem + 0.758vw, 1.5rem);
}

/* Container Widths */

.container-m {
  max-width: 64rem;
}
.container-s {
  max-width: 48rem;
}
.container-xs {
  max-width: 40rem;
}

/* -- FLUENT FORMS -- */

.fluentform .frm-fluent-form input:not([type="submit"]),
.fluentform .frm-fluent-form textarea {
  border-width: 1px;
  border-radius: 0px;
  border-color: var(--surface-30);
  background-color: var(--surface-0);
  padding: 12px 16px;
}

/* required asterisk color */
.fluentform .ff-el-input--label.ff-el-is-required.asterisk-right label:after {
  color: var(--primary);
}

.fluentform .ff-el-group {
  margin-bottom: 15px;
}

.fluentform .frm-fluent-form input:not([type="submit"]):focus,
.fluentform .frm-fluent-form textarea:focus {
  border-width: 1px;
  border-color: var(--surface-70);
  background-color: var(--surface-0);
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0);
}

.fluentform .ff_t_c {
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #666666;
  padding-left: 5px;
  padding-bottom: 16px;
}

.fluentform .ff-el-is-error .ff-el-form-control {
  border: 1px solid var(--primary);
}

.fluentform .ff-el-is-error .text-danger {
  font-size: 14px;
  color: var(--surface-70);
}

.fluentform .ff-el-form-check-label .ff-el-form-check-input {
  top: -1px;
}

.fluentform .frm-fluent-form .ff-el-input--label label {
  font-size: 0.9rem;
  color: var(--surface-70);
}

.fluentform .frm-fluent-form input::placeholder,
.fluentform .frm-fluent-form textarea::placeholder {
  font-size: 16px;
  font-weight: 400;
  color: var(--text-light);
}

.fluentform .frm-fluent-form button[type="submit"] {
  font-size: 16px;
  font-weight: 600;
  color: var(--surface-0);
  background-color: var(--primary);
  padding: 12px 32px;
  height: auto;
  display: block;
  margin-right: auto;
  border-radius: 4px;
}

.fluentform .frm-fluent-form button[type="submit"]:hover {
  color: var(--surface-0);
  background-color: var(--primary-alt);
}

#fluentform_4_success .ff-message-success {
  border: 0px solid white;
  box-shadow: 0px 0px 0px 0px #ffffff;
  margin-top: 16px;
  font-size: 1rem;
  padding: 0px;
}

.fluentform .ff-el-form-control {
  background: var(--surface-0);
}

/* -- CSS Grid --  */

.grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.grid-3 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}

.grid-4 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}

.grid-5 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}

.grid-6 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}

.gap-xs {
  gap: 0.5rem;
}

.gap-s {
  gap: 1rem;
}

.gap-m {
  gap: 2rem;
}
.gap-l {
  gap: 4rem;
}

.gap-xl {
  gap: 6rem;
}

/* TABLET */

@media (min-width: 769px) and (max-width: 1024px) {
  .grid-2 {
    grid-template-columns: 1fr;
  }
  .grid-3,
  .grid-4 {
    grid-template-columns: 1fr 1fr;
  }

  .grid-5,
  .grid-6 {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .gap-xs {
    gap: 0.5rem;
  }
  .gap-s {
    gap: 1rem;
  }
  .gap-m {
    gap: 1.5rem;
  }
  .gap-l {
    gap: 3rem;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .grid-2,
  .grid-3,
  .grid-4 {
    grid-template-columns: 1fr;
  }
  .grid-5,
  .grid-6 {
    grid-template-columns: 1fr 1fr;
  }

  .gap-xs {
    gap: 0.25rem;
  }
  .gap-s {
    gap: 0.5rem;
  }
  .gap-m {
    gap: 1rem;
  }
}

.inside-article:has(.pi-hero-section) {
  padding-block: 0px;
}

.site-header {
  display: none;
}

.gb-container-bd4f302d .pi-hero-section {
  margin-top: -100px;
}
.pi-navi {
  z-index: 1000;
}

.pi-tendenza:before {
  content: "";
  background-image: url(https://wedding.instawp.xyz/wp-content/uploads/2023/12/ten-before.svg);
  width: 50px;
  height: 25px;
  display: inline-block;
  background-size: 50px 25px;
}
.pi-tendenza:after {
  content: "";
  background-image: url(https://wedding.instawp.xyz/wp-content/uploads/2023/12/ten-after.svg);
  width: 50px;
  height: 25px;
  display: inline-block;
  background-size: 50px 25px;
  margin-left: 3px;
}
img.sun {
  margin-top: -2px;
}
p.pi-ourstory {
  font-family: "Courier Prime";
}
/*.grid-custom {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.grid-custom figure:first-child {
  grid-column-start: span 2;
}*/

.wp-block-navigation__container {
  gap: 1.6rem;
  /* margin-right: 5rem !important;
  padding-top: 20px !important; */
}

span.wp-block-navigation-item__label {
  text-transform: uppercase;
  letter-spacing: 0.02em;
  font-weight: 400;
  font-size: 1.2rem;
  font-family: Montserrat;
}

.wp-block-navigation-item__content:after {
  background: none repeat scroll 0 0 transparent;
  bottom: 0;
  content: "";
  display: block;
  height: 1.5px;
  left: 50%;
  position: absolute;
  background: #eebe72;
  transition: width 0.3s ease 0s, left 0.3s ease 0s;
  width: 0;
}

.wp-block-navigation-item__content:hover:after {
  width: 100%;
  left: 0;
}

.rsvp-button .wp-block-navigation-item__content:hover:after{
	width:0%;
}
/* .skyline {
  position: absolute;
} */

.noisy {
  background-image: url(data:image/png;base64,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);
}
.wp-block-gb-lottiefiles {
  margin-left: -120px;
  margin-top: -20px;
}

h2.where {
  margin: 0 auto;
  text-align: center;
}
.where span {
  font-size: 2rem;
  vertical-align: top;
}
.pi-hero-section {
  /* z-index: 90;
  top: -35% !important;
  transform: rotate(-90deg); */
  border: 65px solid;
  border-image-source: url(https://wedding.instawp.xyz/wp-content/uploads/2023/12/background-frame.svg);
  width: 100%;
  height: 100%;
  border-image-slice: 100;
}


.lottie-logo {
  margin-top: -96px;
	width:160px;
	height:160px;
}

@media (max-width: 768px) {
	.wp-block-navigation__container {
		gap: 1rem;
	}
	span.wp-block-navigation-item__label {
		font-size:.8rem;
	}
	.wp-block-gb-lottiefiles {
		margin-left: -86px;
	/*.pi-hero-section {
		border: 45px solid;
		border-image-slice: 100;
		}*/
		}
	.lottie-logo{
		width:100px;
		height:100px;
	}
	}


.hero-img {
  z-index: 1000;
}
