/* -------------------------------------------
	Base
---------------------------------------------- */

*, ::after, ::before {
	box-sizing: inherit;
}

:root {
	font-size: 62.5%;
	font-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	font-weight: 400;
	box-sizing: border-box;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    @media (prefers-reduced-motion: no-preference) {
      scroll-behavior: smooth;
    }
}

@include mq(xs, max) {
	:root {
		font-size: 9px;
	}
}

body {
	--alpha-gap: 15px; // $default-gap;
	overflow-x: hidden;
	max-width: var(--alpha-site-width);
	margin: side-values(var(--alpha-site-margin));
	padding: side-values(var(--alpha-site-gap));
	background-color: var(--alpha-site-bg-color);
	background-image: var(--alpha-site-bg-image);
	background-repeat: var(--alpha-site-bg-repeat);
	background-position: var(--alpha-site-bg-position);
	background-size: var(--alpha-site-bg-size);
	background-attachment: var(--alpha-site-bg-attachment);
	
	&:not(.loaded) * {
		transition: all 0s !important;
	}
	&.pre-loaded {
		opacity: 1;
		transition: opacity .1s;
	}
}

[tabindex="-1"]:focus:not(:focus-visible) {
  outline: 0 !important;
}
abbr[title],
abbr[data-bs-original-title] {
  text-decoration: underline;
  text-decoration: underline dotted;
  cursor: help;
  text-decoration-skip-ink: none;
}

address {
	margin-bottom: 1rem;
	font-style: normal;
	line-height: inherit;
}

sub,
sup {
  position: relative;
  line-height: 0;
  vertical-align: baseline;
}
sub { bottom: -.25em; }
sup { top: -.5em; }

pre,
code,
kbd,
samp {
  direction: ltr #{"/* rtl:ignore */"};
  unicode-bidi: bidi-override;
}

pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;

  code {
    word-break: normal;
  }
}

code {
  word-wrap: break-word;
}

mark {
	background-color: inherit;
	color: inherit;
}

main {
	display: block;
	position: relative;
	padding-top: 8rem;
	padding-bottom: 11rem;
	flex: 1 1 auto;

	.alpha-parallax-footer & {
		z-index: 1;
		background-color: inherit;
	}

	.archive:not(.breadcrumb-divider-active) .breadcrumb-container + & {
		padding-top: 0;
	}
}

.page-wrapper {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	transition: margin .4s, opacity .4s;
	// opacity: 0;

	background-color: var(--alpha-page-wrapper-bg-color);
	background-image: var(--alpha-page-wrapper-bg-image);
	background-repeat: var(--alpha-page-wrapper-bg-repeat);
	background-position: var(--alpha-page-wrapper-bg-position);
	background-size: var(--alpha-page-wrapper-bg-size);
	background-attachment: var(--alpha-page-wrapper-bg-attachment);

	.loaded > & {
		opacity: 1;
	}
}

.main-content {
	&::after {
		content: '';
		display: block;
		clear: both;
	}
}

.site-boxed .page-wrapper {
	box-shadow: 0 3px 6px -4px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
}

table {
	margin-bottom: 2rem;
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	td, th {
		padding: 10px;
		text-align: $left;
		vertical-align: top;
		border-bottom: 1px solid var(--alpha-change-border-color);
	}
}

dl {
	dt {
		font-weight: 700;
		font-size: 1.1em;
	}
	dd {
		margin-bottom: .5rem;
	}
}

ul {
	padding-inline-start: 20px;
	@include only-for-edge() {
		padding-#{$left}: 20px;
	}
}

// added(925) issue: style borken????
ul, ol {
	margin-bottom: 2rem;

	li & {
		margin-bottom: 0;
	}
}

ol ol {
	list-style: upper-alpha;
	ol {
		list-style: lower-roman;
	}
}

.comment-text {
	> ul {
		list-style: disc;
		ul {
			list-style: circle;
			ul {
				list-style: square;
			}
		}
	}
	> ol {
		list-style: decimal;
		ol {
			list-style: upper-alpha;
			ol {
				list-style: lower-roman;
			}
		}
	}
}

.menu, .menu ul,
.mobile-menu, .mobile-menu ul,
.nav, .nav ul, .tabs,
.widget ul,
ol.wp-block-latest-comments,
.list,
.breadcrumb,
.dropdown-box,
.pagination,
.commentlist,
.comments > ol,
.comment > ol,
.nav-filters,
.product-category ul,
.products,
.products ul,
.product-nav,
.product-tabs>div ul,
.woocommerce-error,
.image-gallery,
.image-gallery ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.breadcrumb,
.post-meta,
.post-cats,
.post-title,
.tagcloud,
.menu li >,
header,
.product-category,
.product_meta,
.product-cat,
.product .woocommerce-loop-product__title,
.widget_product_categories,
.yith-woocommerce-ajax-product-filter,
.alpha-price-filter,
.pagination,
.mobile-icon-bar,
.mobile-menu-wrapper,
.card-header,
.cart_item,
// .nav-tabs, // by single product tab
.nav-filters {
	a {
		color: inherit;
	}
}

