/*
Theme Name: Child Thrive Theme
Theme URI: http://thrivethemes.com/
Version: 1.0
Author: <a href="http://www.thrivethemes.com">Thrive Themes</a>
Description: Fully customizable, front end theme and template editing for WordPress has arrived! 
Template: thrive-theme
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, custom-everything
*/


:root {
	--tbn-blue: #2d6980;
	--tbn-blue-light: #eff8fb;
	--tbn-green: #47bb88;
	--tbn-orange: #f68002;
	--tbn-bodytext-color: #3b3b3b;
	
	--tbn-font-body: 'Poppins', sans-serif;
}



#thrive-header {
	.section-top-bar {
		.top-bar-list-elements {
			ul {
				display: flex;
				justify-content: space-between;

				li:nth-of-type(n+3) {
					@media only screen and (max-width: 768px) {
						display: none;
					}
				}
			}
		}
	}

	.phone-number {
		ul {
			li {
				padding-bottom: 0;
			}
		}
	}
}


.product-template-default {
	#theme-content-section {

		.wrapper-wc-product-info {
			.tve_shortcode_rendered {
				> p {
					display: none;
				}
			}
			
			.wc-product-info  {
				display: flex;
				gap: 60px;
				@media only screen and (max-width: 768px) {
					flex-direction: column;
				}

				.icon-tags {
					display: flex;
					gap: 10px;
					margin-top: 40px;
					@media only screen and (max-width: 1024px) {
						flex-direction: column;
						gap: 22px;
					}

					.icon-tag {
						display: flex;
						width: calc(33.333% - 6.666px);
						min-width: calc(33.333% - 6.666px);
						gap: 8px;
						@media only screen and (max-width: 1024px) {
							width: 100%;
							min-width: 100%;
						}

						.icon {
							img {
								display: block;
								width: 30px;
								min-width: 30px;
								height: auto;
							}
						}

						.texts {
							span {
								display: block;
								font-size: 14px;
								line-height: 1.2;

								&.text-1 {
									color: var(--tbn-blue);
									font-weight: 800;
									margin-bottom: 6px;
								}
							}
						}
					}

					&.beneath-image {
						@media only screen and (max-width: 768px) {
							display: none;
						}
					}
					
					&.beneath-tags {
						display: none;
						@media only screen and (max-width: 768px) {
							display: flex;
						}
					}
				}

				.block-images-properties {
					width: calc(55% - 30px);
					min-width: calc(55% - 30px);
					@media only screen and (max-width: 768px) {
						width: 100%;
						min-width: 100%;
					}

					.slider-and-gallery {
						display: flex;
						gap: 20px;
						@media only screen and (max-width: 768px) {
							flex-direction: column;
						}

						.wc-product-info__slider {
							position: relative;
							width: 100%;
							order: 1;
							@media only screen and (max-width: 768px) {
								order: 0;
							}

							.wcpi-viewport {
								overflow: hidden;
								width: 100%;
								height: auto;
								transition: height 220ms ease;
							}

							.wcpi-track {
								display: flex;
								transition: transform 250ms ease;
								will-change: transform;
							}

							.wcpi-slide {
								flex: 0 0 100%;

								img {
									display: block;
									width: 100%;
									height: 400px;
									object-fit: contain;
									@media only screen and (max-width: 768px) {
										max-height: none;
									}
								}
							}

							.wcpi-arrow {
								position: absolute;
								top: 50%;
								transform: translateY(-50%);
								z-index: 2;
								border: 0;
								background: var(--tbn-green);
								color: var(--tbn-blu);
								cursor: pointer;
								width: 24px;
								height: 24px;
								padding: 0;
								border-radius: 999px;
								font-size: 12px;
								line-height: 1;

								display: inline-flex;
								align-items: center;
								justify-content: center;

								&.wcpi-arrow--prev {
									left: 10px;
								}

								&.wcpi-arrow--next {
									right: 10px;
								}
							}
						}

						.wc-product-info__gallery {
							display: flex;
							justify-content: space-between;
							flex-direction: column;
							gap: 10px;
							margin-top: 0;
							flex-wrap: wrap;
							@media only screen and (max-width: 768px) {
								flex-direction: row;
							}

							.wc-product-info__gallery-item {
								cursor: pointer;
								opacity: .6;
								transition: opacity 200ms ease;
								@media only screen and (max-width: 768px) {
									width: calc(33.333% - 6.666px);
								}

								img {
									display: block;
									height: 110px;
									width: 110px;
									object-fit: cover;
									@media only screen and (max-width: 768px) {
										height: auto;
										width: auto;
									}
								}

								&.is-active {
									opacity: 1;
								}
							}
						}
					}

					.wc-product-info__images {
						display: flex;
						gap: 20px;

						.wc-product-info__image {
							order: 1;

							img {
								max-height: 400px;
								object-fit: contain;
							}
						}
					}
				}
				
				.block-text {
					width: calc(45% - 30px);
					min-width: calc(45% - 30px);
					@media only screen and (max-width: 768px) {
						width: 100%;
						min-width: 100%;
					}

					.wrapper-review {
						display: flex;
						align-items: center;
						gap: 20px;
						margin-bottom: 20px;
						@media only screen and (max-width: 1024px) {
							flex-direction: column;
							align-items: flex-start;
							gap: 12px;
						}
						
						img {
							display: block;
							width: 100%;
							max-width: 100px;
						}
						
						.review-text {
							display: block;
							width: fit-content;
							font-size: 16px;
							font-weight: bold;
							line-height: 1;
							color: var(--tbn-green);
						}
					}

					h1 {
						font-size: 32px;
						@media only screen and (max-width: 768px) {
							font-size: 26px;
						}

						.title-marking {
							color: var(--tbn-green);
						}
					}
					
					.wc-product-info__description {
						text-align: justify;
					}
					
					.price-button {
						display: flex;
						justify-content: space-between;
						align-items: center;
						margin-top: 16px;

						.wc-product-info__price {
							color: var(--tbn-green);
							font-size: 20px;
							font-weight: bold;
						}

						.tbn-offerte-button {
							padding: 6px 24px;
							border-radius: 200px;
							font-weight: 800;
						}
					}
					
					.tags {
						display: flex;
						margin-top: 40px;
						@media only screen and (max-width: 1024px) {
							flex-direction: column;
						}

						.side {
							.tag {
								display: flex;
								align-items: center;
								gap: 10px;
								margin-bottom: 6px;

								span {
									font-size: 14px;
									line-height: 1.6;
								}

								.icon {
									svg {
										display: block;
										width: 12px;
										height: 12px;
									}
								}
								
								&.tag-4 {
									@media only screen and (max-width: 1024px) {
										margin-bottom: 20px;
									}
								}
							}

							.special {
								align-items: flex-start;
								gap: 6px;

								.label {
									display: block;
									width: 80px;
									color: var(--tbn-green);
									font-weight: bold;
								}
							}

							&.left {
								width: 65%;
								min-width: 65%;
								@media only screen and (max-width: 1024px) {
									width: 100%;
									min-width: 100%;
								}
							}
							&.right {
								width: 35%;
								min-width: 35%;
								text-align: right;
								@media only screen and (max-width: 1024px) {
									width: 100%;
									min-width: 100%;
									text-align: left;
								}

								.tag {
									justify-content: flex-end;
									@media only screen and (max-width: 1024px) {
										justify-content: flex-start;
									}
								}
							}
						}
					}
				}
			}
		}

		.general-table {
			table {
				tr {
					td {
						padding: 6px 12px;
						
						p {
							padding: 0;
						}
					}
				}
				
				tr:nth-of-type(odd) {
					td {
						background-color: #fff;
						
						&:first-of-type {
							border-top-left-radius: 5px;
							border-bottom-left-radius: 5px;
						}

						&:last-of-type {
							border-top-right-radius: 5px;
							border-bottom-right-radius: 5px;
						}
					}
				}
			}
		}
		
		
		/* Thrive Element: Toggle toggle-clean */
		.thrv_toggle.toggle-clean {
			.tve-toggle-grid {
				.thrv_toggle_title {
					border: none;
					margin-left: -4px;
				}
			}
		}
	}
}


