/* Other site parts style rules.

	* Table of contents

	- Text stripe slide
	- Breadcrumb
	- Page sidebar
	- Popup
	- Preloader animation
	- No results
	- Contact form
	- Size table

 */

/* Text stripe slide
------------------------------------------------------------------------------------------------- */

.site-container .moving-strip--container {
	/* force default styles */
	border-bottom-width: 0;
	font-size: 1.2rem;
}

@media screen and ( max-width: 768px ) {
	.site-container .moving-strip--container {
		height: 20px;
		line-height: 20px;
		font-size: 1rem;
	}
}

/* Breadcrumb
------------------------------------------------------------------------------------------------- */

.breadcrumb__wrap {
	padding-top: 15px;
	padding-bottom: 15px;
}

.archive .breadcrumb__wrap {
	border-bottom: 1px solid var( --ct-color-middle-gray );
}

.breadcrumb {
	display: flex;
	column-gap: 3px;
	row-gap: 10px;
	gap: 10px 3px;
	flex-wrap: wrap;
	font-size: 1.2rem;
	line-height: 1.5;
	color: var( --ct-color-dark-gray );
}

.breadcrumb-link {
	color: var( --ct-color-link );
}

.breadcrumb-link:hover {
	color: var( --ct-color-link-hover );
}

@media screen and ( min-width: 1024px ) {
	.breadcrumb__wrap {
		padding-top: 30px;
		padding-bottom: 30px;
	}

	.archive .breadcrumb__wrap {
		margin-bottom: 60px;
	}

	.breadcrumb {
		font-size: 1.4rem;
	}
}

/* Page sidebar
------------------------------------------------------------------------------------------------- */

/* force .wrap side paddings */
.page-sidebar__image-wrap {
	margin-right: -10px;
	margin-left: -10px;
}

@media screen and ( min-width: 1024px ) {
	.page-sidebar__image-wrap {
		margin-right: 0;
		margin-left: 0;
	}
}

/* Popup
------------------------------------------------------------------------------------------------- */

.popup__container {
	position: fixed;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	background-color: var( --ct-color-black-alfa );
	visibility: hidden;
	opacity: 0;
	transition: visibility .3s, opacity .3s;
	z-index: 120;
}

.popup__container.active {
	visibility: visible;
	opacity: 1;
}

.popup {
	position: relative;
	width: 90%;
	padding: 20px;
	background-color: var( --ct-color-white );
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}

.popup__close-wrap {
	position: absolute;
	top: 0;
	right: 0;
	width: 30px;
	height: 30px;
	padding: 5px;
}

/* Preloader animation
------------------------------------------------------------------------------------------------- */

.dots3-preloader {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	height: 10px;
	width: 40px;
	transform: translate( -50%, -50% );
}

.dots3-preloader span {
	position: absolute;
	width: 10px;
	height: 10px;
	background: var( --ct-animation-color-middle );
	border-radius: 50%;
	-webkit-animation: dots3 1.5s infinite ease-out;
	animation: dots3 1.5s infinite ease-out;
}

.dots3-preloader span:nth-child(1) {
	left: 0;
	-webkit-animation-delay: 0.2s;
	animation-delay: 0.2s;
}

.dots3-preloader span:nth-child(2) {
	left: 15px;
	-webkit-animation-delay: 0.4s;
	animation-delay: 0.4s;
}

.dots3-preloader span:nth-child(3) {
	left: 30px;
	-webkit-animation-delay: 0.6s;
	animation-delay: 0.6s;
}

@keyframes dots3 {
	0% {
		background: var( --ct-animation-color-start );
		-webkit-transform: scale(0.1);
		transform: scale(0.1);
	}
	50% {
		background: var( --ct-animation-color-middle );
		-webkit-transform: scale(0.5);
		transform: scale(0.5);
	}
	100% {
		background: var( --ct-animation-color-end );
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}

@-webkit-keyframes dots3 {
	0% {
		background: var( --ct-animation-color-start );
		-webkit-transform: scale(0.1);
		transform: scale(0.1);
	}
	50% {
		background: var( --ct-animation-color-middle );
		-webkit-transform: scale(0.5);
		transform: scale(0.5);
	}
	100% {
		background: var( --ct-animation-color-end );
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}

/* No results
------------------------------------------------------------------------------------------------- */

.no-results__wrap {
	display: flex;
	flex-direction: column;
	row-gap: 20px;
	gap: 20px;
	align-items: center;
	margin-bottom: 40px;
}

.woocommerce-MyAccount-content .no-results__wrap {
	margin-top: 30px;
	margin-bottom: 0;
}

.search .no-results__wrap {
	margin-top: 20px;
	margin-bottom: 20px;
}

.no-results__title,
.no-results__text {
	width: 200px;
	text-align: center;
	line-height: 1.5;
}

.no-results__title {
	font-size: 1.8rem;
	font-weight: 500;
}

.no-results__text {
	font-size: 1.4rem;
}

.no-results__link-wrap {
	margin-top: 10px;
	font-size: 1.4rem;
	line-height: 1.5;
}

.no-results__link-wrap a {
	border-bottom: 1px solid var( --ct-color-black );
}

/* Contact form
------------------------------------------------------------------------------------------------- */

.wpcf7-form {
	position: relative;
	margin-bottom: 5rem;
}

.wpcf7-form-control-wrap {
	display: block;
}

form.wpcf7-form .form-row {
	margin-top: 20px;
	margin-bottom: 20px;
}

.wpcf7-form-control-wrap input,
.wpcf7-form-control-wrap textarea {
	width: 100%;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}

.wpcf7 .button-wrap {
	height: 40px;
	text-align: center;
}

.wpcf7-submit {
	width: 100%;
	height: 40px;
	background-color: var( --ct-color-btn-dark );
	border: 1px solid var( --ct-color-btn-dark );
	color: var( --ct-color-btn-light );
	font-size: 1.4rem;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}

.wpcf7-submit:hover {
	background-color: var( --ct-color-btn-light );
	border: 1px solid var( --ct-color-btn-dark );
	color: var( --ct-color-btn-dark );
}

.wpcf7-form.submitting .wpcf7-submit {
	display: none;
}

span.wpcf7-spinner {
	display: none;
	margin: 8px auto;
}

.wpcf7-form.submitting span.wpcf7-spinner {
	display: block;
}

span.wpcf7-not-valid-tip {
	position: absolute;
	top: 100%;
	left: 0;
	font-size: 1rem;
}

.wpcf7 form div.wpcf7-response-output {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    padding: 0;
    margin: 30px auto 0;
    border: none;
    font-size: 1.4rem;
    text-align: right;
    background: #fff;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	color: var( --ct-color-red );
}

.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.sent .wpcf7-response-output {
	color: var( --ct-color-green );
}

.wpcf7 form.resetting .wpcf7-response-output {
	/* force display:none for not .sent */
	display: block !important;
}

/* Size table
------------------------------------------------------------------------------------------------- */

.size-table__image {
	width: 100%;
}