/*
 Theme Name: Milly
 Theme URI:  https://milly.divilover.com
 Description:Multipurpose Child Theme Template for Divi
 Author:     Divi Lover
 Author URI: https://divilover.com
 Template:   Divi
 Version:    1.2
 License:    GNU General Public License v2 or later
 License URI:http://www.gnu.org/licenses/gpl-2.0.html
*/

/*	_______________________
	
		GLOBAL SETTINGS
	_______________________
*/


/* CSS Variables */
:root {
	/* Milly colors mapped to Divi Global Colors */
	--milly_dark_color1: var(--gcid-heading-color, #182121);
	--milly_dark_color2: var(--gcid-body-color, #535757);
	--milly_accent_color1: var(--gcid-6qq7ycdo8c, #eaf5f0);
	--milly_accent_color2: var(--gcid-secondary-color, #cde4d9);
	--milly_accent_color3: var(--gcid-primary-color, #33876b);
	--milly_light_color: var(--gcid-6ced0m1hvo, #ffffff);
	--milly-shadow: 0px 2.1px 1.7px rgba(0, 0, 0, 0.016),
		0px 5.3px 4.3px rgba(0, 0, 0, 0.022),
		0px 10.8px 8.9px rgba(0, 0, 0, 0.028),
		0px 22.3px 18.3px rgba(0, 0, 0, 0.034),
		0px 61px 50px rgba(0, 0, 0, 0.05);
	--milly-shadow-mini:
		0px 0.7px 1.3px rgba(0, 0, 0, 0.016),
		0px 1.7px 3.2px rgba(0, 0, 0, 0.022),
		0px 3.5px 6.6px rgba(0, 0, 0, 0.028),
		0px 7.3px 13.5px rgba(0, 0, 0, 0.034),
		0px 20px 37px rgba(0, 0, 0, 0.05);
	--milly-shadow-big:
		0.5px 4.2px 4.1px rgba(0, 0, 0, 0.028),
		1.2px 10.5px 10.4px rgba(0, 0, 0, 0.04),
		2.5px 21.4px 21.3px rgba(0, 0, 0, 0.05),
		5.1px 44.2px 43.8px rgba(0, 0, 0, 0.062),
		14px 121px 120px rgba(0, 0, 0, 0.09);
}

/* Prevent horizontal overflow */
.et-fb #et-boc, #page-container {
	overflow-x: hidden;
}


/* Add custom shadow to elements */
.et_pb_image.milly-shadow .et_pb_image_wrap,
.milly-shadow:not(.et_pb_image) {
	box-shadow: var(--milly-shadow-big);
}

/* Preloader */
.milly-preloader-wrapper {
	position: fixed;
	z-index: 999999;
	background: var(--milly_light_color);
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

.admin-bar .milly-preloader-wrapper {
	top: 32px;
}

@media (max-width:782px) {
	.admin-bar .milly-preloader-wrapper {
		top: 46px;
	}
}

.milly-preloader {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.milly-preloader svg {
	width: 50px;
}

/* Animations */
@keyframes milly-fade-in-up{from{transform:translate3d(0,10px,0)}to{transform:translate3d(0,0,0);opacity:1}}
@keyframes milly-out-bottom{0%{transform:translateY(0);opacity:1}100%{transform:translateY(30px);opacity:0}}
@keyframes milly-in-bottom{0%{transform:translateY(30px);opacity:0}100%{transform:translateY(0);opacity:1}}
@keyframes milly-scale-in{0%{opacity:0;transform:scale(.8) translateX(-60%) translateY(-60%)}100%{opacity:1;transform:translateX(-50%) translateY(-50%)}}
@keyframes milly-scale-out{0%{opacity:1;transform:translateX(-50%) translateY(-50%)}100%{opacity:0;transform:scale(.8) translateX(-60%) translateY(-60%)}}
@keyframes milly-shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-3px,0,0)}40%,60%{transform:translate3d(3px,0,0)}}
@keyframes milly-scroll-bounce{0%,100%,20%,50%,80%{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}
@keyframes milly-grow-fadeout{0%{opacity:1;top:0;right:0;bottom:0;left:0}100%{top:-12px;right:-12px;bottom:-12px;left:-12px;opacity:0}}
@keyframes milly-fade-in{0%{opacity:0;transform-origin:50% 50%;transform:scale(.7,.7)}100%{opacity:1;transform-origin:50% 50%;transform:scale(1,1)}}


/* Reset Body Font-Weight */
body, .posted_in a, .tagged_as a, p.woocommerce-result-count {
	font-weight: 400;
}

/* Page Background */
body,
#et-main-area {
	background-color: var(--milly_light_color);
}

/* Dark Text Defaults */
.et-menu a:hover {
	opacity:1;
}

/* Back to Top Button */
.et_pb_scroll_top.et-pb-icon {
	background: color-mix(in srgb, var(--milly_light_color) 25%, transparent);
	color: var(--milly_dark_color1);
	box-shadow: var(--milly-shadow);
	border-radius: 50%;
	right: 10px;
	padding: 10px;
	backdrop-filter: blur(10px);
	transition: all .3s ease-in-out;
}
.et_pb_scroll_top.et-pb-icon:hover {
	box-shadow: var(--milly-shadow-big);
	transform:translateY(-5px);
	color: var(--milly_accent_color3);
	background: color-mix(in srgb, var(--milly_light_color) 80%, transparent);
}


/* Milly Scroll Icon */
.milly-scroll-icon {
	animation: milly-scroll-bounce 2s infinite 2s!important;
}

/* Milly Shake animation */
#page-container .et-l .et_pb_section .milly-shake {
	animation: milly-shake 1.5s infinite;
	vertical-align: text-bottom;
}	
#page-container .et-l .et_pb_section .milly-shake:hover {
	animation: none;
}

/* "Close this section" Element */
.milly-close-this-section {
	cursor:pointer;
}


/*	_______________________
	
		HEADER & MENUS
	_______________________
*/


/* Styling default Divi navigation outside of the Theme Builder */
#main-header {
	box-shadow:none;
}
#page-container #main-header.et-fixed-header {
		box-shadow:var(--milly-shadow)!important;
	}
#top-menu > li > a {
	text-transform: uppercase;
}
#top-menu li li {
	padding:0;
	width:100%;
}
#top-menu li li a {
	letter-spacing: 0;
	font-weight: 400;
	width:100%;
}
#top-menu li ul {
	border-top:none;
	box-shadow:var(--milly-shadow);
}
#top-menu .menu-item-has-children>a:first-child {
	padding-right: 0;
}
#top-menu .menu-item-has-children>a:first-child:after {
	display: none;
}

/* Cart Count Badge - [milly_cart_count] */
.milly-cart-count {
	display:inline-block;
	font-size:10px;
	background:var(--milly_accent_color3);
	box-shadow: var(--milly-shadow-mini);
	min-width:18px;
	height:18px;
	padding:0 4px;
	color:var(--milly_light_color);
	border-radius:25px;
	text-align:center;
	line-height:18px;
	letter-spacing: 0;
}
.milly-cart-count[data-count="0"] {
	display:none;
}


/* Remove the arrow from first-level parent menu items */
.milly-menu .et-menu.nav>.menu-item-has-children>a:first-child:after {
	display: none;
}

/* Blur Menu Background */
.milly-menu-bg.et_pb_section {
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}
.milly-blur-bg {
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

/* Add shadow effect when Menu is sticky */
.milly-menu-bg.et_pb_section {
	transition: all .3s ease-in-out;
	box-shadow:none;
}
.milly-menu-bg.et_pb_section.et_pb_sticky {
	box-shadow: var(--milly-shadow);
}

/* Menu Links Hover Effect */
.milly-menu.et_pb_menu .et-menu li a:hover,
.et-db #et-boc .et-l .milly-menu.et_pb_menu .et-menu li a:hover {
	opacity: 1;
	cursor: pointer;
}

.milly-menu.et_pb_menu .et-menu>li>a:before,
.et-db #et-boc .et-l .milly-menu.et_pb_menu .et-menu>li>a:before {
	content: '';
	display: block;
	position: absolute;
	height: 2px;
	border-radius: 2px;
	bottom: 26px;
	animation-duration: 1s;
	animation-fill-mode: both;
	opacity: 0;
	z-index: -1;
	left: 3px;
	right: 5px;
	background: var(--milly_accent_color2);
}

.milly-menu.et_pb_menu .et-menu>li>a:hover:before,
.et-db #et-boc .et-l .milly-menu.et_pb_menu .et-menu>li>a:hover:before,
.milly-menu.et_pb_menu .et-menu>li.current-menu-item>a:before,
.et-db #et-boc .et-l .milly-menu.et_pb_menu .et-menu>li.current-menu-item>a:before {
	animation-name: milly-fade-in-up;
}

/* Submenu styling */

.milly-menu .nav li>ul {
	animation-duration: 1s;
	animation-fill-mode: both;
}

.milly-menu .nav li:hover>ul,
.milly-menu .nav li.et-touch-hover>ul {
	animation-name: milly-fade-in-up;
}

.milly-menu .nav li li ul,
.et-db #et-boc .et-l .milly-menu .nav li li ul {
	top: 0;
}

