/* 
Theme Name: Schwarz+Matt Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Schwarz+Matt Child is a child theme of Hello Elementor, created by the Elementor team and modified by Schwart+Matt.
Author: Schwarz+Matt Team
Author URI: https://www.schwarz-matt.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: schwarz+matt-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

html, body {
	max-width: 100% !important;
	overflow-x: hidden !important;
	scroll-behavior: smooth;
}

:root {
  /* Spacing */
  --spacing-s: 24px;
  --spacing-m: 32px;
  --spacing-l: 48px;
  --spacing-xl: 72px;
  --spacing-xxl: 96px;
  
  
  --offWhite: #F0F0F5;
  --xemexBlack: #020219;
  --lightPurple: #C3C3FA;
  --lightGreen: #D7EBF0;
  --violet: #5F37F0;
  --purple-gray: #8585E9;
  
  --action: var(--violet);
  --textDark: var(--xemexBlack);
  --textLight: var(--offWhite);
  --cardPrimary: var(--lightPurple);
  --cardSecondary: var(--lightGreen);
}

.wrapper {
  padding-left: var(--spacing-s) !important;
  padding-right: var(--spacing-s) !important;
}

.wrapperToFull {
  padding-left: var(--spacing-s) !important;
  padding-right: var(--spacing-s) !important;
}


.bulletPoint:hover{
	border: solid 1px var(--purple-gray);
	transition: all 0.3s ease-out;
}

.bulletPoint{
	border: none;
	transition: all 0.3s ease-out;
}

.pt-s { padding-top: var(--spacing-s); }
.pt-m { padding-top: var(--spacing-m); }
.pt-l { padding-top: var(--spacing-l); }
.pt-xl { padding-top: var(--spacing-xl); }
.pt-xxl { padding-top: var(--spacing-xxl); }

.pb-s { padding-bottom: var(--spacing-s); }
.pb-m { padding-bottom: var(--spacing-m); }
.pb-l { padding-bottom: var(--spacing-l); }
.pb-xl { padding-bottom: var(--spacing-xl); }
.pb-xxl { padding-bottom: var(--spacing-xxl); }

.p-m { padding: var(--spacing-m); }
.p-l { padding: var(--spacing-l); }

.mt-m { margin-top: calc(var(--spacing-l) * -1); }
.mt-l { margin-top: calc(var(--spacing-xl) * -1); }

.mb-l { margin-bottom: var(--spacing-xl); }

@media (min-width: 768px) {
  :root {
	--spacing-m: 32px;
	--spacing-l: 48px;
	--spacing-xl: 72px;
	--spacing-xxl: 96px;
  }
  
  .wrapperToFull {
	  padding-left: var(--spacing-m) !important;
	  padding-right: var(--spacing-m) !important;
	}

  .wrapper {
	padding-left: var(--spacing-m) !important;
	padding-right: var(--spacing-m) !important;
  }
}

@media (min-width: 1024px) {
  :root {
	--spacing-m: 48px;
	--spacing-l: 72px;
	--spacing-xl: 96px;
	--spacing-xxl: 120px;
  }

  .wrapperToFull {
		padding-left: 0px !important;
		padding-right: 0px !important;
	}

  .wrapper {
	padding-left: var(--spacing-l) !important;
	padding-right: var(--spacing-l) !important;
  }
}

.slider-visible .slick-list {
	overflow: visible;
}

.aspect-1-1 img {
	aspect-ratio: 1/1 !important;
	object-fit: cover !important;
	object-position: center center !important;
}

.aspect-16-9 img {
	aspect-ratio: 16/9 !important;
	object-fit: cover !important;
	object-position: center center !important;
}

.full-height.elementor-widget-image {
	height: auto;
}

.full-img-height .elementor-widget.elementor-widget-image {
	height: 100%;
}

