/* 
Theme Name: The Studio Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Studio Child is a child theme of The Studio
Author: The Studio
Author URI: https://www.the-studio.be
Template: thestudio
Version: 1.0.1
Text Domain: thestudio-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/

/*------------------------------------*\
	ADD YOUR CUSTOM STYLES HERE
\*------------------------------------*/



/*------------------------------------*\
	WEBSITE - Geef de max breedte van de website en font-sizes.
\*------------------------------------*/

/* Geef je website breedte (tel padding-inline grootte erbij op) aan en de font-size van je bodytekst */
:root {
	/* Breedte website (alleen nummers) */
	--min-width-site: 640;   /* px voor minimale breedte van de website */
	--max-width-site: 1824;  /* px voor maximale breedte van de website (tel padding-inline grootte erbij) */
	
	/* Font schalen (alleen nummers) */
	--min-font-size: 18;     /* px voor minimum font-size */
	--max-font-size: 22;     /* px voor maximum font-size */  
}

/* Padding breedte. Dit gaat dus af van je maximale breedte van de website */
.e-con.e-flex > .e-con-inner, .e-con.e-grid > .e-con-inner {
	padding-inline: 2em;
}

@media only screen and (max-width:880px) {
	.e-con.e-flex > .e-con-inner, .e-con.e-grid > .e-con-inner {
		padding-inline: 1em;
	}
}

/* -----------------------------------------------------
   BASE BUTTON STYLES
----------------------------------------------------- */
.elementor-button,
.elementor-widget-form .elementor-button[type="submit"],
.cli-plugin-button,
.wt-cli-privacy-accept-btn {
  position: relative;
  font-family: var(--e-global-typography-primary-font-family), Sans-serif;
  font-size: 1rem;
  font-weight: 600;
  padding: 1em 1.5em 1.125em 1.5em;
  border-radius: 10em;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
}

/* Text container */
.elementor-button-text {
  display: inline-block;
  line-height: 1;
  height: auto !important;
  will-change: transform, opacity;
  transform: translateY(0);
  opacity: 1;
}

/* Hover animation only affects text */
.elementor-button:hover .elementor-button-text {
  animation: swap-up-then-in 0.6s forwards;
  animation-timing-function: linear;
}

/* Reset when hover ends */
.elementor-button:not(:hover) .elementor-button-text {
  animation: none;
  transform: translateY(0);
  opacity: 1;
}

/* Keyframes for text motion */
@keyframes swap-up-then-in {
  0% {
	transform: translateY(0%);
	opacity: 1;
	animation-timing-function: cubic-bezier(.55, .06, .68, .19);
  }
  40% {
	transform: translateY(-110%);
	opacity: 0;
	animation-timing-function: steps(1, end);
  }
  41% {
	transform: translateY(110%);
	opacity: 0;
	animation-timing-function: cubic-bezier(.2, .8, .2, 1);
  }
  70% {
	transform: translateY(-6%);
	opacity: 1;
	animation-timing-function: cubic-bezier(.2, .8, .2, 1);
  }
  100% {
	transform: translateY(0%);
	opacity: 1;
  }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
  .elementor-button-text,
  .elementor-button:hover .elementor-button-text {
	animation: none !important;
	transform: translateY(0) !important;
	opacity: 1 !important;
  }
}

.xl .elementor-button {
	font-size:1.2rem;
}

/* -----------------------------------------------------
   BORDER VARIANTS
----------------------------------------------------- */
.lijn-zwart .elementor-button {
  box-shadow: inset 0 0 0 1px var(--e-global-color-primary);
}

.lijn-wit .elementor-button {
  box-shadow: inset 0 0 0 1px var(--e-global-color-ef49f8f);
}

.lijn-snz .elementor-button {
  position: relative;
  z-index: 0;
}

.lijn-snz .elementor-button::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(90deg, var(--e-global-color-secondary), var(--e-global-color-cab9be4));
  -webkit-mask:
	linear-gradient(#fff 0 0) content-box,
	linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  z-index: -1;
}

/* -----------------------------------------------------
   ARROW VERSION (.pijl)
   Arrow stays static — text animates only
----------------------------------------------------- */

/* Remove arrow from animated element */
.pijl .elementor-button .elementor-button-text::after {
  content: none !important;
}

/* Place arrow on non-animated wrapper */
.pijl .elementor-button .elementor-button-content-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 0.8em;
  position: relative;
}

.pijl .elementor-button .elementor-button-content-wrapper::after {
  content: "";
  display: inline-block;
  width: 0.8em;
  height: 0.8em;
  margin-top: 0.05em;
  background-color: currentColor;
  mask: url("/wp-content/themes/thestudio-child/img/arrow-diagonal.svg") no-repeat center;
  mask-size: contain;
  -webkit-mask: url("/wp-content/themes/thestudio-child/img/arrow-diagonal.svg") no-repeat center;
  -webkit-mask-size: contain;
}


