/*
Theme Name: Impreza Child
Template: Impreza
Version: 1.0
Author:	UpSolution
Theme URI: http://impreza.us-themes.com/
Author URI: http://us-themes.com/
*/

/*Add your own styles here:*/
:root{
	--brown: #4b3525;
	--brown-light: #AE8A78;
	--white: #ffffff;
	--beige-dark: #DACDB9;
	--beige: #fef9ee;
}

.yiniziali :is(h1, h2, h3, h4, h5,h6, p ),
span.eg-letter {
	font-family: var(--h6-font-family, inherit);
	font-size: 100px;
	color: var(--brown-light);
}
.ybig-text :is(h1, h2, h3, h4, h5, p),
.ymedium-text :is(h1, h2, h3, h4, h5, p),
.yicon-dresscode .w-iconbox-title {
	font-size: 28px;
	line-height: 36px;
	font-family: var(--h1-font-family, inherit);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}
.ymedium-text :is(h1, h2, h3, h4, h5, p),
.yicon-contacts .w-iconbox-title {
	font-size: 24px;
	line-height: 28px;
	padding-bottom: 20px!important;
	text-transform: uppercase;
}
.yicon-contacts .w-iconbox-title {
	font-family: var(--h6-font-family) !important;
	font-size: 60px;
	line-height: 68px;
	text-transform: capitalize;
}
.yicon-dresscode .w-iconbox-title {
	padding: 0px;
}
.ybig-text :is(strong) {
	font-size: 20px;
}
.border-bottom {
	position: relative;
}
.border-bottom:after {
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	height: 2px;
	width: 45px;
	background: var(--brown);
	bottom: -15px;
}
.ybig-title :is(h1, h2, h3, h4, h5, p){
	font-size: 70px;
	line-height: 76px;
	color: var(--brown);
	font-family: var(--h1-font-family, inherit);

}
.ymain-titles :is(h1, h2, h3, h4, h5, h6, p){
	font-size: 60px;
	line-height: 66px;
		margin-bottom: 20px;
}
.st477 {
    fill: #FCF7E8!important;
}
.disegno-sacromonte svg path,
.disegno-sacromonte svg line,
.disegno-sacromonte svg polyline {
	stroke: var(--brown);
}
/*.eg-intro {
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}
.eg-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100vw;
  height: 100vh;
  transform: translate(-50%, -50%);
}
.eg-letter {
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: clamp(120px, 20vw, 320px);
  font-weight: 500;
  line-height: 1;
  color: var(--brown-light);
  opacity: 0;
	z-index: 1;
}
.eg-left {
  transform: translate(calc(-50% - 0.3em), -50%);
}
.eg-right {
  transform: translate(calc(-50% + 0.3em), -50%);
}
body.eg-loading {
  overflow-y: scroll;
  pointer-events: none;
}
html {
  scrollbar-gutter: stable;
}
.eg-intro.eg-done {
  z-index: 1;
}*/

.l-main,
.l-footer {
  position: relative;
  z-index: 2;
}
/*#prima-sezione {
  opacity: 0;
  visibility: hidden;
}*/


.eg-intro,
.eg-left,
.eg-right {
  pointer-events: none;
}

.eg-left,
.eg-right {
  position: fixed;
  top: 50%;
  z-index: 9999;
  font-size: clamp(120px, 22vw, 320px);
  line-height: 1;
  opacity: 1;
  transition: opacity 0.2s linear;
}

.eg-left {
  left: 8vw;
}

.eg-right {
  right: 8vw;
}
.eg-left,
.eg-right{
    opacity: 1;
    will-change: opacity, filter;
    pointer-events: none;
}

/* prima sezione subito visibile */
#prima-sezione {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}