.milly-menu li li.menu-item-has-children>a:first-child:after,
.et-db #et-boc .et-l .milly-menu li li.menu-item-has-children>a:first-child:after {
	right: 6px;
	transform: rotate(-90deg);
}

@media (min-width:981px) {

	.milly-menu.et_pb_menu li:not(.mega-menu) ul.sub-menu,
	.et-db #et-boc .et-l .milly-menu.et_pb_menu li:not(.mega-menu) ul.sub-menu {
		box-shadow: var(--milly-shadow);
		border-top: 0;
		padding: 0;
	}

	.milly-menu.et_pb_menu li:not(.mega-menu) ul.sub-menu li,
	.et-db #et-boc .et-l .milly-menu.et_pb_menu li:not(.mega-menu) ul.sub-menu li {
		padding: 0;
		width: 100%;
	}

	.milly-menu.et_pb_menu li:not(.mega-menu) ul.sub-menu li a,
	.et-db #et-boc .et-l .milly-menu.et_pb_menu li:not(.mega-menu) ul.sub-menu li a {
		text-transform: none;
		letter-spacing: 0;
		padding: 6px 12px;
		width: 100%;
		transition: all .3s ease-in-out;
		font-weight: 400;
	}

	.milly-menu.et_pb_menu li:not(.mega-menu) ul.sub-menu li a:hover,
	.et-db #et-boc .et-l .milly-menu.et_pb_menu li:not(.mega-menu) ul.sub-menu li a:hover {
		padding-left: 18px;
		background: var(--milly_accent_color1);
	}
}

/* Default Mega-Menu */
.milly-menu .et-menu-nav li.mega-menu>ul,
.et-db #et-boc .et-l .milly-menu .et-menu-nav li.mega-menu>ul {
	width: 90vw;
	max-width: 1300px;
}

@media (min-width:981px) {

	.milly-menu.et_pb_menu li.mega-menu > ul.sub-menu,
	.et-db #et-boc .et-l .milly-menu.et_pb_menu li.mega-menu > ul.sub-menu {
		box-shadow: var(--milly-shadow);
		border-top: 0;
		padding:20px;
	}
	
	.milly-menu.et_pb_menu li.mega-menu ul.sub-menu li a,
	.et-db #et-boc .et-l .milly-menu.et_pb_menu li.mega-menu ul.sub-menu li a {
		width: 100%!important;
	}
	
	
	.milly-menu li.mega-menu .menu-item-has-children>a:first-child, .et-db #et-boc .et-l .milly-menu li.mega-menu .menu-item-has-children>a:first-child {
		padding:12px;
	}
}

/* Default Mobile Menu */
.milly-menu .et_mobile_menu,
.et-db #et-boc .et-l .milly-menu .et_mobile_menu {
	border-top: 0;
	padding: 80px 5vw;
	overflow: scroll;
	height: 100vh;
	top: 0;
	z-index: -1;
}

 .milly-menu .et_mobile_menu::before {
	content: '';
	height: 60px;
	top: 0;
	left: 0;
	width: 100vw;
	background: inherit;
	z-index: 2;
	position: fixed;
}

.milly-menu.et_pb_menu--collapsible-mobile .et_mobile_menu>li.menu-item-has-children:before, .milly-menu.et_pb_menu--collapsible-mobile .et_mobile_menu>li.page_item_has_children:before{
	background: transparent;
	border-color: var(--milly_accent_color1);
}

.milly-menu.et_pb_menu--collapsible-mobile .et_mobile_menu .mobile-toggle .et_pb_menu__collapsible-icon:before {
	transition: all .3s linear;
	display:inline-block;
}
.milly-menu.et_pb_menu--collapsible-mobile .et_mobile_menu li.et_pb_collapsible_menu_open>.mobile-toggle .et_pb_menu__collapsible-icon:before {
	transform: rotate(-135deg) translateX(1px);
}

.milly-menu .et_mobile_menu a:not(.milly-cta-menu):hover,
.et-db #et-boc .et-l .milly-menu .et_mobile_menu a:not(.milly-cta-menu):hover {
	background: var(--milly_accent_color1);
	opacity: 1;
	border-radius: 2px;
}

.milly-menu .et_mobile_menu a:not(.milly-cta-menu),
.et-db #et-boc .et-l .milly-menu .et_mobile_menu a:not(.milly-cta-menu) {
	border-bottom-color: var(--milly_accent_color1);
}
.milly-menu.et_pb_menu .et_mobile_menu li.menu-item-has-children ul.sub-menu {
	padding-left:0;
}

.milly-menu .et_mobile_menu ul.sub-menu li a:not(.milly-cta-menu),
.et-db #et-boc .et-l .milly-menu .et_mobile_menu ul.sub-menu li a:not(.milly-cta-menu) {
	text-transform: none;
	letter-spacing: 0;
	width: 100%;
	transition: none;
}

.milly-menu .et_mobile_menu .sub-menu a:not(.milly-cta-menu),
.et-db #et-boc .et-l .milly-menu .et_mobile_menu .sub-menu a:not(.milly-cta-menu) {
	font-weight: inherit;
}

.milly-menu .et_mobile_menu,
.et-db #et-boc .et-l .milly-menu .et_mobile_menu {
	width: 100vw;
	left: -5vw;
}

.milly-menu .et_mobile_menu .sub-menu li,
.et-db #et-boc .et-l .milly-menu .et_mobile_menu .sub-menu li {
	padding: 0;
}

@media (max-width:980px) {

	.milly-menu .et_pb_menu_inner_container,
	.et-db #et-boc .et-l .milly-menu .et_pb_menu_inner_container {
		padding: 10px 0
	}

	.milly-menu .et_pb_menu__logo,
	.et-db #et-boc .et-l .milly-menu .et_pb_menu__logo {
		margin-right: 0;
	}
}

.milly-menu .et_pb_menu__wrap .mobile_nav.opened .mobile_menu_bar:before,
.archive #et-boc .milly-menu .mobile_nav.opened .mobile_menu_bar:before {
	content: 'M';
	color: var(--milly_dark_color1);
}

.milly-menu .et_mobile_menu>li:last-child a {
	border-bottom: none;
}

/* Menu Icons Group in Mobile menu (cloned by milly-scripts.js) */
#et-boc .et_mobile_menu .milly-menu-icons-mobile {
	display: flex !important;
	margin-top: 30px;
}
#et-boc .et_mobile_menu .milly-menu-icons-mobile a {
	width: 40px;
	padding: 8px;
}
#et-boc .et_mobile_menu .milly-menu-icons-mobile div.et_pb_icon {
	width: 56px;
}
#et-boc .et_mobile_menu .milly-menu-icons-mobile button:hover {
	background: var(--milly_accent_color1);
}

/* Menu Button in Mobile menu */
#et-boc .et_mobile_menu .milly-cta-menu-wrapper {
	display: none;
}

@media (max-width:467px) {
	#et-boc .milly-cta-menu-wrapper {
		display: none;
	}

	#et-boc .et_mobile_menu .milly-cta-menu-wrapper {
		display: block;
		margin: 20px 0 20px !important;
	}
}

/* Nested Mobile Menu */
.milly-menu .et_mobile_menu li li,
.archive #et-boc .et_pb_menu.milly-menu .et_mobile_menu li li {
	padding-left: 0;
}

.milly-menu .et_mobile_menu li a,
.archive #et-boc .et_pb_menu.milly-menu .et_mobile_menu li a {
	padding: 20px 0 20px 10px;
}

.milly-menu .et_mobile_menu li li a,
.archive #et-boc .et_pb_menu.milly-menu .et_mobile_menu li li a {
	padding: 10px 20px 10px 30px;
}

.milly-menu .et_mobile_menu li li li a,
.archive #et-boc .et_pb_menu.milly-menu .et_mobile_menu li li li a {
	padding: 10px 20px 10px 50px
}

.milly-menu .et_mobile_menu .menu-item-has-children>a:hover,
.archive #et-boc .et_pb_menu.milly-menu .et_mobile_menu .menu-item-has-children>a:hover {
	opacity: 1;
}

/* Milly Menu when there is no logo */
/* Milly Menu item spacig */
@media (min-width:981px) and (max-width: 1050px) {
	.milly-menu .et_pb_menu__menu>nav>ul>li {
		padding: 0 8px;
	}
}


/* Vertical Link [Milly] */
.milly-vertical-link.et_pb_link .et-pb-icon {
	margin-left: calc(-1em - 3px);
	opacity: 0;
	transition: opacity .2s ease-out, margin-left .2s ease-out;
}
.milly-vertical-link.et_pb_link:hover .et-pb-icon {
	margin-left: calc(-1em + 3px);
	opacity: 1;
}
.et_pb_link span {
	transition: all .2s ease-out;
}

/*	_______________________
	
		Canvas Overlays	
	_______________________
*/
.milly-interaction-fade {
  transition:
	opacity .4s ease,
	display .4s allow-discrete;
}
.milly-interaction-fade[style*="display: none"] {
  opacity: 0 !important;
  pointer-events: none;
}
@starting-style {
  .milly-interaction-fade {
	opacity: 0;
  }
}

