/*
Copyright (c) 2018 Designs and Codes

Permission is hereby granted, free of charge, to any person obtaining a copy 
of this software and associated documentation files (the "Software"), to deal 
in the Software without restriction, including without limitation the rights 
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 
copies of the Software, and to permit persons to whom the Software is 
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in 
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 
SOFTWARE.
*/

/**
 * Styles for gutenberg-enabled posts
 *
 * @since KenWStone 1.1.0
 * @author Designs and Codes, LLC
 */

:root {
	--kws-heading-section-text-shadow: rgba( 0, 0, 0, 0.3 ) 0px 0.25rem 0.25rem;
	--kws-sticky-height: 5rem;
	font-size: 100%;
}

@media( min-width: 768px ) {
	:root {
		font-size: calc( 17 / 16 * 100% );
	}
}

@media( min-width: 992px ) {
	:root {
		font-size: calc( 18 / 16 * 100% );
	}
}

mark:is( mark ) {
	background-color: transparent;
	color: currentcolor;
}

.is-layout-flex {
	column-gap: 30px;
	row-gap: 1rem;
}

.alignwide {
	margin-left: -15px !important;
	margin-right: -15px !important;
	padding-left: 15px !important;
	padding-right: 15px !important;
	max-width: calc( 100% + 30px );
}

.alignfull {
	clear: both;
	position: relative !important;
	left: 50% !important;
	margin-left: calc( var( --kws-full-width, 100vw ) / -2 ) !important;
	margin-right: calc( var( --kws-full-width, 100vw ) / -2 ) !important;
	padding-left: 0;
	padding-right: 0;
	max-width: var( --kws-full-width, 100vw ) !important;
	width: var( --kws-full-width, 100vw ) !important;
}

.alignfull > .is-layout-constrained {
	margin-left: auto;
	margin-right: auto;
	padding-left: 15px;
	padding-right: 15px;
	max-width: 100%;
	width: 100%;
}

@media( min-width: 768px ) {
	.alignfull > .is-layout-constrained {
		width: 750px;
	}
	
	.margin-sm-bottom-none.margin-sm-bottom-none {
		margin-bottom: 0 !important;
	}
}

@media( min-width: 992px ) {
	.alignfull > .is-layout-constrained {
		width: 960px;
	}
}

@media( min-width: 1200px ) {
	.alignfull > .is-layout-constrained {
		width: 1170px;
	}
}

.kws-full-height {
	min-height: calc( var( --kws-full-height, 100vh ) - var( --wp-admin--admin-bar--height, 0 ) ) !important;
}

@media( max-width: 767px ) {
	:where( body:not( .wp-admin ):has( .kws-sticky ) ) .kws-full-height {
		min-height: calc( var( --kws-full-height, 100vh ) - var( --wp-admin--admin-bar--height, 0 ) - var( --kws-sticky-height, 5rem ) ) !important;
	}
}

.kws-purchase-row {
    column-gap: 30px;
	row-gap: 3rem;
}

.kws-purchase-row > * {
	flex: 0 0 100%;
}

@media( min-width: 768px ) {
	.kws-purchase-row > * {
		flex: 0 0 calc( 50% - 15px );
	}
}

:where( body:not( .wp-admin ) ) .kws-sticky {
	z-index: 10;
	left: 0 !important;
	min-height: var( --kws-sticky-height, 5rem );
}

@media( max-width: 767px ) {
	:where( body:not( .wp-admin ) ):has( .kws-sticky ) {
		padding-bottom: var( --kws-sticky-height, 5rem );
	}
	
	:where( body:not( .wp-admin ) ) .kws-sticky {
		position: fixed !important;
		bottom: 0 !important;
		margin: 0 !important;
	}
}

