/*
 * Site-specific styles for virginiaelope.com.
 *
 * Moved verbatim from Appearance > Customize > Additional CSS on Nov 8, 2026 so it is
 * version-controlled. Printed in the same <head> slot the Customizer CSS used (see the
 * "Site styles" hook at the end of functions.php), so the cascade is unchanged.
 * Edit styles here, not in the Customizer.
 */

/* Global */

.image_background:after {
	background: rgba(0,0,0, 0.73);
}

.image_background .bg_title h1 {

}

header nav ul.menu .sub-nav, header nav ul.menu .sub-nav:after {
	background:rgba(0,0,0,1);
}

header nav ul.menu .sub-nav {
}

header nav ul.menu .sub-menu {
	width:300px;
}


.mobile_menu_wrapper a {
    font-size:1.1em !important;
    color:#fff;
    line-height: 65px !important
}

.mobile_menu_wrapper ul li li a {
    font-size: 1em !important;
    line-height: 1.3em !important;
    margin-bottom:10px;
}

.mobile_menu_wrapper a::after {
    font-size: 1.2em !important;
    margin-top:20px !important;
}

.mobile_menu_wrapper a:active::after {
    transform: rotate(90deg) !important;
}


/* Homepage */




.homepage-slider-button {
	background:rgba(0,0,0,.7);
	padding:20px;
	border-radius:10px;
	color:#fff;
	font-family: 'Bitter', Serif;
	font-size:1em !important;
}

.homepage-slider-button:hover {
	background:rgba(21,168,134,.7);
	color:#fff;
}



p {
  margin:0 0 20px 0;
}

.ip {
  font-style:normal;
}

blockquote {
    font-size: 1.3em;
    line-height: 1.5em;
}

p {
    font-size:1.1em;
        line-height:1.6em;
}

ul  {
    font-size:1.1em;
        line-height:1.6em;
}

h1 {
  letter-spacing:1px;
}


h2 {
  letter-spacing:1px;
  padding-top:40px; 
} 

h3 {
  letter-spacing: 1px;
  padding-top:20px;
}

h3 a {
    text-decoration: underline !important;
}

h3 a:hover{
    color:#15a886;
}

.single_contentarea ul {
    margin-bottom:15px;
}

.single_contentarea  ul li{
  margin-left:40px;
	padding:0 0 0 ;
    list-style:square;
}

.listing_meta {
    display:none;
}

.post_share_block {
    display:none;
}

.single_meta h1 {
	margin-bottom:0px;
}

.blog_post_image {
	margin-bottom:30px !important;
}

/*Packages and Pricing */

.pricing-intro h3 {
	text-transform: none;
	line-height:1.2em;
	letter-spacing:0px;
}

.price_item_head .price_item_title h6 {
	line-height:1.2em;
	color:#fff;
	font-size:1.4em;
}

.price_item_head .price_item_cost h1 {
	font-size:3em;
	line-height:1.2em;
	letter-spacing:1px;
}

.price_item_head .price_item_period {
	font-size:1em;
	font-style:normal;
	line-height:1.3em;
	letter-spacing:0px;
}

.price_item_body {
	padding:10px 20px 0px 20px;
	background: #dbdbdb;
	border:0px;
}

.price_item_body .price_item_text ul li {
	color:#000;
	font-style:normal;
	letter-spacing:0px;
	line-height:1.4em;
	margin-top:10px;
	margin-bottom:15px;
}

.price_item_text ul li:after {
	width:0px;
}

.price_item_btn a{
	color:#000;
	font-weight:700;
	font-size:1em;
	letter-spacing:0px;
}

/*Submit button gravity forms */ body .gform_wrapper .gform_footer input[type=submit] { float:left; 
height: 60px; 
width: 100% !important; 
min-width: 280px; 
clear: both; 
border: none !important; 
background: #000000; 
color: #ffffff; 
}



.submit_wrap {
	width: 100%;

}

.gform_legacy_markup_wrapper ul.gform_fields li.gfield {
	padding: 0px;
	margin-top: 40px;
}

input[type="text"], input[type="email"], input[type="tel"], input[type="password"], textarea {
	font-size: 1.2em !important;
	font-style: normal !important;
}

.gform_legacy_markup_wrapper .gfield_checkbox li label, .gform_legacy_markup_wrapper .gfield_radio li label {
	line-height: 1.3em !important;
}