/* Basis-Button-Stile */
.elementor-button {
  display: inline-block;
  font-family: var(--font-primary);
  font-size: var(--e-global-typography-secondary-font-size:);
  font-weight: 400;
  line-height: 120%;
  text-align: center;
  border-radius: 0;
  padding: 12px 24px;
  transition: all .3s ease-out
}

.elementor-button svg {
  transition: fill .3s ease-out;
}

/* Primary Button */
.btn-primary .elementor-button {
  background-color: var(--action);
  color: var(--textLight);
  border: 1px solid var(--lightPurple);
  border-radius:100px;
  align-items: center;
  justify-items: center;
  box-shadow: inset 0px 0px 5px rgba(255, 255, 255, 0.5);
  transition: all .3s ease-in-out;
}

.btn-primary .elementor-button:hover,
.btn-primary .elementor-button:focus {
  border: 3px solid #c3c3f6;
  transition: all .3s ease-in-out;
}

.btn-primary .elementor-button svg path {
  fill: #f0f0f5;
}

/* Secondary Button */
.btn-secondary .elementor-button {
  background-color: var(--offWhite);
  color: var(--textDark);
  border: 1px solid var(--lightPurple);
  border-radius:100px;
  align-items: center;
  justify-items: center;
  box-shadow: inset 0px 0px 5px rgba(95, 55, 240, 0.2);
  transition: all .3s ease-in-out;
}

.btn-secondary .elementor-button:hover,
.btn-secondary .elementor-button:focus {
  border: 3px solid #c3c3f6;
  color: var(--action);
  transition: all .3s ease-in-out;
}

.btn-secondary .elementor-button svg path {
  fill: var(--textDark);
}

/*button icon Centered*/

.elementor-button-icon {
	display: flex;
	justify-items: center;
}


/*button in contact form */ 

.elementor-17 .elementor-element.elementor-element-3fcde6e .elementor-button {
	background-color: var(--action) !important;
	color: var(--textLight) !important;
	border: 1px solid var(--lightPurple) !important;
	border-radius: 100px !important;
	align-items: center !important;
	justify-items: center !important;
	box-shadow: inset 0px 0px 5px rgba(255, 255, 255, 0.5) !important;
	padding: 12px 24px !important;
	transition: all .3s ease-in-out;
}

.elementor-17 .elementor-element.elementor-element-3fcde6e .elementor-button:hover,
.elementor-17 .elementor-element.elementor-element-3fcde6e .elementor-button:focus {
	border: 3px solid #c3c3f6 !important;
	transition: all .3s ease-in-out;
}

/*Button in Filter*/

.elementor-widget-n-tabs .e-n-tab-title[aria-selected=true], .elementor-widget-n-tabs .e-n-tab-title[aria-selected=true] a {
	background-color: var(--action) !important;
	color: var(--textLight) !important;
	border: 1px solid var(--lightPurple) !important;
	border-radius: 10px !important;
	align-items: center !important;
	justify-items: center !important;
	box-shadow: inset 0px 0px 5px rgba(255, 255, 255, 0.5) !important;
	padding: 8px 24px !important;
}

.elementor-widget-n-tabs .e-n-tab-title[aria-selected=false]  {
	background-color: var(--offWhite)  !important;
	  color: var(--textDark);
	  border: 1px solid var(--lightPurple) ;
	border-radius: 10px ;
	align-items: center ;
	justify-items: center;
	box-shadow: inset 0px 0px 5px rgba(255, 255, 255, 0.5) ;
	padding: 8px 24px ;
}

.elementor .elementor-element.elementor-widget-n-tabs:not(:has(>.elementor-widget-container))>.e-n-tabs[data-touch-mode=false]>.e-n-tabs-heading .e-n-tab-title[aria-selected=false]:hover, .elementor .elementor-element.elementor-widget-n-tabs>.elementor-widget-container>.e-n-tabs[data-touch-mode=false]>.e-n-tabs-heading .e-n-tab-title[aria-selected=false]:hover {
	background-color: var(--action) !important;
	color: var(--textLight) !important;
	border: 1px solid var(--lightPurple) !important;
	border-radius: 10px ;
	align-items: center ;
	justify-items: center;
	box-shadow: inset 0px 0px 5px rgba(255, 255, 255, 0.5) ;
	padding: 8px 24px ;
}
 
 
/* Icon Widget */