@media( min-width: 768px ) {
	:where( body:not( .wp-admin ) ) .kws-sticky {
		position: sticky !important;
		top: 0 !important;
	}
}
/*
:where( body:not( .wp-admin ) ) .kws-sticky:not( .kws-sticky--shown ) {
	display: none !important;
}

:where( body:not( .wp-admin ) ) .kws-sticky {
	position: sticky !important;
	z-index: 10;
	top: var( --wp-admin--admin-bar--height, 0 ) !important;
	bottom: auto !important;
	margin: 0 !important;
}

:where( body:not( .wp-admin ) ) .kws-sticky.alignfull {
	position: fixed !important;
	left: 0 !important;
}

:where( body:not( .wp-admin ) ) .kws-sticky--bottom {
	top: auto !important;
	bottom: 0 !important;
}

@media( min-width: 768px ) {
	:where( body:not( .wp-admin ) ) .kws-sticky--sm-top {
		top: var( --wp-admin--admin-bar--height, 0 ) !important;
		bottom: auto !important;
	}
}
*/
.wp-block-button:where( .is-style-dive, .is-style-popup, .is-style-register ) > .wp-block-button__link {
	border-radius: 0.125rem;
	box-shadow: var( --kws-heading-section-text-shadow );
	padding-block: 0.75em;
	font-size: 1.15rem;
	font-size: clamp( 1.15rem, 0.5277777777777776rem + 1.2962962962962965vw, 1.5rem );
	font-weight: bold;
}

.wp-block-button:is( .is-style-dive, .is-style-popup ) {
	width: 100%;
	text-align: center;
}

.wp-block-button:where( .is-style-dive, .is-style-popup ) > .wp-block-button__link {
	max-inline-size: calc( 100% / 1.1 );
	transform: scale( 1.0 );
	transition: transform 0.3s;
}

.wp-block-button:where( .is-style-dive ) > .wp-block-button__link {
	position: relative;
	padding-inline: 2rem;
	padding-inline: clamp( 2rem, -1.5555555555555554rem + 7.4074074074074066vw, 4rem );
	background-color: #e7d2a4;
	color: #2b3968;
}

.wp-block-button:where( .is-style-dive ) > .wp-block-button__link:after {
	content: '\f105';
	position: absolute;
	inset-inline-end: 1rem;
	inline-size: 1em;
	font-family: FontAwesome;
	text-align: center;
}

.wp-block-button:where( .is-style-dive, .is-style-popup ) > .wp-block-button__link:is( :active, :focus-visible, :hover ) {
	transform: scale( 1.1 );
}

.wp-block-button:where( .is-style-popup, .is-style-register ) > .wp-block-button__link {
	padding-inline: 2em;
}

.wp-block-button:where( .is-style-popup ) > .wp-block-button__link {
	border: 2px solid #2b3968;
	background-color: #faf7f3;
	color: #2b3968;
}

.wp-block-button:where( .is-style-register ) > .wp-block-button__link {
	background-color: #2b3968;
	color: #e3d7bd;
	text-transform: uppercase;
}

.wp-block-button:where( .is-style-register ) > .wp-block-button__link:is( :active, :focus-visible, :hover ) {
	background-color: #ceb06e;
	color: #021c47;
}

.wp-block-columns.are-vertically-aligned-center {
	align-items: center !important;
}

.wp-block-columns.is-style-boxes > .wp-block-column {
	display: flex;
	align-items: stretch;
	flex-flow: column nowrap;
	gap: 0;
	justify-content: start;
	border: 2px solid var( --wp--preset--color--gold-bg-light );
	border-radius: 1rem;
	padding-block: 1rem;
	padding-inline: 15px;
	background-color: var( --wp--preset--color--lightest );
}

:where( .wp-block-columns.is-style-boxes > .wp-block-column ) > * {
	inline-size: 100%;
}

.wp-block-columns.is-style-boxes > .wp-block-column > * {
	margin-block-end: 0;
}

.wp-block-columns.is-style-boxes > .wp-block-column > :first-child {
	margin-block-start: 0;
}

.wp-block-cover {
	padding-block: 4rem;
	padding-inline: 15px;
	min-block-size: 0;
	color: inherit;
}

.wp-block-cover .wp-block-embed {
	min-block-size: 0;
}

.wp-block-details,
.wp-block-dnc-accordion-entry {
	font-size: 1rem;
}

.wp-block-details > summary,
.dnc-accordion-entry-heading > label {
	font-size: 1rem;
	font-size: clamp( 1rem, 0.6444444444444446rem + 0.7407407407407405vw, 1.2rem );
	line-height: 1.44rem;
	font-weight: bold;
}

