/**
 * Theme Name: Blocksy Child
 * Description: Blocksy Child theme
 * Author: Creative Themes
 * Template: blocksy
 * Text Domain: blocksy
*/
/**

    var(--theme-palette-color-1); you can use this as your primary brand colour.
    var(--theme-palette-color-2); alternative colour, used usually for the hover action 
    var(--theme-palette-color-3); colour used for general text paragraphs
    var(--theme-palette-color-4); colour used for headings, subheadings and titles 
    var(--theme-palette-color-5); colour used for borders
    var(--theme-palette-color-6); #778d7a;  colour used for subtle backgrounds (page hero, footer)
    var(--theme-palette-color-7); colour used for the site’s background
    var(--theme-palette-color-8); lighter alternative colour, to be used in header backgrounds


	Blocksy Querys:
	@media (max-width: 767px) {}
	@media (min-width: 768px) {}
	@media (max-width: 999px) {}

*/


/* lose und freie Klassen 
__________________________________________________________________________________*/


/* @link https://utopia.fyi/type/calculator?c=320,18,1.125,1290,18,1.2,5,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */

:root {
  --step--2: clamp(0.7813rem, 0.9244rem + -0.1775vw, 0.8889rem);
  --step--1: clamp(0.9375rem, 1.0206rem + -0.1031vw, 1rem);
  --step-0: clamp(1.125rem, 1.125rem + 0vw, 1.125rem);
  --step-1: clamp(1.2656rem, 1.2378rem + 0.1392vw, 1.35rem);
  --step-2: clamp(1.4238rem, 1.3591rem + 0.3236vw, 1.62rem);
  --step-3: clamp(1.6018rem, 1.4889rem + 0.5644vw, 1.944rem);
  --step-4: clamp(1.802rem, 1.6269rem + 0.8755vw, 2.3328rem);
  --step-5: clamp(2.0273rem, 1.7726rem + 1.2735vw, 2.7994rem);
}

