/*
    Theme Name: ISG Dental
    Theme URI: https://bluemonkeys.at
    Author: Bluemonkeys
    Author URI: https://bluemonkeys.at
    Description: Theme for ISG Dental GmbH website.
    Version: 1.0.0
    License: GNU General Public License v2 or later
    License URI: http://www.gnu.org/licenses/gpl-2.0.html
    Text Domain: isg, dental
*/
@import url('https://fonts.googleapis.com/css2?family=Red+Hat+Display:ital,wght@0,300..900;1,300..900&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background: #141414;
    overflow-x: hidden !important;
	-webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
	backface-visibility: hidden;
}

h1 {

}

.btn-primary .elementor-button {
  background-image: linear-gradient(180deg, #F52900, #BF4539, #F52900) !important;
  background-size: 100% 200% !important;
  border-radius: 50px;
  color: #fff !important;
  transition: all 0.4s ease;
}

.btn-primary:hover .elementor-button {
  -webkit-animation: gradient 3s ease infinite;
	-moz-animation: gradient 3s ease infinite;
	animation: gradient 3s ease infinite;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 1) !important;
}

.elementor-field-type-submit .elementor-button {
  background-image: linear-gradient(180deg, #F52900, #BF4539, #F52900) !important;
  background-size: 100% 200% !important;
  border-radius: 50px;
  color: #fff !important;
  transition: all 0.4s ease;
	cursor: pointer;
}

.elementor-field-type-submit:hover .elementor-button {
  -webkit-animation: gradient 3s ease infinite;
	-moz-animation: gradient 3s ease infinite;
	animation: gradient 3s ease infinite;
}

.hero-hover-btn {
  position: relative;
  width: fit-content;
	border-radius: 10px;
	background: #F7F8F9;
	transition: background .5s ease !important;
	
	&:hover {
		background: #141414 !important;
	}
	.elementor-button {
		border: 1px solid rgba(255, 255, 255, 0) !important;
		transition: border 1.2s ease !important;
		background-color: unset !important;
		&:hover {
			border: 1px solid white !important;
		}	
	}
	
}

/* ::before, ::after of button and span inside it 
.hero-hover-btn::before,
.hero-hover-btn::after,
.hero-hover-btn a::before,
.hero-hover-btn a::after {
  width: 101%;
  height: 108%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  transition: all 0.3s;
  border: 0px solid #fff;
  content: "";
  border-radius: 10px;
  z-index: -1;
}

/* Top border
.hero-hover-btn::before {
  border-top-width: 3px;
  transition-delay: 0.3s;
  transform-origin: right top;
	border-radius: 10px;
}

/* Bottom border
.hero-hover-btn::after {
  border-bottom-width: 3px;
  transition-delay: 0.9s; 
  transform-origin: left bottom;
	margin-bottom: -2px !important;
	border-radius: 10px;
}

/* Left border 
.hero-hover-btn a::before {
  border-left-width: 3px;
  transition-delay: 0.6s; 
  transform-origin: left top;
	margin-left: -1px !important;
	border-radius: 10px;
}

/* Right border
.hero-hover-btn a::after {
  border-right-width: 3px;
  transform-origin: right bottom;
	border-radius: 10px;
}

/* Hover effects 
.hero-hover-btn:hover::before,
.hero-hover-btn:hover::after,
.hero-hover-btn:hover a::before,
.hero-hover-btn:hover a::after {
  transform: translate(-50%, -50%) scale(1);
	border-radius: 10px;
}
*/

/* Top border line 
.hero-hover-btn::before {
  position: absolute;
  width: 0;
  height: 2px;
  content: '';
  background: #fff;
  top: -2px;
  left: -2px;
  transition: 300ms width ease;
  -webkit-transition: 300ms width ease;
	border-radius: 10px;
}

/* Right vertical line 
.hero-hover-btn::after {
  position: absolute;
  width: 2px;
  height: 0;
  content: '';
  background: #fff;
  top: -2px;
  right: -2px;
  transition: 200ms height ease;
  -webkit-transition: 200ms height ease;
	border-radius: 10px;
}

/* Bottom border line
.hero-hover-btn .elementor-button::after {
  position: absolute;
  width: 0;
  height: 2px;
  content: '';
  background: #fff;
  bottom: -2px;
  right: -2px;
  transition: 100ms width ease;
  -webkit-transition: 100ms width ease;
	border-radius: 10px;
}

/* Left vertical line
.hero-hover-btn .elementor-button::before {
  position: absolute;
  width: 2px;
  height: 0;
  content: '';
  background: #fff;
  bottom: -2px;
  left: -2px;
  transition: 0ms height ease;
  -webkit-transition: 0ms height ease;
	border-radius: 10px;
}

/* Hover effects 
.hero-hover-btn:hover {
  border-color: transparent;
  background: #0f3f59; 
}

.hero-hover-btn:hover::before {
  width: 100%;
  transition: 0ms width ease;
  -webkit-transition: 0ms width ease;
	border-radius: 10px;
}

.hero-hover-btn:hover::after {
  height: 100%; 
  transition: 100ms height ease;
  -webkit-transition: 100ms height ease;
	
}

.hero-hover-btn:hover .elementor-button::after {
  width: 100%;
  transition: 200ms width ease;
  -webkit-transition: 200ms width ease;
	border-radius: 10px;
}

.hero-hover-btn:hover .elementor-button::before {
  height: 100%;
  transition: 300ms height ease;
  -webkit-transition: 300ms height ease;
	border-radius: 10px;
}
*/
.masked-img-tabs {
  perspective: 1000px;
}

.masked-img-tabs img {
  display: block;
  transition: opacity 0.3s ease;
}

.masked-img-tabs img.flipping {
  opacity: 0.05;
}
/*
.elementor-custom-embed-image-overlay {
	height: 425px;
	overflow: hidden;
	border-radius: 30px;
	position: relative;
	
	&:before {
		content: "";
		position: absolute;
		display: block;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: #0000004D;
		z-index: 0;
	}
	
	img {
		height: 100% !important;
		position: relative;
		z-index: -1;
		transform: scale(1);
		transition: transform .3s ease;
	}
}

.elementor-custom-embed-image-overlay:hover {
	& > img {
		transform: scale(1.2);
	}
}
*/

.hero-video-btn .elementor-icon-list-item {
	cursor: pointer;
	
	svg {
		transform: scale(1);
		transition: transform .1s linear !important;
	}
	
	&:hover {
		svg {
			transform: scale(1.1);
		}
	}
}

.videos-lightbox {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 99999999;
	justify-content: center;
	align-items: center;
	top: 0;
	left: 0;
	
	.bg-overlay {
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		z-index: 1;
		background: #000000e3;
	}
	
	.videos {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
  		max-width: 800px;
		
		video {
			position: relative;
			z-index: 5;
			width: 100%;
			height: 450px;
			object-fit: cover;
			display: none;
			justify-self: center;
			margin: 0 auto;
		}
	}
	
	.close-btn {
		position: absolute;
		top: 30px;
		right: 30px;
		font-size: 50px;
		color: #fff;
		z-index: 9;
		background: transparent;
		outline: none;
		border: none;
		cursor: pointer;
	}
}

.hero-video-lightbox {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 99999999;
	justify-content: center;
	align-items: center;
	top: 0;
	left: 0;
	
	.overlay {
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		z-index: 1;
		background: #000000e3;
	}
	
	video {
		position: relative;
		z-index: 5;
		max-width: 50% !important;
		height: 450px !important;
		border-radius: 10px;
		object-fit:cover;
	}
	
	.close-btn {
		position: absolute;
		top: 30px;
		right: 30px;
		font-size: 50px;
		color: #fff;
		z-index: 9;
		background: transparent;
		outline: none;
		border: none;
		cursor: pointer;
	}
}

@media screen and (max-width: 768px) {
	h1 {
	}
	html {
		overflow-x: hidden;
	}
	
	.hero-video-lightbox {
		iframe {
			max-width: 100% !important;
			height: 300px !important;
		}
	}
	
	.videos-lightbox {
		.videos {
			video {
				height: auto;
			}
		}
	}
	
	
	.elementor-icon-list-icon, .elementor-icon, svg {
		  visibility: visible !important;
		  opacity: 1 !important;
		  transform: none !important;
		  will-change: auto;
	} 
}

.elementor-field-group-field_8f9ad05:after {
	content: url('https://isg-5d.at/wp-content/uploads/2025/06/calendar-icon.svg');
	position: absolute;
	right: 20px;
	top: 50%;
}

.flatpickr-calendar {
	font-family: "Red Hat Display", sans-serif;
}

#form-field-field_8f9ad05 {
	pointer-events: none;
}