/* Element - Wrapper-filters */
.wrapper-filters {
	font-family: var(--tbn-font-body);
	font-size: 15px;
	color: var(--tbn-bodytext-color);
	
	.title {
		display: block;
		margin-bottom: 10px;
	}
	
	.facet-filter {
		padding-top: 10px;
		border-top: 1px solid var(--tbn-bodytext-color);

		.label-arrow {
			display: flex;
			justify-content: space-between;
			cursor: pointer;

			.wrapper-icon {				
				.icon {
					display: block;
					width: 10px;
					height: 10px;
					padding: 10px 0 10px 10px;
					transform: scaleY(-1);
				}
			}

			.label {
				display: block;
				margin-bottom: 10px;
			}
		}
		
		.facetwp-facet {
			display: none;
		}

		&.active {
			.label-arrow {
				.wrapper-icon {
					.icon {
						transform: scaleY(1);
					}
				}
			}
			
			.facetwp-facet {
				display: block;
			}
		}
		
		.facetwp-type-checkboxes {
			.facetwp-checkbox {
				padding-left: 26px;
				margin-bottom: 2px;
				background-image: url(assets/images/checkbox-normal-1.0.png);
				background-position-y: 43%;
				
				&.checked {
					background-image: url(assets/images/checkbox-checked-1.0.png);
				}
				
				.facetwp-counter {
					font-size: 13px;
				}
			}
		}
	}

	.facetwp-type-reset {
		margin: 20px 0 0 0;
	}
}