/* https://www.joshwcomeau.com/shadow-palette/ */
	:root {
	  --shadow-color: 0deg 0% 0%;
	  --shadow-elevation-low:
		0px 0.5px 0.8px hsl(var(--shadow-color) / 0),
		0px 1.5px 2.3px hsl(var(--shadow-color) / 0.08);
	  --shadow-elevation-medium:
		0px 0.5px 0.8px hsl(var(--shadow-color) / 0),
		0px 7.4px 11.1px hsl(var(--shadow-color) / 0.11);
	  --shadow-elevation-high:
		0px 0.5px 0.8px hsl(var(--shadow-color) / 0),
		0px 8.1px 12.1px hsl(var(--shadow-color) / 0.09),
		-0.1px 24.7px 37.1px hsl(var(--shadow-color) / 0.17);
		-0.1px 24.7px 37.1px hsl(var(--shadow-color) / 0.17);
		}
	.schatten-small { box-shadow: var(--shadow-elevation-low); }
	.schatten 		{ box-shadow: var(--shadow-elevation-medium); }	
	.schatten-large { box-shadow: var(--shadow-elevation-high); }

		
		h1, h2, h3, h4, h5, h6 { 
			margin-bottom: calc(var(--has-theme-content-spacing, 1)*(.5em + 8px)) !important;
			font-stretch: condensed !important;
		}
		

		p {  margin-bottom: 0.75em !important; }

		.small { font-size: var(--step--1); }
		.xsmall { font-size:var( --step--2); }
		.large { font-size:var( --step-4); }
		.xlarge { font-size:var( --step-5); }

		hr {margin: 80px auto !important; }
		b, strong { font-weight: 500 !important; }
		
		.blocksatz { text-align: justify; hyphens: auto }

		.wp-block-quote p { 
			font-size: var(--step-4);
			line-height: 1.2em;
			} 
			.wp-block-quote cite { 
				font-size: var(--step-2) !important;
				text-align: right;
				line-height: 1em;
				}     

		.kolumnen div.stk-block-content,
		.kolumnen div.tpgb-column-inner {
			column-count:  2;
			column-width: 300px;
			column-gap: 8em;
			column-rule: 1px solid rgba(0,0,0,0.25);
			display: block;
			hyphens: auto;
			}
			.margin-bottom-0 { margin-bottom: 0 !important; }


		.entry-content figcaption {
			text-align: right !important;
			color: #787878;
			font-size: var(--step--2) !important;
			font-weight: 300;
		}

		.wp-block-image.alignfull.size-full { margin-bottom: 24px; }

		.wp-block-image img,
		.blocks-gallery-item img { 
			border-radius: 3px !important;
		}

		.wp-block-image.rahmen img,
		.blocks-gallery-item.rahmen img { 
			border: 6px solid #fff;
			box-shadow: var(--shadow-elevation-medium);
		}

		.wp-block-image.rahmen.alignright img,
		.blocks-gallery-item.alignright img { 
			max-width: 60%;
			float: right;
		}


		.wp-block-image.schatten:hover img {		
			box-shadow: var(--shadow-elevation-high) !important; 		
			transform: scale(1.05) 0;
			z-index: 999;
		}

		.wp-block-image.links img { transform: rotate(-2deg); }
		.wp-block-image.rechts img  { transform: rotate(2deg); }

		.wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) {
			margin-bottom: 8px;
		}

		.hyphen p {
			 word-wrap: break-word;
		  overflow-wrap: break-word;
		-webkit-hyphens: auto;
		   -moz-hyphens: auto;
				hyphens: auto;
		}

		.keine-linkmarkierung a { link-decoration: none !important; text-decoration: none; }
		.schein { background: radial-gradient(100% 100%, rgba(255,255,255,0.25) 0%, rgba(255,255,255,0) 20%);	}

			
		.box  {
			background-color: rgba(255,255,255,0.75);
			border: 1px solid #ffffff !important;
			border-radius: 3px;
			padding: 4vw;
			box-shadow: var(--shadow-elevation-medium);
			}
			.box.klein  {
				padding: 1vw;
			}
			.box:hover  {
				background-color: rgba(255,255,255,0.9);
				box-shadow: var(--shadow-elevation-high);
			}

			.blur {
				-webkit-backdrop-filter: blur(6px);
						backdrop-filter: blur(6px); 
				}

			.abgerundet,
			.abgerundet video { border-radius: 3px; }

			.multiply { mix-blend-mode: multiply; }



/* Header 
__________________________________________________________________________________*/

		header {}

		#header [data-row*=middle] [data-column*=start]  [data-items] {
			flex-direction: column !important;
			align-items: flex-start !important;
			justify-content: center !important; 
		}


		[data-column=end]>[data-items=primary] {
			align-items: flex-start !important;
			justify-content: flex-end !important;
		}

		#header [data-row*=boxed] {
			margin-top: -38px;
			margin-bottom: -38px;
			z-index: 2 !important;
		}

		#offcanvas .site-logo-container {
			mix-blend-mode: multiply;
		}

		.ct-header-trigger[data-design*=solid]  {
			box-shadow: var(--shadow-elevation-medium) !important;
			border: 1px solid rgba(255,255,255,0.25) !important;
		}





/* Menü 
__________________________________________________________________________________*/

	@media (min-width: 1000px) {
			.sub-menu {
				-webkit-backdrop-filter: blur(12px);
						backdrop-filter: blur(12px); 
			}
		}

		#offcanvas .ct-panel-inner {
				-webkit-backdrop-filter: blur(6px);
						backdrop-filter: blur(6px); 
			}
		
		#offcanvas .sub-menu .ct-menu-link:not(:empty) { 
			padding: 0.5em 0;
			font-size: 0.875em;
				}
		#offcanvas .sub-menu .sub-menu .ct-menu-link:not(:empty) { 
			padding: 0.5em 0;
			font-size: 0.875em;
				}

		.entry-header { margin-top: 4%;}





	

	   