header[data-canvas] {
	z-index: 30;
	position: relative;
}

body.et-fb.et-db #et-boc .et-l .builder-hidden {
	display: none !important;
}


/*	_______________________
	
		ROWS & COLUMNS	
	_______________________
*/

/* Milly Cards */
body .milly-cards .et_pb_image, .milly-cards .et_pb_image > span{
	position: absolute!important;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	height:100%;
	width:100%;
}
body .milly-cards .et_pb_image img {
	object-fit: cover;
	min-width:100%;
	min-height:100%;
	height:100%;
	transition: all 1s ease-in-out;
}
.milly-cards .et_pb_column:hover .et_pb_image img {
	transform: scale(1.1);
}
.milly-cards.et_pb_row .et_pb_column {
	overflow:clip;
}
body:not(.et-fb) .milly-cards .milly-card-title {
	transform-origin: center;
	position:absolute;
	top: 50%;
	left: 50%;
	animation:milly-scale-in 0.3s cubic-bezier(0.550, 0.085, 0.680, 0.530) .6s both;
}
body:not(.et-fb) .milly-cards .et_pb_column:hover .milly-card-title {
	animation:milly-scale-out 0.3s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
}
body:not(.et-fb) .milly-cards .milly-card-description {
	z-index:3;
	min-height: 100%;
	display: flex;
	justify-content: center;
	align-items:center;
	transition: all .3s cubic-bezier(0.550, 0.085, 0.680, 0.530);
	animation: milly-out-bottom 0.45s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
}
body:not(.et-fb) .milly-cards .et_pb_column:hover .milly-card-description {
	opacity:1;
	animation: milly-in-bottom 0.45s cubic-bezier(0.250, 0.460, 0.450, 0.940) .3s both;
}
.milly-cards .et_pb_column:after {
	content: '';
	position: absolute;
	inset:0;
	background: var(--milly_dark_color1);
	z-index: 2;
	opacity: 0;
	transition: all .3s cubic-bezier(0.550, 0.085, 0.680, 0.530);
}
.milly-cards .et_pb_column:hover:after {
	opacity: .8;
}

/*  Milly Services Cards */
.milly-services .et_pb_column:not(.et_pb_column_empty):hover {
	box-shadow:var(--milly-shadow-big);
	z-index:9;
}

.milly-services-inline .et_pb_column:not(.et_pb_column_empty) {
	transition: all .5s cubic-bezier(.46,.92,.71,1.2)!important;
	overflow: clip;
}
.milly-services-inline .et_pb_column:not(.et_pb_column_empty):hover {
	box-shadow: var(--milly-shadow-mini);
}

body:not(.et-fb) .milly-services-inline .milly-service-link {
	transform: translateX(100%);
	transition: all .3s linear;
}

body:not(.et-fb) .milly-services-inline .et_pb_column:hover .milly-service-link {
	transform: translateX(0)
}


/* Milly Column hover effect */
.milly-column-shadow .et_pb_column:not(.et_pb_column_empty) {
	box-shadow: var(--milly-shadow-mini);
	transition: all .5s cubic-bezier(.46,.92,.71,1.2)!important;
}

.milly-column-shadow .et_pb_column:not(.et_pb_column_empty):hover {
	box-shadow: var(--milly-shadow-big);
}


/*	_______________________
	
		MODULES PRESETS	
	_______________________
*/

/* Search */
.et_pb_search input.et_pb_s {
	height: auto !important;
}

/* Fullwidth Slider */
.milly-slider.et_pb_module .et-pb-controllers a:not(.et-pb-active-control) {
	opacity:.3;
}
.milly-slider .et-pb-controllers {
	width: 47.5%;
	left: auto;
	right: 0;
	display: flex;
}
.milly-slider .et-pb-controllers a {
	border-radius: 1px;
	width: 40px;
	height: 4px;
	padding: 0;
}
@media (max-width: 767px) {
	.milly-slider .et-pb-controllers {
		width:100%;
		display:block;
		bottom:10px;
	}
}

/* Milly Toggles & Accordions */
.milly-accordion .et_pb_toggle,
.milly-toggle.et_pb_toggle {
	backdrop-filter: blur(20px);
	box-shadow: var(--milly-shadow-mini);
	transition: box-shadow .3s linear;
}
.milly-accordion .et_pb_toggle.et_pb_toggle_open,
.milly-toggle.et_pb_toggle.et_pb_toggle_open {
	box-shadow: var(--milly-shadow);
}

/* Title Hover Underline [Milly] */
[class*="--nested--thu7m2kq9x"] .et_pb_toggle_title {
	transition: text-decoration-color .3s ease;
}

/* Milly Dividers & Decorative Elements */
.milly-divider-pattern,
.et-db #et-boc .et-l .milly-divider-pattern,
body.et-fb #et-boc .et-l .milly-divider-pattern {
	background-image: linear-gradient(135deg, color-mix(in srgb, var(--milly_light_color) 0%, transparent) 35.71%, var(--milly_accent_color2) 35.71%, var(--milly_accent_color2) 50%, color-mix(in srgb, var(--milly_light_color) 0%, transparent) 50%, color-mix(in srgb, var(--milly_light_color) 0%, transparent) 85.71%, var(--milly_accent_color2) 85.71%, var(--milly_accent_color2) 100%);
	background-size: 9.90px 9.90px;
	background-repeat:repeat;
}
@media (max-width:980px) {
	.milly-divider-pattern,
	.et-db #et-boc .et-l .milly-divider-pattern,
	body.et-fb #et-boc .et-l .milly-divider-pattern {
		background-image: linear-gradient(135deg, color-mix(in srgb, var(--milly_light_color) 0%, transparent) 35.71%, var(--milly_accent_color2) 35.71%, var(--milly_accent_color2) 50%, color-mix(in srgb, var(--milly_light_color) 0%, transparent) 50%, color-mix(in srgb, var(--milly_light_color) 0%, transparent) 85.71%, var(--milly_accent_color2) 85.71%, var(--milly_accent_color2) 100%);
		background-size: 9.90px 9.90px;
	}
}
@media (max-width:767px) {
	.milly-divider-pattern,
	.et-db #et-boc .et-l .milly-divider-pattern,
	body.et-fb #et-boc .et-l .milly-divider-pattern {
		background-image: linear-gradient(135deg, color-mix(in srgb, var(--milly_light_color) 0%, transparent) 33.33%, var(--milly_accent_color2) 33.33%, var(--milly_accent_color2) 50%, color-mix(in srgb, var(--milly_light_color) 0%, transparent) 50%, color-mix(in srgb, var(--milly_light_color) 0%, transparent) 83.33%, var(--milly_accent_color2) 83.33%, var(--milly_accent_color2) 100%);
		background-size: 8.49px 8.49px;
	}
}

/* Milly Pricing Tables */
.milly-pricing .et_pb_pricing_content {
	display: flex;
	justify-content: center;
}
.milly-pricing .et_pb_pricing_table {
	box-shadow: var(--milly-shadow-mini);
	transition: all .5s cubic-bezier(.53, .06, .28, .99);
}
.milly-pricing .et_pb_pricing_table:hover {
	transform: translateY(-15px);
}
.milly-pricing .et_pb_pricing_table.et_pb_featured_table {
	box-shadow: var(--milly-shadow);
}
.milly-pricing .et_pb_pricing_table.et_pb_featured_table:hover {
	box-shadow: var(--milly-shadow-big);
}
.milly-pricing li span::before {
	transform: rotate(45deg);
	height: .5em;
	width: .25em;
	border-width: 0;
	border-bottom-width: 0.15em;
	border-right-width: 0.15em;
	border-radius: 0;
	top: 0.15em;
	left: -1em;
}
.milly-pricing li.et_pb_not_available span::before {
	content: "\00d7";
	transform: none;
	font-size: 1.6em;
	width: auto;
	height: auto;
	border: none;
	left: -.8em;
	top: -0.1em;
}
/* 2 columns on tablet and phone are set in the tables (Sizing); one column on small phones. */
@media (max-width: 466px) {
	.milly-pricing .et_pb_pricing_table {
		width: 100%;
	}
}


/* Milly Social Follow */
.milly-social .et_pb_social_icon a.icon,
.milly-social .et_pb_social_icon a.icon:before {
	transition: transform .4s linear;
}
.milly-social .et_pb_social_icon a.icon:hover {
	transform: rotate(45deg);
}
/* Divi centers the glyph with translate(-50%, -50%) !important */
.milly-social .et_pb_social_icon a.icon:hover:before {
	transform: translate(-50%, -50%) rotate(-45deg) !important;
}
#page-container .milly-social-button a.follow_button {
	box-shadow: var(--milly-shadow-mini);
}


/* Milly Icon Component  */
.milly-icon-module .et-pb-icon,
.milly-icon-module > .et_pb_svg {
	transition: all .3s ease-in-out;
}
.milly-icon-module:hover .et-pb-icon,
.milly-icon-hover:hover .milly-icon-module .et-pb-icon {
	rotate: -10deg;
}
.milly-icon-module:hover > .et_pb_svg,
.milly-icon-hover:hover .milly-icon-module > .et_pb_svg {
	scale: 1.2;
	rotate: 10deg;
}

