/*
Theme Name: Today's Bride
Template: celebrate
Version: 0.2.1
*/

@import url("https://use.typekit.net/iev7oiz.css");

:root {
	accent-color: var(--wp--preset--color--primary);
    --wp--style--gallery-gap-default: var(--wp--custom--flex-gap--gallery);
    --wp--style--unstable-gallery-gap: var(--wp--custom--flex-gap--gallery);
	--color--secondary--light: hsl(from var(--wp--preset--color--secondary) h s calc(l + 14));
	--color--tertiary--light: hsl(from var(--wp--preset--color--tertiary) h s calc(l + 5));
}

::selection {
    background-color: var(--wp--preset--color--tertiary);
    color: var(--wp--preset--color--contrast);
}

::-moz-selection {
    background-color: var(--wp--preset--color--tertiary);
    color: var(--wp--preset--color--contrast);
}

input, select, textarea  {
	font-family: var(--wp--preset--font-family--body-font);
}

.celebrate-underline-text {
	text-decoration: underline;
}

.celebrate-script-font {
	font-family: var(--wp--preset--font-family--script-font);
    display: inline-block;
    text-transform: none !important;
    padding: 0 8px;
    letter-spacing: 0px !important;
    font-size: 80%;
    line-height: 1;
}

.overflow-visible {
	overflow: visible;
}

.login-popup-trigger { 
	cursor: pointer;
}

.login-popup-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.4);
	z-index: 998;
}

.login-popup {
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 999;
	width: 900px;
}

.login-popup.is-active {
	display: block;
}

.flickity-button {
    color: var(--wp--preset--color--contrast);
    background: #f4f0ed !important;
    border-radius: 0;
	transition: .3s ease;
}

.flickity-button:hover {
	background: var(--wp--preset--color--secondary) !important;
}

.field-vendor_website a svg, .celebrate-vendor-website.celebrate-is-icon:last-of-type a svg {
    display: none;
}

.field-vendor_website .celebrate-custom-field-return a:has(svg)::before {
    content: '';
    display: inline-block;
    width: 24px;
    height: 24px;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="%23000000" viewBox="0 0 256 256"><path d="M240,88.23a54.43,54.43,0,0,1-16,37L189.25,160a54.27,54.27,0,0,1-38.63,16h-.05A54.63,54.63,0,0,1,96,119.84a8,8,0,0,1,16,.45A38.62,38.62,0,0,0,150.58,160h0a38.39,38.39,0,0,0,27.31-11.31l34.75-34.75a38.63,38.63,0,0,0-54.63-54.63l-11,11A8,8,0,0,1,135.7,59l11-11A54.65,54.65,0,0,1,224,48,54.86,54.86,0,0,1,240,88.23ZM109,185.66l-11,11A38.41,38.41,0,0,1,70.6,208h0a38.63,38.63,0,0,1-27.29-65.94L78,107.31A38.63,38.63,0,0,1,144,135.71a8,8,0,0,0,16,.45A54.86,54.86,0,0,0,144,96a54.65,54.65,0,0,0-77.27,0L32,130.75A54.62,54.62,0,0,0,70.56,224h0a54.28,54.28,0,0,0,38.64-16l11-11A8,8,0,0,0,109,185.66Z"></path></svg>') no-repeat center;
    background-size: contain;
}

.celebrate-vendor-website.celebrate-is-icon:last-of-type a::before {
    content: '';
    display: inline-block;
    width: 18px;
    height: 18px;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="%23000000" viewBox="0 0 256 256"><path d="M238,88.18a52.42,52.42,0,0,1-15.4,35.66l-34.75,34.75A52.28,52.28,0,0,1,150.62,174h-.05A52.63,52.63,0,0,1,98,119.9a6,6,0,0,1,6-5.84h.17a6,6,0,0,1,5.83,6.16A40.62,40.62,0,0,0,150.58,162h0a40.4,40.4,0,0,0,28.73-11.9l34.75-34.74A40.63,40.63,0,0,0,156.63,57.9l-11,11a6,6,0,0,1-8.49-8.49l11-11a52.62,52.62,0,0,1,74.43,0A52.83,52.83,0,0,1,238,88.18Zm-127.62,98.9-11,11A40.36,40.36,0,0,1,70.6,210h0a40.63,40.63,0,0,1-28.7-69.36L76.62,105.9A40.63,40.63,0,0,1,146,135.77a6,6,0,0,0,5.83,6.16H152a6,6,0,0,0,6-5.84A52.63,52.63,0,0,0,68.14,97.42L33.38,132.16A52.63,52.63,0,0,0,70.56,222h0a52.26,52.26,0,0,0,37.22-15.42l11-11a6,6,0,1,0-8.49-8.48Z"></path></svg>') no-repeat center;
    background-size: contain;
	margin-top: -2px;
}