.elementor-field-group-field_8f9ad05 label {
	pointer-events: none;
}

.video-wrapper {
	position: relative;
	height: 425px;
	cursor: pointer;
	
	button {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		outline: none;
		border: none;
		background: transparent;
		z-index: 2;
		cursor: pointer;
		transition: opacity .2s ease;
	}
	
	iframe {
		border-radius: 30px;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: -1;
		transition: opacity .5s ease;
	}
	
	video {
		border-radius: 30px;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: -1;
		transition: opacity .5s ease;
		object-fit: cover;
	}
	
	.video-overlay {
		width: 100%;
		height: 100%;
		transition: opacity .4s ease;
		
		.overlay {
			position: absolute;
			top: 0;
			left: 0;
			background: #0000004D;
			width: 100%;
			height: 100%;
			z-index: 1;
			border-radius: 30px;
		}
		
		img {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			z-index: 0;
			border-radius: 30px;
		}
	}
}

@media screen and (max-width: 500px) {
	.video-wrapper {
		height: 225px;
	}
	
	.elementor-field-group-field_8f9ad05 input {
		font-size: 25px !important;
	}
}

@-webkit-keyframes gradient {
	0% {
		background-position: 50% 0%;
	}
	50% {
		background-position: 50% 200%;
	}
	100% {
		background-position: 50% 0%;
	}
}