.gform_legacy_markup_wrapper .gfield_checkbox li input, .gform_legacy_markup_wrapper .gfield_checkbox li input[type=checkbox], .gform_legacy_markup_wrapper .gfield_radio li input[type=radio] {
	vertical-align: top !important;
	margin-top: 9px !important;
}

.gform_wrapper li.gfield ul.gfield_radio li input[type=radio]+input[type=text] {
	font-size:1em !important;
}

.gform_legacy_markup_wrapper label.gfield_label, .gform_legacy_markup_wrapper legend.gfield_label {
	font-size: 1.3em !important;
}

.gform_legacy_markup_wrapper .field_sublabel_below .ginput_complex.ginput_container label, .gform_legacy_markup_wrapper .field_sublabel_below div[class*=gfield_time_].ginput_container label {
	margin: -8px 0px 9px 0px !important;
	letter-spacing: 0px !important;
}

@media only screen and (max-width: 700px) {
 
	.gform_legacy_markup_wrapper label.gfield_label, .gform_legacy_markup_wrapper legend.gfield_label {
	font-size: 1.1em !important;
}

}

.gform_legacy_markup_wrapper .gfield_description {
	background: #e8e8e8;
	padding: 10px !important;
	font-size: 1em !important;
	font-style: normal;
	line-height: 1.5em !important;
	border-radius:0px;
	border-left : 6px solid #aaaaaa;
	margin-top: 8px;
}



.gform_wrapper .gform_footer {
  text-align:center;
}

.gravity-forms-html-notice-yellow {
	background:#fff9c6;
	padding:20px 20px 5px 20px;
	font-size:.9em;
	font-weight:;
}

.gravity-forms-html-notice-yellow h3{
	font-family: ;
	font-weight:700 !important;
	padding:0px;
	margin:0px 0px 20px 0px;
}

.gravity-forms-html-notice-yellow p{
	padding:0px;
	margin:0px 0px 20px 0px;
		line-height: 1.4em !important;

}

.price_item_title {
  padding:0px;
  margin:-30px
}

.testimonial_nav_info h6 {
  line-height:28px
}

.price_item_title {
  padding:36px !important;
}

.price_item_title h6 {
  line-height: 30px;
}

 h6.shortcode_toggles_item_title {
  text-transform: none;
   line-height:1.4em;
   letter-spacing: .4px;
}

.shortcode_accordion_item_body, .shortcode_toggles_item_body {
 padding-top:10px;
  padding-bottom:25px;
}


/*Same Sex Wedding Officiant */

.page-id-1362 .image_background:after {
	background: rgba(0,0,0, .5);
}


.gform_wrapper li.gfield ul.gfield_radio li input[type=radio]+input[type=text]{
display:inline;
}

.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) {
  margin-bottom:10px;
}

body .gform_wrapper form .gform_body ul,
body .gform_wrapper form .gform_body ul li { 
	list-style-type: none !important; 
	list-style-image: none !important;
	list-style: none !important; 
	background-image: none !important;
	background: none !important;

	border: none !important
}
body .gform_wrapper form .gform_body ul > li:before {
	content: "";
} 

.woocommerce #respond input#submit.alt, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
  background-color:#000000;
}

.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
line-height:2px;  
}

 .woocommerce #container {
  width:95%;
  margin:auto;
} 

.woocommerce #content div.product div.images {
  width:25%;
}

.woocommerce #content div.product div.summary, .woocommerce div.product div.summary, .woocommerce-page #content div.product div.summary, .woocommerce-page div.product div.summary {
  float:left;
  padding-left:20px;
  width:70%;
}

.woocommerce div.product form.cart .variations td, .woocommerce div.product form.cart .variations th {
   line-height:1.2em !important;
 } 

.woocommerce div.product form.cart .variations select {
  font-size:1em;
}

.order_item .product-name {
  font-weight:bold;
  font-size:1em;
  text-transform:uppercase;
}

.wc-item-meta {
  font-weight:normal;
  text-transform:none;
}

ul.wc-item-meta {
  padding-top:5px;
}

dt {
  text-decoration:none;
}

.contentarea ul li::before {
  content:none
}