.wp-block-details > summary,
.dnc-accordion-entry-heading > label {
	display: block;
}


:is(
	.wp-block-details > summary,
	.dnc-accordion-entry-heading > label
)::marker {
	display: none;
}

:is(
	.wp-block-details > summary,
	.dnc-accordion-entry-heading > label
):before {
	content: '\f107';
	display: inline-block;
	inline-size: 1.1em;
	font-family: FontAwesome;
	font-size: 180%;
	text-align: center;
	vertical-align: top;
}

:is(
	.wp-block-details:where( [open] ) > summary,
	.dnc-accordion-entry-heading > label:where( .dnc-label-selected )
):before {
	content: '\f106';
}

.wp-block-details:is( .accordion-root, :empty, :where( :has( summary:first-child:last-child ) ) ) > summary:before {
	content: '\f103';
}

.wp-block-details:is( .accordion-root, :empty, :where( :has( summary:first-child:last-child ) ) ):where( [open] ) > summary:before {
	content: '\f102';
}

.wp-block-details:where( .is-style-rounded ),
:where( .wp-block-dnc-accordion.is-style-bubbles ) > .wp-block-dnc-accordion-entry {
	overflow: hidden;
	border-radius: 1.1rem;
}

.wp-block-details:where( .is-style-rounded ) {
	padding-block: 1rem;
	padding-inline: 15px;
}

.wp-block-details:where( .is-style-rounded ) > summary + * ){
	margin-block-start: 1rem;
}

.wp-block-group.is-style-alternating-colors {
	display: flex;
	align-items: stretch;
	flex-flow: column nowrap;
	gap: 0;
	justify-content: start;
}

.wp-block-group.is-style-alternating-colors > * {
	margin-block: 0 !important;
	padding-block: 4rem;
	padding-inline: 15px;
	background-color: #faf7f3;
}

.wp-block-group.is-style-alternating-colors > :nth-child( 2n ) {
	background-color: #f5efe4;
}

.wp-block-heading.is-style-section {
	font-size: 1.4rem;
	font-size: clamp( 1.4rem, -0.11111111111111138rem + 3.1481481481481484vw, 2.25rem );
	font-weight: bold;
	text-shadow: var( --kws-heading-section-text-shadow );
}

.wp-block-heading.is-style-subsection {
	color: #ceb06e;
	font-size: 1rem;
	font-size: ~"clamp( 1rem, 0.6444444444444446rem + 0.7407407407407405vw, 1.2rem )";
	font-weight: bold;
	text-transform: uppercase;
}

.wp-block-image > img {
	margin-inline: 0;
}

.wp-block-list {
	--kws-list-margin: 1rem;
	
	list-style: disc;
}

.wp-block-list > li:before {
	display: none;
}

.wp-block-list,
.wp-block-list > li {
	margin-block: var( --kws-list-margin );
}

.wp-block-list:where( .is-style-as-line ) {
	--kws-list-margin: 0.5rem;
}

.wp-block-list:where( .is-style-as-block ) {
	--kws-list-margin: 1.75rem;
}

.wp-block-quote cite {
	font-style: inherit;
}

.wp-block-quote cite:before {
	content: '\2014' ' ';
}

.wp-block-quote.is-style-banner p {
	font-size: 1.1rem;
	font-size: clamp( 1.1rem, 0.5666666666666671rem + 1.1111111111111105vw, 1.4rem );
	font-weight: bold;
	text-align: center;
}

.wp-block-quote.is-style-banner p b {
	font-style: italic;
}

.wp-block-quote.is-style-banner cite {
	font-size: inherit;
}

.wp-block-quote.is-style-banner cite:first-line {
	font-weight: 500;
}

.wp-block-dnc-accordion {
	margin-block: 1.75rem;
}

.wp-block-dnc-accordion-entry {
	margin-block: 1.5rem;
}

.dnc-accordion-entry-heading,
.dnc-accordion-entry-content {
	margin: 0;
}

.dnc-accordion-entry-label {
	padding-block: 1rem;
	padding-inline: 15px;
}

.dnc-accordion-entry-label {
	background-color: #2b3968;
	color: #e3d7bd;
}

.dnc-accordion-entry-content {
	padding-block: 1.25rem;
	padding-inline: 30px;
	background-color: #f5efe4;
}