/* Inhalte
__________________________________________________________________________________*/


		body:not(.page-id-511) main {
			background-image: url(/wp-content/uploads/2025/01/graue_wand_Fensterlicht_subtle-background.webp) !important;
			background-position: top center !important;
			background-repeat: no-repeat !important;
			background-size: 100% !important;
		}



	

/* Footer 
__________________________________________________________________________________*/

		
		footer h3 { 
			font-size:var( --step-1);
   			margin-bottom: 0.5em !important;
			}   

		[data-footer*="type-1"] .ct-footer [data-row*="middle"] {
			background-size: auto 50vw;
			background-blend-mode: soft-light;
		}


		@media (max-width: 999px) {
			[data-footer*="type-1"] .ct-footer [data-row*="middle"] {
				background-size: cover;
				background-blend-mode: soft-light;
			}
		}

		@media (min-width: 1000px) {
			footer .menu-item-456 { margin-right: 5vw; }
		}




/* Plugins 
__________________________________________________________________________________*/

    
		/* Blocksy
        -------------------------------------*/
		
		.ct-icon-container { margin-bottom: 2px; }

		.ct-popup { 
			-webkit-backdrop-filter: blur(6px);
			backdrop-filter: blur(6px);  	
		}


		#main-container { padding-bottom: 0 !important;}

		.post-navigation {  max-width: 800px !important; }
		xxx.post-navigation .item-label { display: none; } 


		[class*=ct-contact-info] li { grid-column-gap: 5px !important;	}

		.ct-shortcuts-container {
			z-index: 99 !important;
		}
		.ct-shortcuts-bar-items,
			[data-header*="type-1"] #offcanvas {
				-webkit-backdrop-filter: blur(6px);
				backdrop-filter: blur(6px);
			}




		/* Complianz
        -------------------------------------*/
			#cmplz-cookies-overview .cmplz-dropdown p, 
			#cmplz-document .cmplz-dropdown p, 
			#cmplz-document li, 
			#cmplz-document p, 
			#cmplz-document td {
				font-size: 1rem;
			}

			#cmplz-document.impressum h2, 
			#cmplz-document.impressum h3 {
				font-size: 1.5rem;
				margin-top: 1.5em;
				margin-bottom: 0 !important;			
				color: var(--theme-palette-color-3) !important;
				opacity: 1;
			}

			#cmplz-document a {	text-decoration: none; }
			#cmplz-document b { font-weight: 700; }
			#cmplz-document h2, #cmplz-document h3 { margin-top: 2em !important; margin-bottom: 0 !important; }
				




		/* Stackable Blocks 
		__________________________________________________________________________________*/

				.stackable-container {
                      padding-top: 8% !important;
                      padding-bottom: 8% !important;
					
                      }
					.stackable-container-oben { padding-top: 8% !important; }
					.stackable-container-unten {padding-bottom: 8% !important; }


			   .liste-mit-linien ul li {
					list-style: none; 
					border-bottom: 1px solid rgba(255, 255, 255, 30%) !important;
					margin: 0 -0.25em;
					padding: 1.25em 0.25em;
				   }
				.circle-content-inner ul  { padding-inline-start: 0; }
				.circle-content-inner ul li { padding: 0.5em 0.25em; }


			   .liste-mit-linien ul li:last-child {
						border-bottom: none !important;
				 }


				/* kleinerer Text für Counter-Blöcke */
				.stk-block-count-up__text {
					width: 150px;
					line-height: 36px!important;
				}
				.stk-block-count-up__text em {
					font-size: 0.5em;
					font-style: normal;
					font-weight: 300;
					text-box: trim-both cap alphabetic;
				}

				.stk-block-count-up__text span {
					margin-top: -12px !important;
				}



			
		/* Nexter Blocks
		__________________________________________________________________________________*/
		
			.post-loop-inner, 
			.splide__slide--clone {
				overflow: visible; 
			}

			/* Aktiver Block hat keinen Blur */
			.tpgb-block-d383b5_2 .splide__list .splide__slide.is-active > div,
			.tpgb-block-d383b5_2 .splide__list .splide__slide.is-active > a {
				filter: none; 
			}

			/* Benachbarte Blöcke (links und rechts vom aktiven Block) erhalten einen Blur von 1px */
			.tpgb-block-d383b5_2 .splide__list .splide__slide.is-prev,
			.tpgb-block-d383b5_2 .splide__list .splide__slide.is-next {
				filter: blur(1px);
			}

			/* Alle anderen äußeren Blöcke erhalten einen stärkeren Blur von 3px */
			.tpgb-block-d383b5_2 .splide__list .splide__slide:not(.is-active):not(.is-prev):not(.is-next) {
				filter: blur(3px);
			}

			.tpgb-review {
				display: flex;
				align-items: center;
				flex-direction: column;
				border: none;
				box-shadow: var(--shadow-elevation-high);
			}
			
			.tpgb-newline,
			.tpgb-sr-time { 
				display: none !important;
				
			} 

			.tpgb-sr-header {
				margin-bottom: 12px;
			}	
								
			.sr-star {
				color: var(--theme-palette-color-10) !important;
			}

			.tpgb-normal-scroll {
				padding-right: 12px;
			}





		/* Meow Lightbox
		__________________________________________________________________________________*/
			.mwl.visible {
				-webkit-backdrop-filter: blur(6px);
				backdrop-filter: blur(6px); 
			}
			.mwl__slider__image__thumbnail img { border-radius: 3px;}
			.mwl__topbar__controls__control--fullscreen { visibility: hidden; }






		/* DrDsgvO Map -------------------------------------*/

			#kontakt-container {
				pointer-events: none;
			}	

			#drdsgvo_map { height: 400px; }
				@media (min-width: 1000px) {
					#drdsgvo_map { height: auto; }
				}



            #drdsgvo_map .ol-control button {  background-color: var(--theme-palette-color-1) !important;}
            #drdsgvo_map .ol-attribution li a {
                color: var(--theme-palette-color-1) !important;
                text-decoration: none;
            }


			.ol-zoom {
                top: 1.5em !important;
                left: 0.3em;
            }
            .ol-touch .drdsgvo_initbtn {
                top: 3em;
                left: 1.1em;
            }
            .drdsgvo_routebtn,
			.drdsgvo_initbtn {
                display: none;
            }




		

	/* JetForms
        -------------------------------------*/	

			.jet-form-builder__field:not(.checkboxes-field):not(.radio-field):not(.range-field) {
				background-color: rgba(255,255,255,0.50);
				border: none;
				}
			.jet-form-builder__field-label.for-checkbox>span::before {
				background-color: #fff;
				}
		
			.jet-form-builder__field-label.for-checkbox :checked+span::before {
				border-color: var(--theme-palette-color-1) !important;
				background-color: var(--theme-palette-color-1) !important;
				}

			.jet-form-builder [type='text'], 
			.jet-form-builder [type='password'], 
			.jet-form-builder [type='date'], 
			.jet-form-builder [type='datetime'], 
			.jet-form-builder [type='datetime-local'], 
			.jet-form-builder [type='month'], 
			.jet-form-builder [type='week'], 
			.jet-form-builder [type='email'], 
			.jet-form-builder [type='number'], 
			.jet-form-builder [type='search'], 
			.jet-form-builder [type='tel'], 
			.jet-form-builder [type='time'], 
			.jet-form-builder [type='url'], 
			.jet-form-builder [type='color'], 
			.jet-form-builder textarea {
				margin-bottom: 0 !important;
				padding-top: 35px !important;
				padding-bottom: 15px !important;
				padding-left: 9px !important;
				border-radius: 3px !important;
				background-color: rgba(255,255,255,0.50) !important;
				box-shadow: 0 0 0 !important;
				border: 0px solid var(--theme-palette-color-3) !important;
				}


			.jet-form-builder input[required],
			.jet-form-builder textarea[required],
			.jet-form-builder select[required] {
				border: 0px solid var(--theme-palette-color-1) !important;
				background-color: rgba(255,255,255,0.90) !important;
				}  

					.jet-form-builder input:focus,
					.jet-form-builder textarea:focus { 
						background-color: rgba(255,255,255,0.50) !important;
						color: #000;
						border: 1px solid var(--theme-palette-color-1) !important;
						box-shadow:  0 1px 1px rgba(0,0,0,0.11), 
									  0 2px 2px rgba(0,0,0,0.11), 
									  0 4px 4px rgba(0,0,0,0.11), 
									  0 6px 8px rgba(0,0,0,0.11),
									  0 8px 16px rgba(0,0,0,0.11) !important;
						transform: scale(1.01);
						}

		

			/* Label inline */
			.jet-form-builder .field-type-text-field,
			.jet-form-builder .field-type-textarea-field {
				margin-top: -12px !important;		
				}				
				.jet-form-builder .field-type-text-field label,
				.jet-form-builder .field-type-textarea-field label {
					z-index: 2;
					bottom: -35px;
					left: 16px;
					position: relative;
					pointer-events: none;
					}
					.jet-form-builder .field-type-text-field:focus-within label,
					.jet-form-builder .field-type-textarea-field:focus-within label,
					.jet-form-builder .input-filled label {
						bottom: -25px;
						left: 8px;
						color: rgb(0 0 0 / 0.5) !important;
						font-size: 0.7em !important;
						}

			.jet-sm-gb-b568fc13-f070-4a8b-bb12-b039ef493376 .checkradio-wrap { 
				display: flex; 
				justify-content: center;
				}

			.jet-form-builder__field-wrap.checkradio-wrap:not(:first-child) {
				padding-top: 0 !important;
			}
			
			.jet-form-builder__desc { margin-top: 0.5em; }

			.jet-form-builder .jet-container.plz-ort {
				display: flex;
				flex-wrap: wrap;
				flex-direction: row;
				padding: 0;
			}
			.jet-form-builder .jet-container.plz-ort .jet-form-builder-row:nth-child(2) { width: 27% !important; margin-right: 3%; }
			.jet-form-builder .jet-container.plz-ort .jet-form-builder-row:nth-child(3) { width: 70% !important; }
			.jet-form-builder .jet-form-builder__desc { line-height: 1.3em; }
			.jet-form-builder__submit-wrap {
				justify-content: flex-end;
			}
			.jet-form-builder__submit {
				background-color: var(--theme-palette-color-1) !important;
			}
			.jet-form-builder__submit:hover {
				background-color: var(--theme-palette-color-2);
			}

			.jet-form-builder-row.field-has-error .error-message { color: #fff !important; }
			.jet-form-builder-message--success { background-color: #fff; border-radius: 3px; border: 0px !important;  }




					/*UPDATED: 01.02.2025
					1. We've enhanced the JetFormBuilder with a refined custom code, improving both style and functionality for file selection. The latest
					update introduces support for the repeater field's media capabilities, offering a more streamlined and efficient user experience for
					handling multiple files within forms.

					2. Copy this code, create a new HTML snippet, and paste it into your snippet plugin. Save it as a header or footer.
					__________________________________________
					See the youtube tutorials here ( OLD ):
					https://youtu.be/lOghzLiR73Q?si=DbNNcCkKzkv_mAQl
					__________________________________________
					*/


					/* Custom styles for the file upload field */
					.jet-form-builder__field-wrap.jet-form-builder-file-upload {
						background: rgba(255,255,255,0.50) !important;
						border: 1px solid var(--theme-palette-color-9) !important;
						padding: 20px !important;
						text-align: center;
						position: relative;
						margin-bottom: 20px;
						display: flex;
						flex-direction: column;
						align-items: center;
						border-radius: 3px !important;
					}

					/* Styles for the image upload */
					.jet-form-builder-file-upload__file img {
						display: block;
						width: 100%;
						height: 100% !important;
						padding: 0;
						margin: 0;
						-o-object-fit: cover;
						object-fit: cover;
						-o-object-position: center center;
						object-position: center center;
						border-radius: 6px !important;
						box-shadow: 0 0 30px -8px rgba(0, 0, 0, 0.24) !important;
					}

					/* Styles for image content */
					.jet-form-builder-file-upload__content {
						min-height: auto !important;
					}

					/* Styles for the custom "Choose File" and "File Uploaded" buttons */
					.addfile {
						padding: 10px 20px;
						background-color: var(--theme-palette-color-9)!important;
						color: #ffffff;
						border: none !important;
						font-size: 16px;
						font-weight: 600;
						cursor: pointer;
						border-radius: 6px;
						margin-top: 10px; /* Space between button and label */
						transition: opacity 0.3s ease, transform 0.3s ease; /* Smooth transition */
					}

					.addfile:hover,
					.jet-form-builder input:focus .addfile {
						background-color: var(--theme-palette-color-13) !important;
						color: #000000 !important;
					}

					/* Styles for the label that shows file upload status */
					.labeladdfile {
						opacity: 0 !important;
						transition: opacity 0.3s ease, transform 0.3s ease; /* Smooth transition */
					}
					.labeladdfile.files-uploaded {
						opacity: 1 !important;
						padding: 6px 12px;
						background-color: transparent;
						color: #ffffff !important;
						font-size: 12px;
						font-weight: 400;
						display: block;
						margin-top: 10px;
						border-radius: 3px;
					}

					/* Class added when files are uploaded */
					.files-uploaded {
						background-color: #09b872 !important; 
						padding: 6px 12px;
						color: #ffffff !important;
						border-radius: 6px;
					}

					/* Hide the default file input visually */
					.jet-form-builder-file-upload__input {
						display: none;
					}

					/* Responsive adjustments */
					@media (max-width: 767px) {
						.addfile, .labeladdfile {
							padding: 8px 16px;
							font-size: 12px;
						}
					}

					@media (max-width: 1024px) {
						.addfile, .labeladdfile {
							padding: 8px 16px;
							font-size: 12px;
						}
					}







	/* FlowFLow
        -------------------------------------*/	
		#ff-stream-1 .ff-item .picture-item__inner {
			box-shadow: var(--shadow-elevation-medium);
			
			}
		#ff-stream-1 .ff-item:hover .picture-item__inner {
			box-shadow: var(--shadow-elevation-high);
			background-color: #fff !important;
			}
		.picture-item__inner:hover:before {
			background: rgba(0, 0, 0, .0) !important;
			}
		.ff-slideshow-classic {
			-webkit-backdrop-filter: blur(6px);
			backdrop-filter: blur(6px);
		}





/* Animationen 
__________________________________________________________________________________*/	
	input,
    textarea,
    input[type=submit],
    select,
	label,
	tr,
    .linktext,
	.ugb-card__image,
	.ugb-card__description,
	.ugb-card .ugb-card__subtitle,
	.ugb-card .ugb-card__title,
	.tpgb-featured-image img,
	.wp-block-image img,
	.ct-icon-container,
	#rueckrufbitte,
	.cardbutton a,
	.stk-block-heading,
	.card,
	.box,
	img,
	.stk-block-background,
	.mwl,
	.mwl__slider__image__thumbnail__high-res landscape,
	.animiert,
	.animiert div {		
		transition: all 0.3s ease !important;
	    }