/* Geef een knop je eigen icoon */
/* .xs.elementor-widget-button .elementor-button-text:after {
	content:"";
	width: 1em;
	height: 1em;
	position: absolute;
	transition: .3s;
	margin-left:.25em;
	
	background:var(--e-global-color-accent);
	-webkit-mask: url(/wp-content/themes/thestudio-child/img/chevron-right.svg) no-repeat 50% 50%;
	mask: url(/wp-content/themes/thestudio-child/img/chevron-right.svg) no-repeat 50% 50%;
	-webkit-mask-size: cover;
	mask-size: cover;
} */

/* Het uiterlijk van een kleine knop (geef de knop de class .xl) */
.xl.elementor-widget.elementor-widget-button{
	font-size:1.25em;
}

/*------------------------------------*\
	FORMULIEREN
\*------------------------------------*/

/* De kleuren en border-radius van de lijnen rondom de velden */
:root {
	--formline:inset 0 0 0 0.1rem rgba(0,0,0,.1); /* breedte lijn en kleur van formulier velden */
	--formlinefocus:inset 0 0 0 0.1rem rgba(0,0,0,1); /* breedte lijn en kleur van formulier velden op focus */
	--fieldsborderradius:.2em; /* radius van de velden */
	
body {
	--formlinetexttype: var(--e-global-color-primary); /* kleur van de tekst wanneer je typt */
	--formlinetext: var(--e-global-color-text); /* kleur van de placeholder tekst */
	--formlinetextopacity: .6; /* doorzichtigheid van de placeholder tekst */
}
}

/* Het algemene uiterlijk van formulierveld */
.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, .elementor-field-group .elementor-field-textual, .elementor-field-group .elementor-select-wrapper select{
	min-height:0px;
	border:none;
	border-radius:var(--fieldsborderradius);
	box-shadow:var(--formline);
	
	background-color:rgba(255,255,255,1)!important;
	padding: 1em;
	font-size:1em;
}

/* Wat er gebeurd als je op een formulierveld klikt */
.elementor-form input[type=date]:focus, .elementor-form input[type=email]:focus, .elementor-form input[type=number]:focus, .elementor-form input[type=password]:focus, .elementor-form input[type=search]:focus, .elementor-form input[type=tel]:focus, .elementor-form input[type=text]:focus, .elementor-form input[type=url], .elementor-form select:focus, .elementor-form textarea:focus, .elementor-field-group .elementor-field-textual:focus {
	border:none;
	box-shadow: var(--formlinefocus);
}

/* Ruimtes van formulier labels */
label.elementor-field-label { margin-block:.8em; }
/* Kleur tekst wannneer een veld is ingevuld */
.elementor-widget-form .elementor-field-group .elementor-field { color: var(--formlinetexttype); }
/* Kleur van de placeholders */
input::placeholder, textarea::placeholder { color: var(--formlinetext)!important; opacity: var(--formlinetextopacity)!important; }

/*--------*\
/* CHECKBOX & RADIO */

:root {
	--groottebox:1.2em;
	--boxrightmargin:.4em;
}

/* Uiterlijk van de Checkbox en Radio velden */
.elementor-form input[type="checkbox"], .elementor-form input[type="radio"] {	
	min-width: var(--groottebox); min-height: var(--groottebox);
	margin-right: var(--boxrightmargin);
	box-shadow:var(--formline);
	
	background:white;
}