.yicons-programma {
	position: relative;
}
.yicons-programma:after {
	content: '';
	position: absolute;
	width: 12px;
	height: 12px;
	background: var(--brown-light);
	border-radius: 50px;
	bottom: -48px;
	z-index: 1;
}
.programma-border {
	position: relative;
}
.programma-border:after {
	content: '';
    position: absolute;
    bottom: -42px;
    height: 1px;
    width: 90%;
    background: var(--brown-light);
    left: 50%;
    transform: translateX(-50%);
}
.yicons-programma .w-iconbox-icon {
	font-size: 50px!important;
	display: none;
}
.yicons-programma .w-iconbox-title {
	font-size: 50px;
	line-height: 54px;
/*	font-family: var(--h6-font-family, inherit);*/
	padding-bottom: 5px;
}
.yicons-programma p {
	font-size: 18px;
	line-height: 22px;
	height: 40px;
    text-transform: uppercase;
	font-family: var(--h4-font-family, inherit);
}
.ytimeline {
	position: relative;
}
.ytimeline:before {
    content: '';
    position: absolute;
    width: 95px;
    height: 80%;
    background: url(images/vertical-line-def.svg);
    background-repeat: no-repeat;
    left: 50%;
    z-index: 0;
    top: 50%;
    transform: translate(-50%, -50%);
}

.small-text label {
	font-size: 14px;
	
}
.yrow-form p {
	margin-bottom: 0px;
}
.white-section {
	background: var(--white);
}
.w-nav-control span {
	font-family: var(--h1-font-family, inherit);
	text-transform: uppercase;
}
.w-nav-icon {
	margin-left: 16px;
}
.border-top {
	border-top: 1px solid var(--brown-light);
	padding-top: 80px;
}
.bg-brown-light {
	background: var(--brown-light);
}
.flower-section {
	position: relative;
	overflow: hidden;
}
.flower-section:before {
    position: absolute;
    content: '';
    background: url(images/fiore-elisa-giulio.svg);
    background-size: contain;
    bottom: -60px;
    left: 50px;
   height: 430px;
    width: 200px;
}
.flower-section:after {
position: absolute;
    content: '';
    background: url(images/fiore-elisa-giulio.svg);
    background-size: contain;
    bottom: -306px;
    right: -25px;
    height: 535px;
    width: 248px;
    transform: scaleX(-1);
}
.yicon-contacts .w-iconbox-icon {
	display: none;
}
.yiniziali-bottom {
	font-size: 70px;
	color: var(--brown-light);
}
.yicon-dresscode .w-iconbox-icon svg {
	height: 90px;
	margin-bottom: 15px;
}
.testo-capitale::first-letter {
  font-size: 5rem;
  font-family: "Canto", serif;
  font-weight: 400;
  float: left;
  margin: 6px 10px 0 0;
}
.wpcf7-list-item-label {
	font-size: 20px;
}
.wpcf7-form-control.wpcf7-submit {
	margin: 0 auto;
    justify-content: center;
    display: flex;
}
.beige-section {
	background: var(--beige-dark);
}
.dress-coderow .wpb_column {
	position: relative;
}
.dress-coderow .wpb_column:not(:last-child):after {
	content: '';
    position: absolute;
    right: -27px;
    bottom: 0;
    background: var(--brown-light);
    width: 1px;
    height: 100%;
}
.beige-brown {
	background: linear-gradient(180deg,rgba(254, 249, 238, 1) 0%, rgba(218, 205, 185, 1) 100%);
}
.brown-beige {
	background: linear-gradient(360deg,rgba(254, 249, 238, 1) 0%, rgba(218, 205, 185, 1) 100%);
}
.border-vertical {
	position: relative;
}
.border-vertical:after {
    content: '';
    position: absolute;
    width: 1px;
    height: 45px;
    background: var(--brown);
    left: 50%;
        top: -75px;
    opacity: 0;
    animation: lineFadeIn 1s ease forwards;
    animation-delay: 2s;
}
@keyframes lineFadeIn {
	from {
		opacity: 0;
		transform: translateY(-10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
.eg-rsvp-form {
  max-width: 980px;
  margin: 0 auto;
  color: var(--brown);
}
.cf7-two-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 90px;
  position: relative;
}
.cf7-two-columns::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  background: var(--brown);
}
.cf7-column {
  position: relative;
}
.cf7-column label,
.field-title {
  display: block;
  font-size: 16px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--brown);
  font-family: var(--h1-font-family, inherit);    
}
.radio-field {
    margin-bottom: 30px;
    padding: 0px 0px;
}
.radio-field .wpcf7-form-control {
  display: flex;
  gap: 45px;
  flex-wrap: wrap;
	justify-content: space-between;
}
.wpcf7-form-control-wrap {
	margin-top: 0px;
}
.radio-field .wpcf7-list-item {
  margin: 0;
}