/* Milly Person */
.milly-person .et_pb_team_member_image {
	max-width: 100%;
}
.milly-person .et_pb_team_member_image img {
	height: 100%;
}
.milly-person .et_pb_team_member_description {
	background: var(--milly_light_color);
	padding: 20px;
}
@media (min-width: 981px) {
	.milly-person .et_pb_team_member_image {
		transition: all .3s ease-in-out !important;
	}
	.milly-person:hover .et_pb_team_member_image {
		transform: translateY(-15%) scale(1.05);
	}
	.milly-person .et_pb_team_member_description {
		position: absolute;
		bottom: -100px;
		z-index: 3;
		transition: all .3s cubic-bezier(0.250, 0.460, 0.450, 0.940);
	}
	.milly-person:hover .et_pb_team_member_description {
		bottom: 0;
	}
	.milly-person::after {
		content: '';
		display: block;
		width: 100%;
		height: 80px;
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		background-image: linear-gradient(0deg, var(--milly_light_color) 20%, transparent 100%);
		z-index: 9999;
		visibility: visible;
		transition: all .3s cubic-bezier(0.250, 0.460, 0.450, 0.940);
	}
	.milly-person:hover::after {
		height: 0;
	}
}
@media (max-width: 980px) {
	.milly-person.et_pb_team_member .et_pb_team_member_image {
		margin: 0 !important;
	}
}
@media (min-width: 468px) and (max-width: 980px) {
	.milly-person.et_pb_team_member.et_pb_module {
		display: flex !important;
		flex-direction: row;
		align-items: stretch;
	}
	.milly-person.et_pb_team_member .et_pb_team_member_image {
		flex: 0 0 30%;
		width: 30% !important;
	}
	.milly-person.et_pb_team_member .et_pb_team_member_description {
		flex: 1 1 70%;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
}
@media (max-width: 467px) {
	.milly-person.et_pb_team_member.et_pb_module {
		flex-direction: column;
		max-width: 300px;
		margin: 0 auto;
	}
}

/* Milly Inline Person */
.et_pb_team_member.milly-person2 {
	align-items: center;
}
.milly-person2 .et_pb_team_member_image {
	box-shadow: var(--milly-shadow);
}
.milly-person2 .et_pb_team_member_image img {
	height: 100%;
}
@media (max-width: 767px) {
	.milly-person2 .et_pb_member_social_links {
		margin-top: 10px;
	}
}
@media (max-width: 467px) {
	.et_pb_team_member.milly-person2 {
		align-items: start;
	}
	.milly-person2 .et_pb_team_member_image {
		max-width: 100px;
	}
}

/* Milly Countdown */
.milly-countdown.et_pb_countdown_timer .section.days p.value:first-letter {
	font-size: 0px;
	vertical-align: top;
}

/* Scrolling Image Module */
.et_pb_image.milly-image-scroll {
	transition: all 3s linear;
}
.et_pb_image.milly-image-scroll span.et_pb_image_wrap {
	width:100%;
}
#page-container .et_pb_image.milly-image-scroll img {
	width:100%;
	object-fit:cover;
	object-position: top;
	transition: all 3s linear;
}
#page-container .et_pb_image.milly-image-scroll:hover img {
	object-position: bottom;
}

/* Milly Optins */
.milly-inline-optin .et_pb_newsletter_fields {
	display: grid;
	grid-template-columns: repeat(var(--milly-optin-columns, 2), minmax(0, 1fr));
}
.milly-inline-optin .et_pb_newsletter_fields:has(> p:nth-of-type(3)) {
	--milly-optin-columns: 3;
}
.milly-inline-optin .et_pb_newsletter_fields:has(> p:nth-of-type(4)) {
	--milly-optin-columns: 4;
}
.milly-inline-optin .et_pb_newsletter_footer {
	grid-column: 1 / -1;
}
/* the button fills the grid cell, so it is as tall as the fields */
.milly-inline-optin .et_pb_newsletter_button_wrap {
	display: flex;
}
.milly-inline-optin .et_pb_newsletter_button {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}
@media (max-width: 767px) {
	.milly-inline-optin .et_pb_newsletter_fields {
		grid-template-columns: minmax(0, 1fr);
	}
}


/* Milly Testimonials */
.milly-testimonial.et_pb_testimonial .et_pb_testimonial_portrait {
	position: absolute;
	bottom: 0;
	left: 0;
	margin: 0;
}
.milly-testimonial.et_pb_testimonial .et_pb_testimonial_description {
	margin-left: 0 !important;
}
.milly-testimonial.et_pb_testimonial:before {
	left: 0;
	top: -20px;
	margin: 0;
	z-index: -1;
}
/* Milly Testimonial - no image */
.milly-testimonial-2.et_pb_testimonial:before {
	left: 0;
	top: 0;
	margin: 0;
	z-index: -1;
}


/*	_______________________
	
		BUTTONS	
	_______________________
*/

/* Buttons Hover Effect */
#page-container .et-l .et_pb_section .et_pb_button.milly-button2::before,
#page-container .et-l .et_pb_section .et_pb_button.milly-button::before,
#page-container #et-main-area .et_pb_section .milly-button-inside .et_pb_button::before,
body.et_pb_button_helper_class.archive #page-container #et-boc .et-l .et_pb_button.milly-button2::before,
body.et_pb_button_helper_class.archive #page-container #et-boc .et-l .et_pb_button.milly-button::before {
	content: '';
	display: block !important;
	margin: 0;
	border-radius: inherit;
	z-index: -1;
	transition: all .5s ease-out;
	background: transparent;
	border-color: inherit;
	border-style: solid;
	border-width:inherit;
	transform:none;
}

#page-container .et-l .et_pb_section .et_pb_button.milly-button2:hover::before,
#page-container .et-l .et_pb_section .et_pb_button.milly-button:hover::before,
#page-container .et-l .et_pb_section .milly-button-inside .et_pb_button:hover:before,
body.et_pb_button_helper_class.archive #page-container #et-boc .et-l .et_pb_button.milly-button2:hover::before,
body.et_pb_button_helper_class.archive #page-container #et-boc .et-l .et_pb_button.milly-button:hover::before {
	animation: milly-grow-fadeout .6s linear;
	animation-fill-mode: backwards;
}


/*	_______________________
	
		BLURBS	
	_______________________
*/

/* Milly Blurb Icon Left */
#page-container .milly-blurb1 span.et-pb-icon {
	position: relative;
	-webkit-background-clip: text;
	background-clip: text;
}

#page-container .milly-blurb1 span.et-pb-icon::before {
	content: '';
	display: block;
	position: absolute;
	inset: 0;
	background-color: inherit;
	z-index: -1;
	transition: all .3s ease-out;
	transform: translate(-5px, -5px);
}

#page-container .milly-blurb1:hover span.et-pb-icon::before {
	transform: translate(5px, 5px);
}

/* Milly Blurb Default */
#page-container .milly-blurb2 span.et-pb-icon {
	position: relative;
	-webkit-background-clip: text;
	background-clip: text;
	border-color: transparent !important;
}

#page-container .milly-blurb2 span.et-pb-icon::before {
	content: '';
	display: block;
	position: absolute;
	inset: 0;
	box-sizing: border-box;
	background-color: inherit;
	border-width: inherit;
	border-style: inherit;
	border-color: currentColor;
	z-index: -1;
	transition: all .4s cubic-bezier(.21,.11,.62,1);
}

#page-container .milly-blurb2:hover span.et-pb-icon::before {
	transform: rotate(-45deg);
}

.milly-blurb2 .et_pb_blurb_container {
	transition: transform .4s cubic-bezier(.21,.11,.62,1);
}

.milly-blurb2:hover .et_pb_blurb_container {
	transform: translateX(10px);
}

/* Mini Blurb Centered  */
.milly-mini-blurb-2::before {
	border-color: var(--milly_light_color);
	border-width: 50px;
	height: 1px;
	left:50%;
	top:-25px;
	margin-left:-50px;
	width: 1px;
	content: '';
	display: block;
	position: absolute;
	border-style: solid;
	border-radius: 100%;
	opacity:0;
	transition: all .3s linear;
}

.milly-mini-blurb-2:hover::before {
	border-width: 30px;
	opacity:1;
	margin-left:-30px;
	top:-15px;
}
.milly-mini-blurb-2:hover .et_pb_main_blurb_image {
	animation: milly-shake 2s;
}

/* Milly Image & Link Blurb */
#page-container .milly-image-blurb .et_pb_main_blurb_image .et_pb_image_wrap {
	transition: all .4s cubic-bezier(0.550, 0.085, 0.680, 0.530);
	transform-origin: top left;
}

#page-container .milly-image-blurb:hover .et_pb_main_blurb_image .et_pb_image_wrap {
	transform: scale(1.1) rotate(-5deg) translate(-8%,-5%);
	box-shadow: var(--milly-shadow-big);
}

.milly-image-blurb .et_pb_blurb_description a {
	transition: all .3s ease-in-out;
}