.wp-block-dnc-slider.wp-block-dnc-slider > .slick-arrow {
	border: none;
	background-color: transparent;
}

.wp-block-dnc-slider.wp-block-dnc-slider > .slick-arrow:before {
	line-height: 0.8;
}

@media( max-width: 767px ) {
	.wp-block-dnc-slider > .slick-arrow {
		display: none !important;
	}
}

.has-columns-md-2 {
	gap: 1rem 30px;
}

@media( min-width: 992px ) {
	.has-columns-md-2 {
		columns: 2;
	}
	
	.has-columns-md-2.has-columns-md-2 > * {
		margin-block-start: 0 !important;
		margin-block-end: 1.25rem;
		margin-inline: 0 !important;
		page-break-inside: avoid;
		-webkit-break-inside: avoid;
		-moz-break-inside: avoid;
		-ms-break-inside: avoid;
		-o-break-inside: avoid;
		break-inside: avoid;
	}
}

.has-overflow-hidden {
	overflow: hidden !important;
}

.has-text-shadow {
	text-shadow: var( --kws-heading-section-text-shadow );
}

/**
 * Override of Evergreen Countdown Timer
 * 
 * @since 2025-02-24
 */
.icp-countdown.icp-countdown {
	--kws-timer-size-digit: 2rem;
	--kws-timer-size-label: calc( var( --kws-timer-size-digit ) / 2 );
	
	display: flex;
	align-items: start;
	flex-flow: row nowrap;
	gap: 0.5rem calc( var( --kws-timer-size-label ) / 2 );
	justify-content: center;
	margin-block: 1.25rem;
	width: 100%;
}

@media( min-width: 768px ) {
	.icp-countdown.icp-countdown {
		--kws-timer-size-digit: 2.2rem;
	}
}

@media( min-width: 992px ) {
	.icp-countdown.icp-countdown {
		--kws-timer-size-digit: 2.4rem;
	}
}

@media( min-width: 1200px ) {
	.icp-countdown.icp-countdown {
		--kws-timer-size-digit: 2.6rem;
	}
}

.has-mini-countdown .icp-countdown {
	--kws-timer-size-digit: 1.2rem;
}

.icp-countdown.icp-countdown .icp-box-separator {
	display: block !important;
	padding: 0 !important;
}

.icp-countdown.icp-countdown .icp-digit {
	font-size: var( --kws-timer-size-digit ) !important;
}

.icp-countdown.icp-countdown .icp-label {
	font-size: var( --kws-timer-size-label ) !important;
}

.wp-block-columns.kws-bullet-item.is-not-stacked-on-mobile > .kws-bullet-icon {
	flex: 0 0 25px;
	flex-basis: clamp( 25px, ( -30.3819444444444425px + 5.787037037037036vw ), 50px );
}

.wp-block-columns.kws-bullet-item {
	gap: 1rem 1em;
	column-gap: clamp( 1em, ( -0.7777777777777777em + 3.7037037037037033vw ), 2em );
}

.wp-embed-responsive .wp-embed-aspect-21-9 .wp-block-embed__wrapper:before {
	padding-top: 42.85%;
}

.wp-embed-responsive .wp-embed-aspect-18-9 .wp-block-embed__wrapper:before {
	padding-top: 50%;
}

.wp-embed-responsive .wp-embed-aspect-16-9 .wp-block-embed__wrapper:before {
	padding-top: 56.25%;
}

.wp-embed-responsive .wp-embed-aspect-4-3 .wp-block-embed__wrapper:before {
	padding-top: 75%;
	padding-top: 56.25%;
}

.wp-embed-responsive .wp-embed-aspect-1-1 .wp-block-embed__wrapper:before {
	padding-top: 100%;
	padding-top: 56.25%;
}

.wp-embed-responsive .wp-embed-aspect-9-16 .wp-block-embed__wrapper:before {
	padding-top: 177.77%;
	padding-top: 56.25%;
}

.wp-embed-responsive .wp-embed-aspect-1-2 .wp-block-embed__wrapper:before {
	padding-top: 200%;
	padding-top: 56.25%;
}

.wp-block-embed__wrapper {
	background-color: #161d34;
}