.radio-field label {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  text-transform: none;
  letter-spacing: 0;
  font-size: 16px;
  font-family: var(--h1-font-family, inherit);
}
.cf7-column p {
	margin-bottom: 0px;
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea{
  width: 100%;
  border: 0;
  border-bottom: 1px solid var(--brown);
}
.small-text {
  margin-top: 50px;
  font-size: 16px;
  line-height: 1.6;
  color: var(--brown);
}

.cf7-submit-wrap {
  text-align: center;
  margin-top: 70px;
}
#page-header.sticky .at_middle {
	background: var(--beige)!important;
}
.top-section {
	position: relative;
}
.top-section:after {
	content: '';
	position: absolute;
	background-image: url("images/brown-angolino-2.svg");
	background-repeat: no-repeat;
	width: 345px;
	height: 300px;
	top: 0;
	right: 0;
	z-index: -1;
}

#page-header .w-nav-control span {
	z-index: 9999!important;
	color: var(--brown);
}

#page-header .w-nav-control span {
	color: var(--beige);
}

#page-header .w-nav-control.active span {
	color: var(--brown);
}
.w-nav-icon>div {
	background: var(--beige);
}
#page-header .w-nav-control.active {
	background: var(--brown);
}
#page-header .w-nav-control.active  .w-nav-icon>div {
	z-index: 130;
	background: var(--brown);
}
li.w-nav-close {
	display: none!important;
}


#page-header .l-subheader.at_middle {
	padding: 0px 30px!important;
}
#page-header.sticky .w-nav-control span {
	color: var(--brown);
}
#page-header.sticky .w-nav-icon>div {
	background: var(--brown);
}
.testo-canto p {
	font-size: 22px;
	letter-spacing: 0.5px;
}
.border-topsection .l-section-h {
	border-top: 1px solid var(--brown);
	padding-top: 80px;
}
.w-nav-close {
	display: none;
}
.wpcf7-not-valid-tip {
	font-size: 14px;
}
.ysection-popup {
	height: 600px;
    display: flex;
    align-items: center;
    align-content: center;
    justify-content: center;
}
	.small-text p br {
		display: none;
	}
.fa-angle-up:before {
		content: '\f062'!important;
	    font-size: 20px;
    line-height: 50px;
	}
.w-toplink:not(.w-btn) {
	border-radius: 50px;
}
.w-toplink:not(.w-btn) i {
	line-height: 50px;
	font-size: 18px!important;
}
.wpcf7 form.sent .wpcf7-response-output {
    border-color: var(--brown)!important;
}