.woocommerce td.product-name .wc-item-meta p, .woocommerce td.product-name .wc-item-meta:last-child, .woocommerce td.product-name dl.variation p, .woocommerce td.product-name dl.variation:last-child {
    font-size: 1em;
}



.module_content ul {
  padding-left: 40px;
}

.module_content li {
  list-style-type: square;
}

 .calloutbutton {
   text-align:center;
   background:#15A886;
   width:75%;
   margin-left:auto;
   margin-right:auto;
	 margin-top: 30px;
	 margin-bottom:20px;
   padding-top:30px;
   padding-right:10px;
   padding-left:10px;
   padding-bottom:30px;
   vertical-align:center;
   border-radius:16px
 }

.calloutbutton p {
  text-align:center;
  color:#ffffff;
	margin-bottom:0px;
	line-height: 1.2em;
}

.calloutbutton a {
    font-size:1.2em;  
	  color:#fff;
    text-decoration: none;
}

.calloutbutton a:hover {
    text-decoration: underline;
	font-weight:bold;
}

.filter_navigation {
    display:none;
}

.filter_block {
display: none;
}

.woocommerce-product-gallery__image {
    margin:5px
} 

.woocommerce-product-gallery {
    display:none;
}

.woocommerce div.product {
    margin-left:20px;
}

.woocommerce .woocommerce-breadcrumb {
    display:none;
}

.woocommerce #payment {
    background:#fff;
    border:2px solid rgba(0,0,0,.1);
}

.woocommerce #payment #place_order {
    padding:20px;
    font-size: 1.3em;
}

#add_payment_method #payment div.form-row, .woocommerce-cart #payment div.form-row, .woocommerce-checkout #payment div.form-row {
	padding:0;
}

.woocommerce form .form-row label {
	line-height:1.2em;
}

#add_payment_method #payment ul.payment_methods, .woocommerce-cart #payment ul.payment_methods, .woocommerce-checkout #payment ul.payment_methods {
	padding: 10px 15px 10px 0px;
}



.woocommerce .woocommerce-terms-and-conditions-wrapper {
	padding:10px;
}

.woocommerce-error::before, .woocommerce-info::before, .woocommerce-message::before {
    display:none
}

.woocommerce-error, .woocommerce-info, .woocommerce-message {
    padding:10px !important;
    background: #b81c23;
    color:#fff;
    line-height:1.3em;
    
}



p a {
    text-decoration: underline;
}

.gform_wrapper .gfield_description a {
    text-decoration: underline;
}

h4.headInModule {
    margin-bottom: -10px;
}

.sp-testimonial-pro-section .tpro-client-name {
	font-size:20px !important;
	font-weight:bold !important;
	}

.page-id-5354 .contentarea ul, .page-id-1534 .contentarea ul {
	margin-left:30px;    
	list-style:square;
	margin-bottom:20px;
}

.page-id-5354 .contentarea li, .page-id-1534 .contentarea li {
	padding-left:10px;   
	margin-bottom:5px;
}

#payment .payment_box {
    background-color: #efefef !important;
}

#payment .payment_box::before {
    border: 1em solid #efefef !important;
    border-right-color: transparent !important;
    border-left-color: transparent !important;
    border-top-color: transparent !important;
}



@media only screen and (min-device-width: 899px) and (max-device-width: 1130px){

.logo_sect img{
width:240px !important;
}

}


@media only screen and (min-width: 800px) {
.woocommerce #payment #place_order {
	margin:10px;
}
}


@media only screen and (max-width: 600px) {
    h1 {
        font-size: 24px;
       line-height: 27px;
    }
 h2 {
        font-size: 20px;
       line-height: 23px;
    }
.wrapper_404 .container, .absolute_container {
  width:90%;
}
 .module_iconboxes_grid .iconbox_wrapper {
   padding-right:10px;
   padding-left:10px;
 }

.woocommerce #content div.product div.images {
  width:100%;
}

.woocommerce #content div.product div.summary, .woocommerce div.product div.summary, .woocommerce-page #content div.product div.summary, .woocommerce-page div.product div.summary {
  float:none;
  padding-left:0px;
  width:100%;
}

}




.piggins {
    float: right;
    margin-right:20px;
    margin-left:20px;
    margin-bottom:30px;
}

@media only screen and (max-width: 800px) {
    .piggins {
    float: none;
    margin-left:0px;
    margin-right:0px;
    }
    
    .piggins img {
            width:98%;
    }

}