/* Timeline [Milly] */
.et_pb_column .milly-timeline.et_pb_timeline .et_pb_timeline_track > .et_pb_timeline_item {
	margin-bottom: 0;
}
.milly-timeline.et_pb_timeline .et_pb_timeline_item:not(:last-child) .et_pb_timeline_connector {
	bottom: calc(var(--vertical-gap, 0px) * -1);
}
.milly-timeline.et_pb_timeline .et_pb_timeline_date {
	width: max-content; 
	position: absolute;
	top: 0;
	left: 10.5px;
	transform: translateX(-50%);
	transition: transform .3s ease-in-out;
}
@supports (anchor-scope: all) {
	.milly-timeline.et_pb_timeline .et_pb_timeline_item {
		anchor-scope: --milly-timeline-line;
	}
	.milly-timeline.et_pb_timeline .et_pb_timeline_connector {
		anchor-name: --milly-timeline-line;
	}
	.milly-timeline.et_pb_timeline .et_pb_timeline_date {
		position-anchor: --milly-timeline-line;
		left: anchor(center);
	}
}
.milly-timeline.et_pb_timeline .et_pb_timeline_item:hover .et_pb_timeline_date {
	transform: translateX(-50%) rotate(-15deg);
}
/* Timeline Alternating [Milly] */
@media (min-width: 768px) {
	.milly-timeline-alternating.et_pb_timeline .et_pb_timeline_item:nth-child(even):hover .et_pb_timeline_date {
		transform: translateX(-50%) rotate(15deg);
	}
}


/*	_______________________
	
		BLOG ELEMENTS
	_______________________
*/

/* Milly Blog */
#page-container .milly-blog.et_pb_posts article.et_pb_post {
	position: relative;
	margin-bottom: 0;
	padding: 0 0 15px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	transition: all .3s linear;
	box-shadow:
		0.4px 1.9px 1.1px rgba(0, 0, 0, 0.006),
		0.9px 4.5px 2.6px rgba(0, 0, 0, 0.008),
		1.6px 8.4px 4.9px rgba(0, 0, 0, 0.01),
		2.9px 15px 8.7px rgba(0, 0, 0, 0.012),
		5.4px 28px 16.3px rgba(0, 0, 0, 0.014),
		13px 67px 39px rgba(0, 0, 0, 0.02);
}
#page-container .milly-blog.et_pb_posts article:hover {
	box-shadow:
		0.4px 1.9px 2.2px rgba(0, 0, 0, 0.017),
		0.9px 4.5px 5.3px rgba(0, 0, 0, 0.024),
		1.6px 8.4px 9.9px rgba(0, 0, 0, 0.03),
		2.9px 15px 17.6px rgba(0, 0, 0, 0.036),
		5.4px 28px 33px rgba(0, 0, 0, 0.043),
		13px 67px 79px rgba(0, 0, 0, 0.06);
	transform: translateY(-10px);
}
#page-container .milly-blog.et_pb_posts article > :not(.et_pb_image_container) {
	padding-left: 20px;
	padding-right: 20px;
}
#page-container .milly-blog.et_pb_posts a.entry-featured-image-url {
	overflow: hidden;
}
#page-container .milly-blog.et_pb_posts .entry-title {
	padding-bottom: 15px;
}
#page-container .milly-blog.et_pb_posts .post-content {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
}
#page-container .milly-blog.et_pb_posts article img {
	height: 100%;
	filter: grayscale(1);
	transition: all .3s ease-in-out;
}
#page-container .milly-blog.et_pb_posts article:hover img {
	filter: grayscale(0);
	transform: scale(1.05);
}
#page-container .milly-blog.et_pb_posts span.et_overlay,
.et-fb #page-container #et-boc .milly-blog span.et_overlay {
	z-index: 3;
	opacity: .7;
	border: none;
	transition: all .5s ease-in-out;
}
#page-container .milly-blog.et_pb_posts span.et_overlay:before {
	display: none;
}
#page-container .milly-blog.et_pb_posts article:hover span.et_overlay,
.et-fb #page-container #et-boc .milly-blog article:hover span.et_overlay {
	opacity: 0;
}
#page-container .milly-blog.et_pb_posts .et_pb_image_container {
	position: relative;
	margin: 0; 
}
#page-container .milly-blog.et_pb_posts .et_pb_post .et_pb_image_container a.entry-featured-image-url {
	height: 100%;
}
@media (min-width: 651px) and (max-width: 980px) {
	#page-container .milly-blog.et_pb_posts .et_pb_post .et_pb_image_container {
		top: 0;
		left: 0;
		position: absolute;
		width: 33.333%;
		height: 100%;
	}
	#page-container .milly-blog.et_pb_posts article.has-post-thumbnail > :not(.et_pb_image_container) {
		padding-left: calc(33.333% + 25px);
	}
	#page-container .milly-blog.et_pb_posts .entry-title {
		padding-top: 25px;
	}
}
@media (min-width: 361px) and (max-width: 650px) {
	#page-container .milly-blog.et_pb_posts .et_pb_post .et_pb_image_container {
		top: 0;
		left: 0;
		position: absolute;
		width: 30%;
		height: 100%;
	}
	#page-container .milly-blog.et_pb_posts article.has-post-thumbnail > :not(.et_pb_image_container) {
		padding-left: calc(30% + 25px);
	}
	#page-container .milly-blog.et_pb_posts .entry-title {
		padding-top: 25px;
	}
}
@media (max-width: 360px) {
	#page-container .milly-blog.et_pb_posts p.post-meta {
		padding: 10px 0 15px;
	}
	#page-container .milly-blog.et_pb_posts article.et_pb_post {
		padding-bottom: 0;
	}
}

/* Post Meta */
.post-meta>a, .post-meta>span,
.et_pb_title_meta_container>a, .et_pb_title_meta_container>span {margin-right: 6px;}
.post-meta>a[rel=tag]:not(:last-of-type),
.et_pb_title_meta_container>a[rel*=tag]:not(:last-of-type) {margin-right: 0;}
span.pipe {
	line-height: 0;
	opacity: .5;
	font-size: .7em;
	transform: translateY(-0.15em);
	display: inline-block;
}
.milly-post-title:not(.et_pb_bg_layout_dark) p.et_pb_title_meta_container,
.milly-post-title:not(.et_pb_bg_layout_dark) p.et_pb_title_meta_container a {
	transition: all .3s ease-in-out;
}
.milly-post-title p.et_pb_title_meta_container a:hover {
	text-decoration: underline;
}

/* Milly Blog List */
#page-container .milly-blog-list.et_pb_posts .post-content {
	align-items: stretch;
}
#page-container .milly-blog-list.et_pb_posts .more-link {
	margin-top: 15px;
	text-align: right;
}
#page-container .milly-blog-list.et_pb_posts article.et_pb_post {
	padding-bottom: 25px;
}
#page-container .milly-blog-list.et_pb_posts .et_pb_post .et_pb_image_container {
	top: 0;
	left: 0;
	position: absolute;
	width: 30%;
	height: 100%;
}
#page-container .milly-blog-list.et_pb_posts article > :not(.et_pb_image_container) {
	padding-right: 25px;
}
#page-container .milly-blog-list.et_pb_posts article.has-post-thumbnail > :not(.et_pb_image_container) {
	padding-left: calc(30% + 25px);
}
#page-container .milly-blog-list.et_pb_posts .entry-title {
	padding-top: 25px;
}
#page-container .milly-blog-list .post-meta a:hover {
	text-decoration: underline;
}
@media (max-width: 479px) {
	#page-container .milly-blog-list.et_pb_posts article.has-post-thumbnail > :not(.et_pb_image_container) {
		padding-left: calc(30% + 15px);
	}
	#page-container .milly-blog-list.et_pb_posts article > :not(.et_pb_image_container) {
		padding-right: 15px;
	}
	#page-container .milly-blog-list.et_pb_posts .entry-title {
		padding-top: 15px;
	}
	#page-container .milly-blog-list.et_pb_posts article {
		padding-bottom: 15px;
	}
}

/* Milly Recent Projects */
@media (min-width: 981px) {
	#page-container .milly-blog.et_pb_posts.milly-projects article {
		padding-bottom: 0;
		overflow: hidden;
	}
	#page-container .milly-blog.et_pb_posts.milly-projects a.entry-featured-image-url {
		margin-bottom: 0;
	}
	#page-container .milly-blog.et_pb_posts.milly-projects article > .entry-title {
		padding: 25px;
		position: absolute;
		bottom: calc(-1em - 50px);
		transition: all .3s ease-in-out;
		width: 100%;
		background: var(--milly_light_color);
	}
	#page-container .milly-blog.et_pb_posts.milly-projects article:hover > .entry-title {
		bottom: 0;
	}
}
@media (max-width: 980px) {
	#page-container .milly-blog.et_pb_posts.milly-projects article {
		min-height: 80px;
		padding: 0;
	}
	#page-container .milly-blog.et_pb_posts.milly-projects article > .entry-title {
		padding: 40px 0;
	}
	#page-container .milly-blog.et_pb_posts.milly-projects .et_pb_image_container {
		position: absolute;
		top: 0;
		left: 0;
		width: 50%;
		height: 100%;
	}
	#page-container .milly-blog.et_pb_posts.milly-projects article > :not(.et_pb_image_container) {
		padding-left: calc(50% + 25px);
		padding-right: 25px;
	}
}
@media (max-width: 479px) {
	#page-container .milly-blog.et_pb_posts.milly-projects .et_pb_image_container {
		width: 30%;
	}
	#page-container .milly-blog.et_pb_posts.milly-projects article > :not(.et_pb_image_container) {
		padding-left: calc(30% + 20px);
		padding-right: 5px;
	}
}