a {
	text-decoration: none;
	color: var(--alpha-primary-color);
	transition: color .3s;

	&:hover {
		color: var(--alpha-primary-color-hover);
	}
}

.vendor-widget,
.brand-name {
	a {
		color: inherit;
		&:hover,
		&:focus {
			color: var(--alpha-primary-color-hover);
		}
	}
}

:focus {
	outline: 0;
}

figure {
	margin: 0;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: middle
}
svg {
  vertical-align: middle;
}
hr {
	margin-bottom: 2rem; // updated(925)
	border: 0;
	border-top: 1px solid var(--alpha-change-border-color);
}
input {
	padding: 0;
	font-family: inherit;
	background: transparent;

	&:focus {
		outline: 0;
	}
}

// Remove the inheritance of text transform in Firefox
button,
select {
  	text-transform: none;
}

// Remove the inheritance of word-wrap in Safari.
// See https://github.com/twbs/bootstrap/issues/24990

select {
  word-wrap: normal;
}

// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.

::-moz-focus-inner {
	padding: 0;
	border-style: none;
}
// Textareas should really only resize vertically so they don't break their (horizontal) containers.
textarea {
	resize: vertical;
}

// 1. Browsers set a default `min-width: min-content;` on fieldsets,
//    unlike e.g. `<div>`s, which have `min-width: 0;` by default.
//    So we reset that to ensure fieldsets behave more like a standard block element.
//    See https://github.com/twbs/bootstrap/issues/12359
//    and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements
// 2. Reset the default outline behavior of fieldsets so they don't affect page layout.

fieldset {
	min-width: 0; // 1
	padding: 0; // 2
	margin: 0; // 2
	border: 0; // 2
}
// Remove the inner padding in Chrome and Safari on macOS.
::-webkit-search-decoration {
	-webkit-appearance: none;
}
// Remove padding around color pickers in webkit browsers
::-webkit-color-swatch-wrapper {
	padding: 0;
}
// stylelint-disable-next-line selector-pseudo-element-no-unknown
::file-selector-button {
	font: inherit;
}
// 1. Change font properties to `inherit`
// 2. Correct the inability to style clickable types in iOS and Safari.
::-webkit-file-upload-button {
  font: inherit; // 1
  -webkit-appearance: button; // 2
}
output {
  display: inline-block;
}
iframe {
  border: 0;
}
summary {
  display: list-item; // 1
  cursor: pointer;
}
progress {
  vertical-align: baseline;
}

[hidden] {
	display: none;
}

ins {
	text-decoration: none;
}
i {
	font-style: normal;
}
button {
	&:focus {
		outline: none;
	}
}
blockquote,
input,
textarea,
button,
select,
optgroup {
	font-family: inherit;
	margin: 0;
}

blockquote {
	margin: 0 0 20px;
	padding: 20px;
	border-#{$left}: 2px solid var(--alpha-primary-color);
	background: var(--alpha-change-color-light-2);
}

input[type="number"] {
	-moz-appearance: textfield;
}

code {
	display: inline-block;
	border-radius: $corner-sm;
	padding: 2px 5px;
	font-size: 1.4rem;
	color: var(--alpha-primary-color);
}
pre {
	margin: 20px 0;
	padding: 20px;
	color: var(--alpha-primary-color);
	background-color: var(--alpha-change-color-light-2);
	overflow: auto;
	font-size: 1.6rem;
}
// added (925)
dd {
	margin-left: 1rem;
}