/* Element - General Listing Products */
.listing-products-general {
	.facetwp-template {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		align-items: start;
		align-content: start;
		grid-gap: 30px;
		@media only screen and (max-width: 1024px) {
			grid-gap: 20px;
		}
		@media only screen and (max-width: 768px) {
			grid-template-columns: repeat(1, 1fr);
		}

		.facetwp-product {
			height: 100%;
			padding: 0 20px;
			text-align: center;
			border-radius: 10px;
			background-color: var(--tbn-blue-light);
			transition: background-color 150ms ease-in-out;
			@media only screen and (max-width: 1024px) {
				padding: 0 10px;
			}

			.main-info {
				display: block;
				margin-bottom: 16px;

				.wrapper-image {
					margin-bottom: 20px;

					img {
						height: 200px;
						object-fit: contain;
						transition: transform 150ms ease-in-out;
						@media only screen and (max-width: 768px) {
							height: 300px;
						}
					}
				}

				.product-title {
					margin-bottom: 16px;
					padding-bottom: 0;
					font-size: 15px !important;
				}

				.price {
					display: block;
					width: 100%;
					font-family: var(--tbn-font-body);
					font-size: 15px;
					color: var(--tbn-green);
					font-weight: 700;
				}
				
				&:hover {
					text-decoration: none;
				}
			}
			
			&:hover {
				background-color: #efefef;

				.main-info {
					.wrapper-image {
						img {
							transform: scale(1.1);
						}
					}
				}
			}
		}
	}
	
	.facetwp-type-pager {
		margin: 40px 0 0 0;
		
		button {
			display: block;
			margin: 0 auto;
			font-family: var(--tbn-font-body);
			
			&.facetwp-hidden {
				display: none;
			}
		}
	}
}


.button-quote {
	display: inline-block;
	padding: 10px 20px 10px 20px;
	margin-bottom: 26px;
	border-radius: 200px;
	background-color: var(--tbn-orange);
	color: #fff;
	font-family: var(--tbn-font-body);
	font-size: 15px;
	font-weight: 700;
	@media only screen and (max-width: 1024px) {
		padding: 10px 14px 10px 14px;
	}
	
	&:hover {
		text-decoration: underline;
	}
}


.properties {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding-bottom: 20px;

	span {
		display: block;
		width: 100%;
		font-family: var(--tbn-font-body);
		font-size: 13px;
		line-height: 1.4;
		color: var(--tbn-bodytext-color);

		&.label {
			margin-bottom: 2px;
			color: var(--tbn-blue);
			font-weight: bold;
		}
	}
}


#thrive-header {
	.symbol-section-in {
		width: 100% !important;
	}
}

body:not(#tve) {
	.footer-general {
		.tcb-flex-col {
			.thrv-styled_list {
				ul {
					li {
						.tcb-styled-list-icon {
							display: none;
						}

						span, a {
							font-weight: 600 !important;
						}
					}
				}
			}
		}
	}
}


/* Product page - hiding Thrive product functionality if set to off (turn-off-thrive) */
.turn-off-thrive {
	#content {
		.woocommerce-product-gallery, .entry-summary, .wc-tabs, .related.products, .section-latest-installations-old {
			display: none;
		}
	}
}