/* Add space before headings */
.milly-text :is(p,ul,ol,blockquote) ~ :is(h1,h2,h3,h4,h5,h6) {
	padding-top: .75em;
}

/* Blockquote Styling */
.milly-text b,
.milly-text strong {
	color:var(--milly_dark_color1);
}
.milly-text blockquote {
	background:var(--milly_accent_color1);
	padding:1em 1.5em;
	border-radius:2px;
	position:relative;
}
.milly-text blockquote:before {
	content: '“';
	font-style: normal;
	font-size: 60px;
	position: absolute;
	left: -10px;
	top: 5px;
	color: var(--milly_accent_color2);
}


/* Single Post Navigation */
.milly-post-nav {
	text-align: center;
}
.milly-post-nav > span {
	float:none;
}

/* Post Comments */
@media (min-width:480px) and (max-width:767px) {
	.milly-comments .comment-body {
		padding-left:80px;
	}
	.milly-comments .comment_avatar {
		width:60px;
	}
}

@media(min-width:768px) {
	body:not(.logged-in) .milly-comments p.comment-form-comment {
		width: 50%;
		margin-right: 3%;
		float: left;
	}
	body:not(.logged-in) .milly-comments p.comment-form-comment textarea {
		height:calc(4.8em + 96px)
	}
	
	body:not(.logged-in) .milly-comments p.comment-form-url::after {
		clear: both;
		content:'';
		display:block;
		margin-bottom:-10px;
	}
}

/*	_______________________
	
		PORTFOLIO
	_______________________
*/

/* Filterable Portfolio */

.milly-portfolio-grid .et_portfolio_image img,
.milly-portfolio-grid .et_portfolio_image {
	height: 100%;
	object-fit: cover;
}
.milly-portfolio-grid .et_pb_portfolio_item {
	overflow:hidden;
}
.milly-portfolio-grid .et_pb_module_header,
.milly-portfolio-grid .post-meta {
	position:absolute;
	opacity:0;
	left: 0;
	right: 0;
	height: 50%;
	display: flex;
	align-items: stretch;
	justify-content: flex-end;
	flex-direction: column;
	transition: all .3s ease-in-out;
	z-index:3;
	margin:0;
}
.milly-portfolio-grid .et_pb_module_header{
	top: -10px;
}
.milly-portfolio-grid .et_pb_portfolio_item:hover .et_pb_module_header {
	top:0;
	opacity:1;
}
.milly-portfolio-grid .post-meta {
	bottom: -20px;
	display: block;
}
.milly-portfolio-grid .post-meta a:hover {
	text-decoration: underline;
}
.milly-portfolio-grid .et_pb_portfolio_item:hover .post-meta {
	bottom:-10px;
	opacity:1;
}
.milly-portfolio-grid .et_pb_portfolio_item .et_pb_module_header a:after {
	content: '';
	background: color-mix(in srgb, var(--milly_light_color) 90%, transparent);
	position: absolute;
	top: 0;
	right: 0;
	bottom: -200%;
	left: 0;
	transition: all .5s ease-in-out;
	opacity: 0;
	z-index:-1;
}
.et_pb_filterable_portfolio.milly-portfolio-grid .et_pb_portfolio_item>a {
	z-index:2;
}

.et_pb_filterable_portfolio.milly-portfolio-grid .et_pb_portfolio_item:hover .et_pb_module_header a:after {
	opacity: 1;
}
.et_pb_filterable_portfolio.milly-portfolio-grid .et_pb_portfolio_item.active {
	animation: milly-fade-in 0.5s cubic-bezier(.46,.92,.71,1.2) both;
}

.milly-portfolio-grid.et_pb_filterable_portfolio .et_pb_portofolio_pagination {
	border:none;
	margin-top:20px;
}
.milly-portfolio-grid .et_pb_portfolio_filters ul {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap:wrap;
}
#page-container .milly-portfolio-grid .et_pb_portfolio_filters ul li {
	width:auto;
}
#page-container .milly-portfolio-grid .et_pb_portfolio_filters ul li a {
	border-radius:0;
	border:none;
	margin:0 10px;
	background:none;
	padding:0;
	border-bottom:2px transparent solid;
}
#page-container .milly-portfolio-grid .et_pb_portfolio_filters ul li a.active {
	border-bottom-color:currentcolor;
}

/* Portfolio Slider (Post Carousel [Milly]) */

.milly-portfolio-slider .et_pb_portfolio_image .meta {
	opacity: 1;
	z-index: 3;
}

.milly-portfolio-slider .et_pb_portfolio_image .et_overlay,
.milly-portfolio-slider .et_pb_portfolio_image .et_pb_module_header {
	opacity: 0;
	transition: all 1s ease-in-out;
	z-index: 3;
}

.milly-portfolio-slider .et_pb_portfolio_image:hover .et_overlay {
	opacity: 1;
}

.milly-portfolio-slider .et_pb_portfolio_image .et_overlay:before {
	top: auto;
	bottom: 27px;
	left: -10px;
	transform: none;
	transition: all .4s;
	transition-delay: .3s;
	opacity: 0;
}

.milly-portfolio-slider .et_pb_portfolio_image:hover .et_overlay:before {
	top: auto;
	left: 15px;
	opacity: 1;
}

.milly-portfolio-slider .et_pb_portfolio_image .et_pb_module_header {
	position: absolute;
	left: 80px;
	transition: all .4s;
	transition-delay: .3s;
	bottom: 25px;
	width: calc(100% - 40px);
	padding: 0;
	margin: 0;
}


.milly-portfolio-slider .et_pb_portfolio_image:hover .et_pb_module_header {

	left: 40px;
	opacity: 1;
}

.milly-portfolio-slider .et_pb_portfolio_image img {
	transition: all 1.5s linear;
	transform-origin: top right;
}

.milly-portfolio-slider .et_pb_portfolio_image:hover img {
	transform: scale(1.05);
}

/* Project Page Navigation */
.milly-project-nav.nav-single {
	margin-top:0;
	padding-top:0;
	border-top:0;
}


/*	_______________________
	
		WOOCOMMERCE
	_______________________
*/

/* Woo Product Image Lightbox */
.pswp__ui--fit .pswp__caption, .pswp__ui--fit .pswp__top-bar,
.single-product .pswp__bg {
	background-color: var(--milly_light_color);
}
.single-product .pswp__top-bar .pswp__button,.single-product .pswp__button--arrow--left:before,.single-product .pswp__button--arrow--right:before {
	background-image: url(woocommerce/milly-photoswipe-skin.png)!important;
}
.pswp__caption__center {
	text-align:center;
}

/* Woo Add To Cart [Milly] */
#page-container .milly-add-to-cart form.cart .reset_variations {
	padding:.2em .7em;
	color: var(--milly_accent_color1);
	background: var(--milly_dark_color1);
	border-radius:2px;
	margin-top: 0;
	transform: translate(100%, -100%);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing:0.1em;
	font-size: .75em;
}
#page-container .milly-add-to-cart form.cart .variations label {
	text-transform: uppercase;
	letter-spacing: 0.1em;
	vertical-align: middle;
}
#page-container .milly-add-to-cart form.cart .variations label:after {
	content:':';
}
#page-container .milly-add-to-cart button.button.disabled {
	opacity:.2;
}
/* Divi Woo JS  */
body.et-db #et-boc .et-l .milly-add-to-cart .button:hover {
	padding-left: 1.5em !important;
	padding-right: 1.5em !important;
}
/* Variation dropdown: one arrow only (Woo background arrow), hide the Divi span arrow. */
#page-container .milly-add-to-cart form.cart .variations td.value span:after {
	display: none;
}
/* Selected variation price: match the Woo Product Price module (Text XL, 700). */
#page-container .milly-add-to-cart .woocommerce-variation-price .price {
	font-size: var(--gvid-tjx188tbku);
	font-weight: 700;
	line-height: 1.1em;
	display:inline-block;
	margin-bottom:.5em;
}

/* Woo Notices */
.milly-notice a:hover {
	text-decoration: underline;
}
/* Empty cart: the "Return to shop" paragraph is not covered by the module Text Alignment. */
.milly-notice .return-to-shop {
	text-align: center;
}


/* Order received page */
.woocommerce-order-received .milly-checkout .et_pb_column:not(.milly-shadow) {
	display: none;
}

.woocommerce-order-received .et_pb_column.milly-shadow {
	width: 100%;
	max-width:880px;
	float: none;
	margin:0 auto!important;
}

.woocommerce-order-received .woocommerce-thankyou-order-received,
.woocommerce-order-received .woocommerce-order-overview{
	margin-bottom: 3em;
	padding:0;
	display:inline-block;
}

/* Woo Price */
.milly-price .price del {
	font-weight: 400;
}