.elementor-widget-icon svg path{
    fill: currentColor;
}

#stickyBar {
	position: fixed;
	display: none;
	top: 0px;
}


/* Borlabs Cookie */

/* Buttons */

body #BorlabsCookieBox .brlbs-btn-save[data-v-9bed6691],
body #BorlabsCookieBox .brlbs-btn-accept-all[data-v-14ae4032],
body #BorlabsCookieBox .brlbs-btn-accept-only-essential[data-v-8dcc252c]{
	background-color: var(--color-primary);
}

body #BorlabsCookieBox .brlbs-btn-save[data-v-9bed6691]:hover,
body #BorlabsCookieBox .brlbs-btn-accept-all[data-v-14ae4032]:hover,
body #BorlabsCookieBox .brlbs-btn-accept-only-essential[data-v-8dcc252c]:hover{
	background-color: var(--color-secondary);
}

/* Tabs */


body #BorlabsCookieBox .brlbs-cmpnt-tab.brlbs-cmpnt-tab-active, 
body .brlbs-cmpnt-container .brlbs-cmpnt-tab.brlbs-cmpnt-tab-active{
	background-color: var(--color-primary);
	border-color: var(--color-primary);
}

body #BorlabsCookieBox .brlbs-cmpnt-tab.brlbs-cmpnt-tab-inactive:focus, 
body #BorlabsCookieBox .brlbs-cmpnt-tab.brlbs-cmpnt-tab-inactive:hover, 
body .brlbs-cmpnt-container .brlbs-cmpnt-tab.brlbs-cmpnt-tab-inactive:focus, 
body .brlbs-cmpnt-container .brlbs-cmpnt-tab.brlbs-cmpnt-tab-inactive:hover{
	background-color: var(--color-secondary);
	border-color: var(--color-secondary);
}

	/* Elementor Form Start
	 -------------------------------- */
	
	/*-- select field custom icon --*/
	
	.elementor-field.elementor-select-wrapper .select-caret-down-wrapper svg {
		display: none;
	}
	
	.elementor-form input[type=date],
	.elementor-form input[type=email],
	.elementor-form input[type=number],
	.elementor-form input[type=password],
	.elementor-form input[type=search],
	.elementor-form input[type=tel],
	.elementor-form input[type=text],
	.elementor-form input[type=url],
	.elementor-form select,
	.elementor-form textarea {
		padding: 13px 20px;
	}
	
	.elementor-field.elementor-select-wrapper .select-caret-down-wrapper:before {
		content: "";
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' style='enable-background:new 0 0 511.9 272' viewBox='0 0 511.9 272'%3E%3Cpath d='M256 272c-4.2 0-8.2-1.6-11.4-4.6l-240-240c-6.2-6.2-6.2-16.3 0-22.6s16.3-6.2 22.6 0L256 233.5 484.7 4.7c6.2-6.2 16.3-6.2 22.6 0 6.2 6.2 6.2 16.3 0 22.6l-240 240c-3.1 3.1-7.1 4.7-11.3 4.7z' style='fill:%23111'/%3E%3C/svg%3E");
		width: 15px;
		height: 8px;
		display: block;
		background-size: contain;
		position: absolute;
		right: 12px;
		top: 4px;
	}
	
	.eicon-caret-down:before {
		content: "" !important;
	}
	
	/*-- dse checkbox --*/
	
	.elementor-form .elementor-field-type-acceptance .elementor-field-option {
		display: flex;
		gap: .5rem;
		cursor: pointer;
	}
	
	/* reset checkbox */
	.elementor-form .elementor-field-type-acceptance input {
		appearance: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		position: relative;
		width: 20px;
		height: 20px;
		cursor: pointer;
		background-color: transparent !important;
	}
	
	.elementor-element.elementor-widget-form .elementor-form .elementor-field-type-acceptance label {
		font-size: 14px;
		line-height: 1.3;
		cursor: pointer;
	}
	
	.elementor-form .elementor-field-type-acceptance label a {
		color: var(--e-global-color-primary);
		text-decoration: underline;
	}
	
	.elementor-field-subgroup.elementor-subgroup-inline {
		gap: 32px;
	}
	
	body .elementor-19 .elementor-element.elementor-element-e1087f3 .elementor-labels-above .elementor-field-group > label {
		padding-top: 24px;
	}
	
	.elementor-field-type-acceptance.elementor-field-group.elementor-column.elementor-field-group-field_d22b590.elementor-col-100 {
		margin-top: 12px;
	}
	
	.elementor-field-type-acceptance.elementor-field-group.elementor-column.elementor-field-group-field_80c99cf.elementor-col-100 {
		margin-bottom: 48px;
	}
	
	/* check box */
	.elementor-form .elementor-field-type-acceptance input:before {
		content: "";
		display: inline-block;
		width: 20px;
		height: 20px;
		border-radius: 4px;
		border: 1px solid var(--violet);
		background-color: #ffffff;
	}
	
	/* checked icon */
	.elementor-form .elementor-field-type-acceptance input:after {
		content: "";
		border-bottom-style: solid;
		border-bottom-width: 2px;
		border-right-style: solid;
		border-right-width: 2px;
		border-color: var(--violet);
		display: inline-block;
		position: absolute;
		height: 10px;
		width: 5px;
		left: 8px;
		top: 4px;
		transform: rotate(45deg);
		opacity: 0;
		transition: .125s;
	}
	
	.elementor-form .elementor-field-type-acceptance input:checked:after {
		opacity: 1;
	}
	
	/* Making checkbox and radio button invisible */
	input[type="radio"] {
		border: 0;
		clip: rect(0 0 0 0);
		height: 1px;
		margin: -1px;
		overflow: hidden !important;
		padding: 0;
		position: absolute;
		width: 1px;
	}
	
	/* For Radio button */
	.elementor-field-type-radio > div label:before {
		content: "";
		display: inline-block;
		width: 15px;
		height: 15px;
		margin-right: 16px;
		border-radius: 100%;
		vertical-align: -1px;
		border: 2px solid #fff;
		/* border: 2px solid rgba(0,0,0,0.25); */
		padding: 0.13em;
		background-color: #fff;
		/* background-color: transparent; */
		/* background-clip: content-box; */
		transition: all 0.2s ease;
	}
	.elementor-field-type-radio > div label {
		margin-right: 1em;
	}
	.elementor-field-type-radio > div input:hover + label:before {
		border-color: #fff;
	}
	.elementor-field-type-radio > div input:checked + label:before {
		background-color: var(--violet);
		border-color: #fff;
	}
	
	/* Elementor Form End
	 -------------------------------- */
	
	.elementor-form input[type="file"]{
	opacity: 0;
	z-index: -1;
	position: absolute;
	top: -1px;
	left: 0;
	width: 0.1px;
	height: 0.1px;
	} 
	
	.elementor-field-type-upload label {
		text-align:center; 
		padding: 12px 24px 12px 24px !important; 
		background-color:var(--violet); 
		color: #fff !important; 
		border-radius: 24px; 
		cursor: pointer; 
		font-size: 16px;
		font-weight: 600 !important;
		transition:0.3s; 
		position: initial; 
		top: initial; 
		width: initial; 
		height: initial; 
		margin: initial; 
		overflow: hidden; 
		clip: initial; 
	} 
	
	.elementor-field-type-upload label:hover {
		color:var(--violet)!important; 
		background-color:#fff !important; 
		transition:0.3s; 
	}
	
	@media screen and (max-width: 768px) { 
		.elementor-field-type-upload label {
		width:100%
	} 
	}