.scrollable,
.sidebar-content {
	-webkit-overflow-scrolling: touch;
	&::-webkit-scrollbar {
		height: 7px;
		width: 4px;
	}
	&::-webkit-scrollbar-thumb {
		margin-#{$right}: 2px;
		background: rgba(#000, 0);
		border-radius: $corner-md;
		cursor: pointer;
		transition: background .3s;
	}

	&:hover::-webkit-scrollbar-thumb {
		background: rgba(#000, 0.25);
	}
}
.scrollable-light:hover::-webkit-scrollbar-thumb {
	background: rgba(#fff,0.2);
}
.single-attachment .attachment > a {
	display: inline-block;
}

// Page transitions
.loading-screen {
	background-color: var(--alpha-page-transition-bg);
    display: block;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
	z-index: 1000000;
	transition: all .3s ease-in-out;
	.loading-overlay {
		background: transparent;
	}

	.reveal {
		position: absolute;
		left: 100%;
		top: 0;
		width: 100%;
		height: 100%;
		background-color: var(--alpha-page-transition-bg);
	}
	
	&[data-effect="slide"] {
		transition: none;
		background: transparent;
		left: -100%;
	}
	&.loaded {
		.reveal {
			animation: reveal-anim-2 1.85s cubic-bezier(0.67,0,0.3,1) forwards;
		}
	}
	&.in-from-right {
		left: 0;
		
		.reveal {
			animation: reveal-anim-1 1.1s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
		}
	}
}

@keyframes reveal-anim-1 {
	0% {
		transform: translate3d(0, 0, 0);
	} 30%, 100% {
		transform: translate3d(-100%, 0, 0);
		animation-timing-function: cubic-bezier(0.67, 0, 0.3, 1);
	}
}
@keyframes reveal-anim-2 {
	0%, 14.5% {
		transform: translate3d(0, 0, 0);
	} 34.5%, 100% {
		transform: translate3d(-100%, 0, 0);
		animation-timing-function: cubic-bezier(0.67, 0, 0.3, 1);
	}
}

// Preloaders
.loading-overlay {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	transition: all .3s ease-in-out;
	background: var(--alpha-change-color-light-1);
	opacity: 1;
	visibility: visible;
	z-index: 999999;
	.loaded & {
	  opacity: 0;
	  visibility: hidden;
	}
}
.bounce-loader {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);

	.loader {
		width: 100%;
		height: 100%;
		border-radius: 50%;
	}
}
.preloader-1 {
	.loader {
		background-color: var(--alpha-preloader-color);
		width: 20px;
		height: 20px;
		display: inline-block;
		animation: bounce-loader-1 1.4s ease-in-out 0s infinite both;
	}
	.loader-1 {
		animation-delay: -.32s;
	}
	.loader-2 {
		animation-delay: -.16s;
	}
}
.preloader-2 {
	.bounce-loader {
		width: 100px;
		height: 100px;
	}
	.loader {
		background-color: var(--alpha-preloader-color);
		opacity: 0;
		position: absolute;
		top: 0;
		left: 0;
		animation: bounce-loader-2 1.6s linear infinite;
	}
	.loader:last-child {
		animation-delay: -.8s;
	}
}
.preloader-3 {
	.bounce-loader {
		width: 40px;
		height: 40px;
	}
	.loader {
		background-color: var(--alpha-preloader-color);
		opacity: .6;
		position: absolute;
		top: 0;
		left: 0;
		animation: bounce-loader-3 2s infinite ease-in-out;	
	}
	.loader-2 {
		animation-delay: -1s;
	}
}
.preloader-4 {
	.bounce-loader {
		top: 50%;
		left: 50%;
		margin-left: -25px;
		margin-top: -25px;
		width: 50px;
		height: 50px;
		position: absolute;
		transform: rotateZ(45deg);
	}
	.loader {
		float: left;
		width: 50%;
		height: 50%;
		position: relative;
		transform: scale(1.1);

		&:before {
			content: '';
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			-webkit-animation: bounce-loader-4 2.4s infinite linear both;
			animation: bounce-loader-4 2.4s infinite linear both;
			-webkit-transform-origin: 100% 100%;
			-ms-transform-origin: 100% 100%;
			transform-origin: 100% 100%;
			background: var(--alpha-preloader-color);
		}
	}
	.loader-2 {
		transform: scale(1.1) rotateZ(90deg);
		&:before {
			animation-delay: .3s;
		}
	}
	.loader-3 {
		transform: scale(1.1) rotateZ(270deg);
		&:before {
			animation-delay: .9s;
		}
	}
	.loader-4 {
		transform: scale(1.1) rotateZ(180deg);
		&:before {
			animation-delay: .6s;
		}
	}
}
.preloader-5 {
	.bounce-loader {
		margin: auto;
		width: 60px;
		height: 60px;
		border-radius: 50%;
		perspective: 780px;
	}
	.loader {
		position: absolute;
		border-radius: 50%;
	}
	.loader-1 {
		left: 0;
		top: 0;
		animation: bounce-loader-51 1.15s linear infinite;
		border-bottom: 3px solid var(--alpha-preloader-color);
	}
	.loader-2 {
		right: 0;
		top: 0;
		animation: bounce-loader-52 1.15s linear infinite;
		border-right: 3px solid var(--alpha-preloader-color);
	}
	.loader-3 {
		right: 0;
		bottom: 0;
		animation: bounce-loader-53 1.15s linear infinite;
		border-top: 3px solid var(--alpha-preloader-color);
	}
}
@keyframes bounce-loader-1 {
	0%, 80%, 100% {
		transform: scale(0);
	} 40% {
		transform: scale(1.0);
	}
}
@keyframes bounce-loader-2 {
	0% { transform: scale(0); opacity: 1; }
	to { transform: scale(1); opacity: 0; }
}
@keyframes bounce-loader-3 {
	0%, 100% {
	  transform: scale(0);
	  -webkit-transform: scale(0);
	}
	50% {
	  transform: scale(1);
	  -webkit-transform: scale(1);
	}
}
@keyframes bounce-loader-4 {
	0%, 10% {
		-webkit-transform: perspective(140px) rotateX(-180deg);
		transform: perspective(140px) rotateX(-180deg);
		opacity: 0;
	}
	25%, 75% {
		-webkit-transform: perspective(140px) rotateX(0deg);
		transform: perspective(140px) rotateX(0deg);
		opacity: 1;
	}
	90%, 100% {
		-webkit-transform: perspective(140px) rotateY(180deg);
		transform: perspective(140px) rotateY(180deg);
		opacity: 0;
	}
}
@keyframes bounce-loader-51 {
	0% {
		transform: rotateX(35deg) rotateY(-45deg) rotateZ(0deg);
	}
	100% {
		transform: rotateX(35deg) rotateY(-45deg) rotateZ(360deg);
	}
}
@keyframes bounce-loader-52 {
	0% {
		transform: rotateX(50deg) rotateY(10deg) rotateZ(0deg);
	}
	100% {
		transform: rotateX(50deg) rotateY(10deg) rotateZ(360deg);
	}
}
@keyframes bounce-loader-53 {
	0% {
		transform: rotateX(35deg) rotateY(55deg) rotateZ(0deg);
	}
	100% {
		transform: rotateX(35deg) rotateY(55deg) rotateZ(360deg);
	}
}

// Animation
.appear-animate {
	transform:  translate3d(0, 0, 0) scale(1);
	will-change: transform, filter, opacity;
}

// Lazyload
.d-lazyload {
	height: 0 !important;
	background: var(--alpha-lazy-load-bg);
}
.alpha-dark .d-lazyload {
	background: var(--alpha-change-color-light-2);
}
[data-lazy]:not(img) {
	background-image: none!important;
}
.banner-img .d-lazyload {
	min-height: 0;
}


.screen-reader-text,
script {
	display: none !important;
}

// Sticky Content(new)
@keyframes fixedTop {
	from {
		transform: translateY(-100%); 
		transform-origin: center top 0px;
	}
	to {
		transform: translateY(0);
	}
}
@keyframes fixedBottom {
	from {
		transform: translateY(100%); 
		transform-origin: center top 0px;
	}
	to {
		transform: translateY(0);
	}
}
.sticky-content {
	&.fix-top { top: 0; }
	&.fix-bottom { bottom: 0; }
	&.fixed {
		position: fixed;
		left: 0;
		right: 0;
		opacity: 1;
		transform: none;
		background: var(--alpha-change-color-light-1);
		z-index: 1051;
		box-shadow: 0 0 10px 1px rgba(0,0,0,.1);
	}
	transition: opacity 0.5s;
}
// .fixed.fix-top {
// 	animation: fixedTop .4s;
// }
.fixed.fix-bottom {
	animation: fixedBottom .4s;
}

// Fitvids
.fit-video .wp-video {
	width: 100% !important;
}

// Loading Icon
form.d-loading {
	opacity: .3;
}
.d-loading {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 1;

	&.small i {
		// position: absolute;
		left: calc(50% - 10px);
		top: calc(50% - 10px);
		width: 20px;
		height: 20px;
	}

	i {
		position: absolute;
		left: calc(50% - 17px);
		top: calc(50% - 17px);
		width: 34px;
		height: 34px;
		border: 2px solid transparent;
		border-top-color: var(--alpha-primary-color);
		border-radius: 50%;
		animation: spin .75s infinite linear;

		&:before {
			content: '';
			top: -2px;
			left: -2px;
			position: absolute;
			width: inherit;
			height: inherit;
			border: inherit;
			border-radius: inherit;
			animation: spin 1.5s infinite ease;
		}
	}

	&:before {
		content: '';
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		background: var(--alpha-change-color-light-1);
		opacity: .6;
	}
}
@keyframes spin {
	0% { transform: none; }
	to { transform: rotate(360deg); }
}
@media (max-width: 767px) {
	.alpha-disable-mobile-animation {
		.elementor-invisible,
		.appear-animate,
		[data-vce-animate] {
			opacity: 1;
			visibility: visible;
		}
	}
}

#wp-admin-bar-my-account .d-lazyload.avatar {
	padding-top: 0 !important;
	height: auto !important;
	width: auto !important
}

.empty-icon {
	font-size: 100px;
	color: #d3d3d4;
}

.dynamic-image-gallery {
	list-style: none;
}

// Post
.post-media {
    position: relative;

    .thumbnail-caption {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        z-index: 1;
        background: rgba(0,0,0,0.7);
        text-align: center;
        color: #fff;
    }
}