/* Uiterlijk van de Checkbox en Radio velden wanneer ze actief zijn */
.elementor-form input[type="checkbox"]:before, .elementor-form input[type="radio"]:before {	
	min-width: var(--groottebox); min-height: var(--groottebox);	
	background-size:calc(var(--groottebox) / 1.5)!important;
	background-position:center center!important;
	background-repeat: no-repeat!important;
	
	background:var(--e-global-color-primary);
	background-image:url(http://localhost:8888/standaard/wp-content/themes/thestudio-child/img/check-w.svg);
}

/* Ruimte boven de verzend-knop */
.elementor-form .elementor-field-type-submit {
	margin-top:1em;
}

/* Radius van de Checkbox (hetzelfde als formulier velden) */
.elementor-form input[type="checkbox"], .elementor-form input[type="checkbox"]:before {
	border-radius:var(--fieldsborderradius);
}

/* Tekst voor het Goedkeuring veld */
.elementor-field-option label {
	font-size: calc(1em - .2em);
	margin-top:-0.05em!important;
	line-height: 1.6em!important;
}

/* Ruimte tussen de opties voor Checkbox en Radio */
.elementor-field-group .elementor-field-subgroup {
	gap:.5em;
}

/*--------*\
/* SELECT */

/* Icoon aan het eind van het Select veld */
i.eicon-caret-down {
	transform: rotate(90deg)!important;
}
.eicon-caret-down:before {
	 content: '\e87d'!important; /* https://elementor.github.io/elementor-icons/ */
}
.elementor-select-wrapper .select-caret-down-wrapper{
	inset-inline-end: 2em;
}
.elementor-select-wrapper .select-caret-down-wrapper i {
	font-size:.75rem;
}

/*--------*\
/* FILE UPLOAD */

/* Knop voor bestanden kiezen */
.elementor-field-type-upload input[type="file"]::file-selector-button {
	margin-right:1em;
	color: white;
	padding: 0.5em 1em;
	border:none;
	border-radius:var(--fieldsborderradius);
	background:var(--e-global-color-text);
	transition: all .3s;
	cursor: pointer;
}

.elementor-field-type-upload input[type="file"]::file-selector-button:hover {
	background:var(--e-global-color-secondary);
}

/*------------------------------------*\
	LINKS
\*------------------------------------*/

/* Normale underline */

.elementor p a {
	color:var(--e-global-color-accent);
	position: relative;
	text-decoration: underline;
}

.elementor p a:hover {
	text-decoration: none;
}

/* Underline animatie V1 */

/* .elementor p a {
	color:var(--e-global-color-accent);
	position: relative;
}

.elementor p a:hover {
	color:var(--e-global-color-primary);	
}

.elementor p a:after {
	content: "";
	width: 100%;
	height: 1px;
	background: var(--e-global-color-accent);
	display: inline;
	position: absolute;
	bottom: .05em;
	transition: .2s;
	left:0px;
}

.elementor p a:hover:after {
	background:inherit;
	bottom: 0px;
} */


/* Underline animatie V2  */


/* .elementor p a {
	font-weight:bold;
	color:var(--e-global-color-primary);
	position:relative;
	padding-bottom:.1em;
	border-bottom:2px solid rgba(41,48,57,0.1);
	overflow:hidden;
	text-decoration:none!important;
}

.elementor p a:hover{
	color:var(--e-global-color-primary);
}

.elementor p a::after {
	content: "";
	position:absolute;
	left:0;
	bottom:-.1em;
	width:100%;
	height:2px;
	background:var(--e-global-color-accent);
	
	transform: scaleX(0);
	transform-origin:right;
	transition:transform 300ms ease-in-out;
}

.elementor p a:hover::after {
	transform: scaleX(1);
	transform-origin:left;
} */

/*------------------------------------*\
	AFBEELDINGEN
\*------------------------------------*/

.reveal.fadeIn * {
	opacity: 1;
	animation: reveal cubic-bezier(0.75, 0, .25, 1) forwards;
   transform-origin: 100% 0%;
   animation-duration: 1.5s;
   -webkit-animation-duration: 1.5s;
}
   
@keyframes reveal {
	   0% {
		   clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
	   }
	   
	   100% {
		   clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
	   }
}

/*------------------------------------*\
	MENU DROPDOWN
\*------------------------------------*/

.menu-item-has-children:hover .sub-menu {
	opacity: 1;
		animation: sub cubic-bezier(.00,.66,.75,1) forwards;
	   transform-origin: 100% 0%;
	   animation-duration: .3s;
	   -webkit-animation-duration: .3s;
}

@keyframes sub {
	   0% {
		   transform: translateY(-.5em);
		   opacity: 0;
	   }
	   
	   50% {
		   opacity: 1;
	   }
	   
	   100% {
			  transform: translateY(0px);
			  opacity: 1;
		  }
}

.elementor-nav-menu .sub-arrow {
	padding:0 0 0 .25em;
	color:var(--e-global-color-accent);
	font-size:calc(1em + .125em);
}

.elementor-nav-menu--dropdown a {
	padding:1em 1.25em;
}

ul.elementor-nav-menu--dropdown a, ul.elementor-nav-menu--dropdown a:focus, ul.elementor-nav-menu--dropdown a:hover {
	border-inline: 0px solid transparent;
	border-inline-start-width:0px!important;
}

.elementor-nav-menu ul li a {
	justify-content: space-between;
	min-width:100px;
	transition:.2s!important;
}

/*------------------------------------*\
	OPSOMMINGEN
\*------------------------------------*/

:root {
	--opsomming-icon:"\e89e";
	--opsomming-inlinestart:1.2em;
	--opsomming-paddingleft:.6em;
	--opsomming-gap:.3em;
	--opsomming-lineheight:1.8em;
}

/* Zet iconen van lijst-widget op goede hoogte */
.elementor-widget .elementor-icon-list-item {
	-webkit-box-align: normal;
	-ms-flex-align: normal;
	align-items: normal;
}

.elementor-widget .elementor-icon-list-icon i {
	margin-top:.8em;
}

/* Lijst in text-editor */
.elementor-widget-text-editor ul li::marker {
	content: var(--opsomming-icon); */ https://elementor.github.io/elementor-icons/ */
	font-size:1em;
	font-family: eicons;
	font-weight: 900;
}
.elementor-widget-text-editor ul {
	padding-inline-start: var(--opsomming-inlinestart);
}

.elementor-widget-text-editor ul li {
	padding-left: var(--opsomming-paddingleft);
	padding-bottom: var(--opsomming-gap);
	line-height: var(--opsomming-lineheight);
}

/*------------------------------------*\
	POP-UPS
\*------------------------------------*/

.elementor-popup-modal .dialog-close-button {
	background: var(--e-global-color-primary);
	border-radius: 50%;
	padding: .5em;
	color:white;
}

.elementor-popup-modal .dialog-close-button:hover {
	transform:scale(1.1);
}



/* 
@media only screen and (max-width: 1280px) {
}

@media only screen and (max-width: 940px) {
}

@media only screen and (max-width: 640px) {
}
*/