/* Section Slideshow-posts */
.section-slideshow-posts {
	display: flex;
	position: relative;
	padding-left: max(20px, (100% - 1080px) / 2);
	padding-right: 0;

	.inner {
		width: 100%;
		max-width: none;
		padding-top: 10px;
		overflow-x: hidden;
		@media only screen and (max-width: 1024px) {
			padding-top: 0;
		}
		@media only screen and (max-width: 768px) {
			width: auto;
		}

		.post-slider {
			display: flex;
			@media only screen and (max-width: 768px) {
				padding-bottom: 30px;
			}

			.tile {
				width: 300px;
				min-width: 300px;
				height: auto;
				@media only screen and (max-width: 768px) {
					width: calc(100vw - 40px);
					min-width: calc(100vw - 40px);
				}
				
				.inner-tile {
					position: relative;
					padding: 20px;
					box-shadow: 0 0 12px rgb(0 0 0 / 5%);
					background-color: #fff;
					border-radius: 10px;
					transition: box-shadow 150ms ease-in-out;
					@media only screen and (max-width: 768px) {
						padding: 0;
					}
					
					> a {
						.image {
							margin-bottom: 20px;

							.image-inner {
								overflow: hidden;
								border-top-left-radius: 10px;
								border-top-right-radius: 10px;

								img {
									display: block;
									object-fit: contain;
									object-position: center;
									width: 100%;
									height: 100%;
									aspect-ratio: 1 / 1;
									background-color: #fff;
									transition: transform 150ms ease-in-out;
								}
							}
						}

						.text {
							width: 100%;
							text-align: center;
							font-family: var(--tbn-font-body);

							h3 {
								padding-bottom: 0;
								padding: 0 20px;
								margin-bottom: 16px;
								font-size: 15px;
								color: var(--tbn-blue);
								text-overflow: ellipsis;
								white-space: nowrap;
								overflow: hidden;
							}

							.price {
								display: flex;
								justify-content: center;
								gap: 20px;
								font-size: 15px;
								font-weight: 600;
								color: var(--tbn-green);

								.woocommerce-Price-amount {
									display: flex;
								}
							}

							&.loading {
								.confirmation {
									img {
										display: block;
									}
								}
							}

							&.added {
								.confirmation {
									.added {
										display: block;
									}
								}
							}
						}

						&:hover {
							text-decoration: none;
						}
					}

					.button-quote {
						display: block;
						width: fit-content;
						margin: 20px auto 30px auto;
					}
					
					.properties {
						span {
							text-align: center;
						}
					}
				}

				&:hover {
					.inner-tile {
						.image {
							img {
								@media only screen and (min-width: 1024px) {
									transform: scale(1.1);
								}
							}
						}

						.text {
							.button-add-to-cart {
								visibility: visible;
								opacity: 1;
							}
						}
					}
				}
			}
		}

		.slick-list {
			margin: 0 -25px 10px 0;
			box-sizing: initial;
			padding: 0 8px;
			@media only screen and (max-width: 768px) {
				margin: 0 0 0 -6px;
			}

			.slick-track {
				display: flex;

				.slick-slide {
					margin: 0 16px;
					@media only screen and (max-width: 768px) {
						margin: 10px 16px
					}
				}
			}
		}
		
		.slick-dots {
			width: calc(100% - 20px);
			bottom: -25px;
			
			li {
				width: 22px;
				height: 3px;
				margin: 0;
				padding: 0;
				background-color: #00000040;
				transition: background-color 150ms ease-in-out;

				button {
					display: none;
				}

				&:first-of-type {
					border-top-left-radius: 10px;
					border-bottom-left-radius: 10px;
				}

				&:last-of-type {
					border-top-right-radius: 10px;
					border-bottom-right-radius: 10px;
				}
				
				&.slick-active {
					background-color: #454545;
					border-radius: 10px;
				}
			}
		}
	}

	.slick-track {
		@media only screen and (max-width: 768px) {
			display: flex;
		}
	}
}


/* Element: .latest-installations */
.latest-installations {
	.post-slider {
		.slick-track {
			.tile {
				.inner-tile {
					height: 100%;
					padding: 0;
					box-shadow: none;
					
					img {
						height: 100%;
						object-fit: cover;
						border-radius: 10px;
					}
				}
			}
		}
	}
}


/* Changing padding manually for .section-additional-info and .section-text-image-main */
body:not(.postid-5819) {
	#content {
		.section-additional-info, .section-text-image-main {
			padding-left: 40px !important;
			padding-right: 40px !important;
			@media only screen and (max-width: 768px) {
				padding-left: 20px !important;
				padding-right: 20px !important;
			}
		}
	}
}


.product-template-default {
	#thrive-footer {
		.symbol-section-in {
			max-width: 1080px !important;
		}
	}
}


#tve_editor {
	[data-css="tve-u-19c43adbd9a"] {
		@media only screen and (max-width: 1024px) {
			max-width: none;
			padding-left: 40px;
			padding-right: 40px;
		}

		@media only screen and (max-width: 768px) {
			padding-left: 20px;
			padding-right: 20px;
		}
	}
}



/* Element: Diepcreative Product heading */
.wrapper-wc-product-info {
	display: none;
}

/* Element: Diepcreative Related products */
.section-related-products {
	display: none;
}

/* Element: Diepcreative Related products */
.section-related-products {
	display: none;
}


.admin-bar {
	.section-product-main {
		background-color: var(--tbn-blue-light);
	}
}


body {
	.section-logos, .section-text-image {
		display: none;
	}
}

body.turn-off-thrive, body.tcb-edit-mode {
	.section-logos, .section-text-image, .wrapper-wc-product-info, .section-related-products {
		display: block;
	}
}

body.tcb-edit-mode {
	.section-related-products {
		display: block !important;
	}
}