@media (max-width: 767.98px) {
.top-section:after {
	background-image: url("images/brown-angolino-mobile.svg");
        width: 275px;
        height: 200px;
}
  .eg-rsvp-form {
    max-width: 100%;
    padding: 0px 10px;
  }

  .cf7-two-columns {
    display: grid;
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .cf7-two-columns::after {
    display: none;
  }

  .cf7-column label,
  .field-title,
	.wpcf7-list-item-label{
    font-size: 16px;
    letter-spacing: 1.2px;
		text-transform: uppercase;
  }

  .radio-field {
    margin-bottom: 34px;
  }
	.radio-field .field-title {
		margin-bottom: 12px;
	}

  .radio-field .wpcf7-form-control {
    gap: 18px;
    justify-content: flex-start;
  }

  .radio-field label {
    font-size: 14px;
    gap: 9px;
  }
  .wpcf7 input[type="text"],
  .wpcf7 input[type="email"],
  .wpcf7 input[type="tel"] {
    font-size: 15px;
    padding: 0px 0px;
  }

  .cf7-menu {
    padding-top: 0px;
    border-top: unset;
  }
  .small-text {
    margin-top: 38px;
    font-size: 16px;
    line-height: 22px;
    text-align: center;
  }
	.small-text p br {
		display: block;
	}
  .cf7-submit-wrap {
    margin-top: 42px;
  }
  .wpcf7-submit {
    width: 100%;
    max-width: 220px;
    padding: 14px 32px;
  }
	.flower-section:before {
	   height: 280px;
    width: 105px;
		left: 80px;
	}
	.flower-section:after {
        left: 50%;
        transform: translateX(-50%);
        right: unset;
        width: 188px;
        bottom: -196px;
        height: 400px;
	}
	.display-flex {
		display: flex!important;
	}
	.yicon-dresscode .w-iconbox-icon svg {
		height: 65px;
	}
	.flower-section:before {
		display: none;
	}
	.disegno-sacromonte img {
		    font-size: 320px;
	}

	a.w-nav-control {
		padding-right: 0px!important;
	}
	.w-nav-icon {
		margin-left: 8px!important;
	}
	#page-header .w-nav-control span {
		font-size: 16px;
	}
	.ybig-title :is(h1, h2, h3, h4, h5, p) {
		    font-size: 60px;
    line-height: 68px;
	}
	.yiniziali-bottom {
		font-size: 60px;
	}
	.programma-border:after {
		top: -30px;
		transform: unset;
		width: 1px;
		height: 100%;
		z-index: 0;
		transform: translateX(-50%);
	}
	.yicons-programma {
		position: relative;
		    width: fit-content!important;
    margin: 0 auto!important;
		background: var(--beige);
		        z-index: 1;
                margin-bottom: 20px ! Important;
        padding: 24px 0px 24px 0px;
	}
	/*.yicons-programma {
		text-align: left;
		padding-left: 30px;
	}*/
	.yicons-programma:after {
		top: -30px;
		transform: translateX(-6px);
		bottom: unset;
	}
	.yicons-programma .w-iconbox-title {
		line-height: 50px;
		padding-bottom: 0px;
	}
	.w-popup-closer:before {
		content: '\f00d';
    font-weight: 400;
    vertical-align: top;
    color: var(--brown);
    font-size: 30px;
    font-weight: 200;
	}
	.w-popup-wrap[style*="--popup-padding"] .w-popup-box-content {
        padding: 50px 14px;
    }
	.border-vertical:after {
		content: unset;
	}
/*	.border-topsection.programma {
      padding-top: 0px;
	}*/
	.border-topsection.programma .l-section-h {
		border: unset;
	}
	.ybig-text :is(h1, h2, h3, h4, h5, p), .ymedium-text :is(h1, h2, h3, h4, h5, p), .yicon-dresscode .w-iconbox-title {
		font-size: 24px;
		line-height: 32px;
	}
	.dress-coderow .wpb_column:not(:last-child):after {
		right: -15px;
		    height: 100%;
	}
}


@media (min-width: 768px) and (max-width: 1279.98px) {
	.border-vertical:after {
		content: unset;
	}
	.ybig-text :is(h1, h2, h3, h4, h5, p), .ymedium-text :is(h1, h2, h3, h4, h5, p), .yicon-dresscode .w-iconbox-title {
		    font-size: 24px;
    line-height: 32px;
		    letter-spacing: 0.2px;
	}
	.yicons-programma .w-iconbox-title {
		    font-size: 40px;
    line-height: 40px;
	}
	.flower-section:before {
	height: 300px;
    width: 140px;
		bottom: -60px;
		left: 0px;
	}
	.flower-section:after {
	bottom: -306px;
	right: -49px;
    height: 411px;
    width: 172px;
	}
}
@media (min-width: 1280px) and (max-width: 1339.98px) {
	.border-vertical:after {
		content: unset;
	}
	.ybig-text :is(h1, h2, h3, h4, h5, p), .ymedium-text :is(h1, h2, h3, h4, h5, p), .yicon-dresscode .w-iconbox-title {
		font-size: 26px;
    line-height: 32px;
	}
	.flower-section:before {
		left: 20px;
	}
	.flower-section:after {
	bottom: -260px;
    right: -41px;
    height: 500px;
    width: 234px;
	}
}