.woodland-pig a {
float:left;
	text-align:center;
	display:inline-block;
background:#15a886;
	width:100%;
	box-sizing:border-box;
	font-size:.8em;
	padding:20px 0px 20px 0px;
	border:solid 5px #fff;
 color:#fff;
	text-decoration:none;

	font-size:1.2em;
}

/* YouTube embeds from the [embedyt] shortcode (functions.php), Nov 2026 */
.ve-video {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	margin: 0 0 20px;
}

.ve-video iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Homepage hero from the [ve_hero] shortcode (functions.php); replaced Slider Revolution, Nov 2026.
   Desktop: same proportions as the old slider (1170 x 750, scaling down with the window) under the
   transparent header, band clear of the menu and the couple (theme header breakpoints: 1200px and 900px). Phones: photo, then the text and button below it. */
.ve-hero {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	width: 100vw; /* full window width, like the slider; body already hides horizontal overflow */
	margin-left: calc(50% - 50vw);
	height: min(750px, 64.1vw);
	padding: 140px 0 clamp(40px, 6vw, 80px); /* >=1200px: band ~25px below the one-row transparent menu */
	overflow: hidden;
	background: #222;
	text-align: center;
}

.ve-hero .ve-hero__img {
	position: absolute;
	inset: 0;
	width: 100%;
	max-width: none;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}

.ve-hero__band,
.ve-hero__cta {
	position: relative;
	z-index: 1;
	margin: 0;
}

.ve-hero__band {
	width: 100%;
	padding: 12px 20px 14px;
	background: rgba(0, 0, 0, 0.74);
}

.ve-hero .ve-hero__title {
	margin: 0;
	padding: 0;
	font-family: Bitter, Georgia, serif;
	font-size: clamp(24px, 3.1vw, 36px);
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: 3.5px;
	text-transform: none;
	color: #fff;
}

.ve-hero .ve-hero__subtitle {
	margin: 6px 0 0;
	padding: 0;
	font-family: Lora, Georgia, serif;
	font-size: clamp(16px, 1.7vw, 20px);
	font-style: italic;
	line-height: 1.4;
	color: #fff;
}

.ve-hero__cta .homepage-slider-button {
	display: inline-block;
	text-decoration: none;
}

.ve-hero__cta .homepage-slider-button:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 3px;
}

/* 901-1199px: the theme wraps the menu onto a second row (ends ~204px). */
@media (min-width: 901px) and (max-width: 1199px) {
	.ve-hero {
		height: 740px; /* taller so the lower band still clears the couple (heads at ~46% of the photo) */
		padding-top: 228px;
	}
}

/* 768-900px: the header is a white bar above the hero, so the band can sit near the top. */
@media (min-width: 768px) and (max-width: 900px) {
	.ve-hero {
		padding-top: 40px;
	}
}

/* Entrance, like the old slider: photo fades in, then the band and the button rise into place. */
@keyframes ve-hero-fade {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes ve-hero-rise {
	from { opacity: 0; transform: translateY(18px); }
	to { opacity: 1; transform: none; }
}

.ve-hero .ve-hero__img {
	animation: ve-hero-fade 1s ease-out both;
}

.ve-hero__band {
	animation: ve-hero-rise 0.8s 0.35s ease-out both;
}

.ve-hero__cta {
	animation: ve-hero-rise 0.8s 0.7s ease-out both;
}

@media (prefers-reduced-motion: reduce) {
	.ve-hero .ve-hero__img,
	.ve-hero__band,
	.ve-hero__cta {
		animation: none;
	}
}

@media (max-width: 767px) {
	.ve-hero {
		height: auto;
		padding: 0;
		background: #1a1a1a;
	}

	.ve-hero .ve-hero__img {
		position: static;
		height: auto;
		aspect-ratio: 16 / 10;
	}

	.ve-hero__band {
		padding: 18px 20px 6px;
		background: none;
	}

	.ve-hero .ve-hero__title {
		letter-spacing: 1.5px;
	}

	.ve-hero__cta {
		padding: 14px 20px 26px;
	}

	.ve-hero__cta .homepage-slider-button {
		border: 1px solid rgba(255, 255, 255, 0.8); /* edge stays visible on the dark band */
	}
}