@media (min-width: 1280px) and (max-width: 1620px) {
	.is-layout-constrained:not(.is-layout-constrained .is-layout-constrained) > :where(.alignwide) {
		max-width: min(var(--wp--custom--flex-width--mobile-constrained), var(--wp--style--global--content-size));
	}
}

@media (min-width: 1280px) {
	.home .wp-block-celebrate-suite-celebrate-directory-members {
		max-height: 210px;
	}
	header .wp-block-navigation > .wp-block-navigation-item {
		padding: 5px 15px !important;
		transition: background 0.3s ease;
		border-radius: 30px;
	}
	header .wp-block-navigation > .wp-block-navigation-item:not(.has-mega-menu):hover {
		background: var(--color--tertiary--light);
		border-radius: 30px;
	}

	.has-vendors-mega-menu {
		position: relative;
	}

	.vendors-mega-menu {
		position: absolute;
		top: 100%;
		left: 0px;
		right: 0;
		width: 600px;
		max-width: 90vw;
		margin: 0 auto;
		background: var(--color--secondary--light);
		border: 1px solid var(--wp--preset--color--secondary);
		padding: var(--wp--preset--spacing--40);
		opacity: 0;
		visibility: hidden;
		transition: all 0.3s ease;
		z-index: 1000;
		border-radius: 0px 30px 30px;
	}

	.has-vendors-mega-menu:hover .vendors-mega-menu,
	.vendors-mega-menu:hover {
		opacity: 1;
		visibility: visible;
	}

	.has-vendors-mega-menu::after {
		content: '';
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		height: 10px;
		background: transparent;
	}

	.vendors-mega-grid {
		display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 0;
		font-size: var(--wp--preset--font-size--extra-small) !important;
		text-transform: none !important;
		letter-spacing: 0px !important;
	}

	.vendors-mega-grid a {
		padding: 5px 10px;
        text-decoration: none;
        color: var(--wp--preset--color--contrast);
	}

	.vendors-mega-grid a:hover {
		background: var(--color--tertiary--light) !important;
	}
	.wp-block-celebrate-suite-celebrate-taxonomy-display-terms.is-style-homepage-term-slider .flickity-prev-next-button.previous {
		left: -60px !important;
	}
	.wp-block-celebrate-suite-celebrate-taxonomy-display-terms.is-style-homepage-term-slider .flickity-prev-next-button.next {
		right: -60px !important;
	}
	.wp-block-celebrate-suite-celebrate-taxonomy-display-terms.is-style-homepage-term-slider .flickity-page-dots {
		bottom: -30px !important;
	}
}

@media (max-width: 1279px) {
	.entry-content.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
	.entry-content .is-layout-constrained:not(.is-layout-constrained .is-layout-constrained) > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
		max-width: var(--wp--custom--flex-width--mobile-constrained);
	}
	
	.is-layout-constrained .is-layout-constrained:not(.entry-content) > :where(...) {
		max-width: none;
	}
	.vendors-mega-menu {
		display: none;
	}
	.wp-block-celebrate-suite-celebrate-taxonomy-display-terms.is-style-homepage-term-slider .flickity-prev-next-button.previous {
		left: -50px !important;
	}
	.wp-block-celebrate-suite-celebrate-taxonomy-display-terms.is-style-homepage-term-slider .flickity-prev-next-button.next {
		right: -50px !important;
	}
	.wp-block-celebrate-suite-celebrate-taxonomy-display-terms.is-style-homepage-term-slider .flickity-page-dots {
		display: none !important;
	}
}

@media (max-width: 767px) {
	.home .wp-block-celebrate-suite-celebrate-directory-members {
		max-height: 450px;
	}
	.login-popup { 
		width: 90%;
	}
	.is-style-justify-center-on-mobile * {
		text-align: center !important;
		justify-content: center !important;
	}
}