/* Woo Product Additional Information */
.milly-product-info table.shop_attributes td {
	font-style: inherit;
}

/* Woo Reviews */
@media (min-width:800px) {
	.woocommerce .milly-reviews #reviews #comments ol.commentlist {
		column-count: 2;
		column-gap: 6%;
	}
}
.woocommerce .milly-reviews #reviews #comments ol.commentlist li {
	break-inside: avoid;
}
.woocommerce .milly-reviews #reviews #comments ol.commentlist li .comment-text {
	margin-left: 70px!important;
}
.woocommerce .milly-reviews #reviews #comments ol.commentlist li img.avatar {
	width: 60px!important;
}
.woocommerce .milly-reviews #reviews #comments ol.commentlist li .comment-text p.meta {
	margin-bottom: 10px!important;
}
.woocommerce .milly-reviews #reviews .commentlist .star-rating {
	margin-top:10px;
}
.milly-reviews #review_form {
	max-width: 600px;
	margin: 50px 0 0;
}
.woocommerce .milly-reviews #review_form #respond p.stars {
	margin-top:1em;
}
.woocommerce .milly-reviews #review_form #respond p.stars a {
	font-size:1.5em;
}

/* Woo Product Gallery */
.woocommerce div.product div.images a {
	cursor: -webkit-zoom-in;
	cursor: zoom-in;
}

/* Woo Checkout [Milly] */
.milly-billing-details p#billing_address_2_field {
	display: none !important;
}
.milly-billing-details p#billing_address_1_field {
	width: 100%;
}
#page-container .milly-billing-details .et_pb_wc_checkout_section .form-row {
	margin-bottom: var(--gvid-3439xh8vpq);
}
#page-container .milly-billing-details .select2-container .select2-selection--single .select2-selection__rendered {
	padding-top: 0;
	padding-bottom: 0;
	line-height: inherit;
}
/* Order notes */
#page-container .et_pb_wc_checkout_additional_info .form-row textarea.input-text {
	background-color: var(--milly_light_color);
	border: var(--gvid-v2jraeu0zr) solid var(--milly_dark_color1);
	padding: 0.88em 1.1em;
	line-height: 1.5em;
}
#page-container .et_pb_wc_checkout_additional_info .form-row textarea.input-text:focus {
	border-color: var(--milly_accent_color3);
}
.milly-checkout h3 {
	padding-bottom: 30px;
}
/* full-width Place order button */
#page-container #main-content .milly-payment #payment #place_order {
	width: 100%;
}
.milly-payment a.woocommerce-terms-and-conditions-link {
	text-decoration: underline;
}
/* order received: the Payment module body font (Body XS for the privacy text) also sizes the order summary, no separate option */
.milly-payment ul.woocommerce-order-overview li {
	font-size: var(--gvid-2t1tg176py);
	line-height: 1.5;
	margin-bottom: var(--gvid-ch0phcpn5s);
}
.milly-payment ul.woocommerce-order-overview li strong {
	font-size: var(--gvid-ifjuwfl8au);
	color: var(--milly_dark_color1);
}
#page-container .milly-payment .woocommerce-order p.woocommerce-thankyou-order-received {
	font-size: var(--gvid-ifjuwfl8au) !important;
}

/* Woo Cart Products [Milly] */
#page-container .milly-cart-products table.shop_table_responsive tr:last-child td {
	background: none !important;
}
@media (max-width:479px) {
	#page-container .milly-cart-products table.cart tr {
		padding: 0 !important;
	}
	#page-container .milly-cart-products td {
		padding: 10px !important;
	}
}
#page-container .milly-cart-products table.shop_table {
	table-layout: auto;
}
.milly-cart-products table.cart th.product-price,
.milly-cart-products table.cart th.product-quantity,
.milly-cart-products table.cart th.product-subtotal {
	width: 16%;
}
.milly-cart-products table.cart .quantity {
	width: auto;
}
.milly-cart-products table.cart .product-thumbnail {
	padding: 0 !important;
}

/* Login & Checkout Forms */
.woocommerce-checkout form.woocommerce-form.woocommerce-form-login.login {
	max-width: 100%;
}
.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register {	
	border: none;
	box-shadow: var(--milly-shadow);
}
input:-webkit-autofill,
input:-webkit-autofill:focus {
	transition: background-color 600000s 0s, color 600000s 0s;
}

/* Milly Product Lists Shop Page, Shop Categories */
.milly-shop .onsale {
	transform: rotate(-15deg) translateX(-5px);
	z-index: 5!important;
}
.milly-shop .et_overlay {
	border: 0;
}
#page-container .milly-shop .orderby {
	border-radius: 0;
	font-weight: inherit;
	font-size: inherit;
	background: transparent;
	border-bottom: var(--gvid-v2jraeu0zr) solid currentcolor;
	padding-right:0;
	padding-left:0;
}

.milly-shop p.woocommerce-result-count {
	color:inherit;
}
.milly-shop .woocommerce-result-count {
	padding-top:2px;
	margin-right:20px;
}
.woocommerce .milly-shop .woocommerce-ordering {
	float:none;
	margin-bottom:50px;
}

/* Product Pagination */
.woocommerce .milly-shop nav.woocommerce-pagination ul li span,
.woocommerce .milly-shop nav.woocommerce-pagination ul li a {
	min-width: 3em;
	padding: 1em;
}
.woocommerce .milly-shop nav.woocommerce-pagination ul,
.woocommerce .milly-shop nav.woocommerce-pagination li {
	border-color:currentColor;
}
/* the Shop module has pagination font options only, Woo gives the current page a purple-gray background */
.woocommerce .milly-shop nav.woocommerce-pagination ul li a:hover,
.woocommerce .milly-shop nav.woocommerce-pagination ul li a:focus {
	background: var(--milly_accent_color1);
}
.woocommerce .milly-shop nav.woocommerce-pagination ul li span.current {
	background: var(--milly_accent_color2);
}


/* Milly My Account */
/* fields */
.woocommerce-account #page-container .woocommerce form .form-row {
	padding: 0;
	margin-bottom: var(--gvid-3439xh8vpq);
}
.woocommerce-account #page-container .woocommerce form .form-row label {
	font-size: var(--gvid-2t1tg176py);
	font-weight: 700;
	line-height: 1.8em;
	color: var(--milly_dark_color1);
}
.woocommerce-account #page-container .woocommerce form .form-row .input-text,
.woocommerce-account #page-container .woocommerce .select2-container .select2-selection--single {
	height: auto;
	padding: 0.88em 1.1em;
	background-color: var(--milly_light_color);
	border: var(--gvid-v2jraeu0zr) solid var(--milly_dark_color1);
	border-radius: 2px;
	color: var(--milly_dark_color1);
	font-size: var(--gvid-t1ijeir24q);
	line-height: 1.5em;
}
.woocommerce-account #page-container .woocommerce form .form-row .input-text:focus,
.woocommerce-account #page-container .woocommerce .select2-container--focus .select2-selection--single,
.woocommerce-account #page-container .woocommerce .select2-container--open .select2-selection--single {
	border-color: var(--milly_accent_color3);
	outline: none;
}
.woocommerce-account #page-container .woocommerce form .form-row .input-text::placeholder {
	color: color-mix(in srgb, var(--milly_dark_color2) 75%, transparent);
}
.woocommerce-account #page-container .woocommerce .select2-container .select2-selection--single .select2-selection__rendered {
	padding: 0;
	line-height: inherit;
	color: inherit;
}
.woocommerce-account #page-container .woocommerce form .form-row label.woocommerce-form-login__rememberme {
	font-size: inherit;
	font-weight: 400;
	color: var(--milly_dark_color2);
}
.woocommerce-account #page-container .woocommerce form .form-row em {
	font-size: var(--gvid-2t1tg176py);
	font-style: normal;
}
.woocommerce-account #page-container .woocommerce form legend {
	display: none;
}
.woocommerce-account #page-container .woocommerce-form-login {
	max-width: 40em;
}
/* buttons */
.woocommerce-account #page-container .woocommerce .button {
	padding: 1em 1.6em;
	text-decoration: none;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	background-color: var(--milly_dark_color1);
	border: var(--gvid-v2jraeu0zr) solid var(--milly_dark_color1);
	border-radius: 2px;
	color: var(--milly_light_color);
	font-size: var(--gvid-2t1tg176py);
}
.woocommerce-account #page-container .woocommerce .button:hover {
	padding: 1em 1.6em;
	background-color: var(--milly_accent_color3);
	border-color: var(--milly_accent_color3);
	color: var(--milly_light_color);
}
.woocommerce-account #page-container .woocommerce .button::after {
	display: none;
}
.woocommerce-account #page-container .woocommerce-MyAccount-content table .button,
.woocommerce-account #page-container .woocommerce-MyAccount-content table .button:hover {
	padding: 0.5em 1em;
}