@-moz-keyframes gradient {
	0% {
		background-position: 50% 0%;
	}
	50% {
		background-position: 50% 200%;
	}
	100% {
		background-position: 50% 0%;
	}
}

@keyframes gradient {
	0% {
		background-position: 50% 0%;
	}
	50% {
		background-position: 50% 200%;
	}
	100% {
		background-position: 50% 0%;
	}
}

.hero-back-text {
  display: inline-block;
  perspective: 600px;
}

.hero-back-text h2 {
  --angle: -22deg;
  --space: 6%;
  --x: 50%;
  --y: 50%;
	
  background: repeating-linear-gradient(to bottom, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.7));
  background-size: 100% 200%;
  background-position:
    0% calc(var(--y) * 1),
    var(--x) var(--y);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  opacity: 0.3;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  transition: background-position 0.3s ease, transform 0.2s ease;
}

.elementor-element.elementor-element-d842268 {
	&:before {
		display: none !important;
	}
}

.elementor-102.elementor-location-header {
	position: fixed;
	top: 0;
	transition: all .3s ease;
	z-index: 9999;
	width: 100%;
	
	img {
		transition: width .3s ease;
	}
	
	.elementor-element.elementor-element-136ae29e {
		transition: all .3s ease !important;
	}
	
	&.scrolled {
		background: #141414;
		box-shadow: 0px 4px 20px 0px #141414;
		padding-bottom: 10px;
		
		.elementor-element.elementor-element-0321e6c {
			margin-top: 10px !important;
		}
		
		img {
			width: 90px !important;
		}
	}
}

@media screen and (max-width: 768px) {
	.scrolled {
		padding-bottom: 10px !important;
		
		.elementor-element.elementor-element-136ae29e {
			margin-top: 10px !important;
		}
	}
}