/* notices */
.woocommerce-account #page-container .woocommerce-message,
.woocommerce-account #page-container .woocommerce-info,
.woocommerce-account #page-container .woocommerce-error {
	background-color: var(--milly_light_color) !important;
	border: var(--gvid-v2jraeu0zr) solid var(--milly_dark_color1) !important;
	color: var(--milly_dark_color1) !important;
}
/* tables and addresses */
.woocommerce-account #page-container .woocommerce-MyAccount-content table.shop_table {
	border: var(--gvid-v2jraeu0zr) solid var(--milly_accent_color1);
	border-radius: 2px;
	font-size: var(--gvid-t1ijeir24q);
}
.woocommerce-account #page-container .woocommerce-MyAccount-content table.shop_table th {
	color: var(--milly_dark_color1);
	font-size: var(--gvid-2t1tg176py);
}
.woocommerce-account #page-container .woocommerce-MyAccount-content table.shop_table td,
.woocommerce-account #page-container .woocommerce-MyAccount-content table.shop_table tfoot th {
	border-top: var(--gvid-v2jraeu0zr) solid var(--milly_accent_color1);
}
.woocommerce-account #page-container .woocommerce-MyAccount-content address {
	border-color: var(--milly_accent_color1);
	font-size: var(--gvid-t1ijeir24q);
	font-style: normal;
}
.woocommerce-account #page-container .woocommerce-MyAccount-content header a {
	font-size: var(--gvid-2t1tg176py);
}
.woocommerce-account #page-container .woocommerce-MyAccount-content section.woocommerce-order-details {
	margin-top: var(--gvid-3439xh8vpq);
}

/* account navigation */
@media (min-width:769px) {
	.woocommerce-account #page-container .woocommerce-MyAccount-navigation {
		width:27%;
	}
}
.woocommerce-account #page-container .woocommerce-MyAccount-navigation ul {
	margin-bottom: var(--gvid-3439xh8vpq);
	padding: 0 !important; /* Body Text [Milly] gives lists in Text modules padding-left 2em !important */
	list-style: none;
}
.woocommerce-account #page-container .woocommerce-MyAccount-navigation ul li a {
	display: block;
	text-decoration: none;
	padding: 0.55em;
	border-top: var(--gvid-v2jraeu0zr) solid var(--milly_accent_color2);
	transition: all 0.3s ease-in-out;
	background:var(--milly_light_color);
}
.woocommerce-account #page-container .woocommerce-MyAccount-navigation ul li:first-child a {
	border-top: none;
}
.woocommerce-MyAccount-navigation ul li a:before {
	content: '\e012';
	margin-right: 0.55em;
	font-family: 'ETModules';
	transition: all 0.3s ease-in-out;
}
.woocommerce-account #page-container .woocommerce-MyAccount-navigation ul li a:hover {
	padding-left: 0.85em;
}
.woocommerce-MyAccount-navigation ul li a:hover:before {
	margin-right: 0.85em;
}
.woocommerce-account #page-container .woocommerce-MyAccount-navigation ul li.is-active a {
	background-color: var(--milly_accent_color1);
}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--orders a:before { content: '\e013'; }
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-address a:before { content: '\e009'; }
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--downloads a:before { content: '\e020'; }
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--edit-account a:before { content: '\e108'; }
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a:before { content: '\51'; }


/*	_______________________
	
		CUSTOM SLIDERS	
	_______________________
*/

/* Milly Section Slider (tab-nav) */
.milly-tab-wrapper, .milly-tab-wrapper .et_pb_section {
	width:100%;
	min-width:100%;
	max-width:100%;
}
#et-boc .milly-tab-nav .et_pb_column {
	transition: background-color .3s ease-in-out, border-color .3s ease-in-out, color .3s ease-in-out;
}
@media (min-width:768px) and (max-width:980px) {
	#et-boc .milly-tab-nav {
		display:flex;
	}
}
@media (min-width:768px) {
	#et-boc .milly-tab-nav .et_pb_column.is-selected {
		border-bottom-color:transparent;
	}
}
#et-boc .milly-tab-nav .et_pb_column.is-selected {
	background:var(--milly_light_color);
}
.milly-tab-nav .et_pb_column:not(.is-selected):hover {
	cursor:pointer;
}

.milly-tab-nav .et_pb_column:not(.is-selected):hover * {
	color: var(--milly_light_color)!important;
}

/* Testimonial Slider */
body.et-fb #et-boc .milly-testimonial-slider .et_pb_column {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
/* Milly Shop Slider */
body:not(.et-fb) #page-container #et-boc .milly-shop-slider .columns-4 li.product {
	width: 22.75%;
	margin-right: 3%;
	margin-bottom:0!important;
}
@media (max-width:980px) {
	body:not(.et-fb) #page-container #et-boc .milly-shop-slider .columns-4 li.product {
		width: 32%!important;
		margin-right: 2%!important;
	}
}

@media (max-width:767px) {
	body:not(.et-fb) #page-container #et-boc .milly-shop-slider .columns-4 li.product {
		width: 48.5%!important;
		margin-right: 3%!important;
	}
}

@media (max-width:360px) {
	body:not(.et-fb) #page-container #et-boc .milly-shop-slider .columns-4 li.product {
		width: 100%!important;
		margin-right: 0!important;
	}
}

.milly-shop-slider .flickity-prev-next-button.previous {
	left:-20px;
}
.milly-shop-slider .flickity-prev-next-button.next {
	right:-20px;
}
.milly-shop-slider .flickity-prev-next-button {
	top:calc(50% - 20px);
}


/* Flickity Sliders Styling */
.flickity-prev-next-button {
	z-index: 10;
}
/* Arrow colour: the icon uses currentColor, and without a colour mobile Safari paints buttons system blue */
.flickity-button {
	color: var(--milly_dark_color1);
	-webkit-tap-highlight-color: transparent;
}
/* Milly Carousel (class milly-carousel on a section, row or column): the Divi elements directly inside are the slides.
   A running slider is not a flex container (Flickity places the slides itself), and inside Flickity the row gap is lost, so it becomes the slide margin. */
.milly-carousel.flickity-enabled {
	display: block;
	--horizontal-gap-parent: var(--horizontal-gap);
}
.milly-carousel .flickity-slider > .milly-slide {
	margin-right: var(--horizontal-gap-parent) !important;
}
/* modules as slides (carousel on a column) take the full width, a width set in the module still wins */
:where(.milly-carousel .flickity-slider > .et_pb_module) {
	width: 100%;
}
/* adaptiveHeight: smooth height change between slides */
.milly-carousel .flickity-viewport {
	transition: height .2s;
}
/* dotsLeft option */
.milly-carousel-dots-left .flickity-page-dots {
	text-align: left;
}
/* hoverDim option: the other slides fade back while one is hovered */
.milly-carousel-dim .milly-slide {
	transition: opacity .3s ease-in-out;
}
.milly-carousel-dim .flickity-viewport:hover .milly-slide:not(:hover) {
	opacity: .5;
}
/* page dots are an <ol>, Divi gives lists in content a bottom padding and line-height */
.flickity-enabled .flickity-page-dots {
	padding: 0;
	line-height: 1;
}

.flickity-prev-next-button:disabled,
.flickity-prev-next-button:disabled+.milly-slider-overlay {
	display: none;
}

.flickity-prev-next-button.previous+.milly-slider-overlay {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 20%;
	background: linear-gradient(90deg, var(--milly_light_color), transparent);
}

.flickity-prev-next-button.next+.milly-slider-overlay {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	width: 20%;
	background: linear-gradient(90deg, transparent, var(--milly_light_color));
}

/* Flickity v2.3.0
https://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled{position:relative}.flickity-enabled:focus{outline:0}.flickity-viewport{overflow:hidden;position:relative;height:100%}.flickity-slider{position:absolute;width:100%;height:100%}.flickity-enabled.is-draggable{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.flickity-enabled.is-draggable .flickity-viewport{cursor:move;cursor:-webkit-grab;cursor:grab}.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down{cursor:-webkit-grabbing;cursor:grabbing}.flickity-button{position:absolute;background:color-mix(in srgb, var(--milly_light_color) 75%, transparent);border:none;}.flickity-button:hover{background:var(--milly_light_color);cursor:pointer}.flickity-button:focus{outline:0;box-shadow:0 2px 5px -1px rgba(0,0,0,.3)}.flickity-button:active{opacity:.6}.flickity-button:disabled{opacity:.3;cursor:auto;pointer-events:none}.flickity-button-icon{fill:currentColor}.flickity-prev-next-button{top:50%;width:44px;height:44px;border-radius:50%;transform:translateY(-50%)}.flickity-prev-next-button.previous{left:0}.flickity-prev-next-button.next{right:0}.flickity-rtl .flickity-prev-next-button.previous{left:auto;right:0}.flickity-rtl .flickity-prev-next-button.next{right:auto;left:0}.flickity-prev-next-button .flickity-button-icon{position:absolute;left:20%;top:20%;width:60%;height:60%}.flickity-page-dots{position:absolute;width:100%;bottom:-25px;padding:0;margin:0;list-style:none;text-align:center;line-height:1}.flickity-rtl .flickity-page-dots{direction:rtl}.flickity-page-dots .dot{display:inline-block;width:10px;height:10px;margin:0 8px;background:var(--milly_dark_color1);border-radius:50%;opacity:.25;cursor:pointer}.flickity-page-dots .dot.is-selected{opacity:1}