*{
	-webkit-transition: all 300ms ease-in-out, background-color 300ms ease-in-out, border-color 300ms ease-in-out, border-size 300ms ease-in-out, box-shadow 300ms ease-in-out, width 300ms ease-in-out, height 300ms ease-in-out, margin 300ms ease-in-out;
	-moz-transition: color 300ms ease-in-out, background-color 300ms ease-in-out, border-color 300ms ease-in-out, border-size 300ms ease-in-out, box-shadow 300ms ease-in-out, width 300ms ease-in-out, height 300ms ease-in-out, margin 300ms ease-in-out;
	-o-transition: color 300ms ease-in-out, background-color 300ms ease-in-out, border-color 300ms ease-in-out, border-size 300ms ease-in-out, box-shadow 300ms ease-in-out, width 300ms ease-in-out, height 300ms ease-in-out, margin 300ms ease-in-out;
	-ms-transition: color 300ms ease-in-out, background-color 300ms ease-in-out, border-color 300ms ease-in-out, border-size 300ms ease-in-out, box-shadow 300ms ease-in-out, width 300ms ease-in-out, height 300ms ease-in-out, margin 300ms ease-in-out;
	transition: color 300ms ease-in-out, background-color 300ms ease-in-out, border-color 300ms ease-in-out, border-size 300ms ease-in-out, box-shadow 300ms ease-in-out, width 300ms ease-in-out, height 300ms ease-in-out, margin 300ms ease-in-out;
	box-sizing:border-box;
}
:root{
	--main-color:#B35A05;
	--alt-color:#ffb400;
	--alt2-color:#0b66d1;
	--alt3-color:#0bffd1;
	--txtmain-color:white;
	--muted: #5b6775;
	--content-width:1920px;
	--content-basewidth:100%;
	--content-innerwidth:1920px;
	--content-innerbasewidth:80%;
	--border-radius:4px;
}
body{
	background-color:#f0f0f0;
	color:#555555;
	margin:0;
	padding:0;
	font-size:90%;
	font-family:Inter,sans-serif;
	background-color:rgba(255, 255, 255,.9); /* Kék: #C7D3E2 */
	background-image: linear-gradient(to bottom right, white ,#c0c0c0);
}
html{scroll-behavior:smooth}
a, a:visited{
	text-decoration:none;
	color:var(--main-color);
}
a:hover, a:active, a:focus{
	color:#000000;
}
/* h1,h2,h3,h4,h5{ */
	/* font-weight:normal; */
	/* font-size:100%; */
	/* margin:0; */
	/* padding:0; */
/* } */
label, select{cursor:pointer;}
.clear{
	clear:both;
}
div#page{
	background-position:top center;
	background-repeat:repeat;
}
#wrapper{
	width:100%;
	height:100%;
}
#wrapper_content{
	width:var(--content-basewidth);
	max-width:var(--content-width);
	margin:auto;
}
/* Banner */
/* ======================================================================================== */
.banner_wrapper_height{
	height:0px;
}
#banner_wrapper{
	width:100%;
	position:fixed;
	left:0;
	top:0;
	z-index:99;
	background-color:rgba(255,255,255,.8);
	/* box-shadow:0px 0px 10px rgba(0,0,0,.3); */
	backdrop-filter:blur(8px);
	border-bottom:1px solid rgba(10,20,30,.06);
}
#banner_wrapper:hover{background-color:white;}
#banner{
	width:var(--content-innerbasewidth);
	max-width:var(--content-innerwidth);
	margin:auto;
	height:auto;
}
#banner_content{
	position:relative;
}
#banner_content header{
	width: 100%;
	text-align: left;
	padding: 2px 0px;
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	justify-content: flex-start;
	gap: 10px;
	box-sizing: border-box;
}
.banner_language{
	z-index:50;
	transform:scale(.8);
	text-align:right;
	width:auto;
	height:auto;
	vertical-align:middle;
	position:absolute;
	top:0;
	right:0;
}
.banner_language a, .banner_language a:visited{
	margin:0 !important;
	padding:0 !important;
	margin-right:1%;
}
.banner_logo{
	width:auto;
	order:1;
}
.banner_logo i{
	font-family:Impact;
	font-weight:normal;
	font-size:200%;
	font-style:normal;
}
.banner_logo i:nth-of-type(1){
	color:var(--main-color);
}
.banner_logo i:nth-of-type(2){
	color:var(--main-color);
}
.banner_logo i:nth-of-type(3){
	color:var(--alt-color);
}
.banner_logo i:nth-of-type(4){
	color:rgba(0,0,0,.5);
}
.banner_logo i:nth-of-type(5){
	color:rgba(0,0,0,.5);
}
.banner_logo img{
	max-width:100px;
	max-height:100%;
	vertical-align:middle;
	display:inline-block;
}
.banner_logo span{
	vertical-align:middle;
	display:inline-block;
}
.banner_logo span span{
	display:block;
}
.banner_menu{
	width:auto;
	order:2;
	flex-shrink:0;
	flex-grow:1;
	margin-left:50px;
}
.banner_menu:hover{
	
}
.banner_menu a{
	font-size:120%;
	font-weight:600;
	color:black;
	padding:6px 12px;
	display:inline-block;
	width:100%;
	border-bottom:2px solid transparent;
	box-sizing:border-box;
}
.banner_menu a:hover, .banner_menu a:active, .banner_menu a:focus, .banner_menu li.active a{
	background: linear-gradient(90deg,var(--main-color),var(--alt-color));
	color:var(--txtmain-color);
	border-color:rgba(55,55,55,.2);
	border-radius:8px;
}
.banner_menu a span i{
	-webkit-transition:all 150ms ease-in-out;
	-moz-transition:all 150ms ease-in-out;
	transition:all 150ms ease-in-out;
}
.banner_menu li:hover span i{
	transform:rotate(180deg);
}
.banner_menu ul{
	margin:0;
	padding:0;
	list-style:none;
	display:block;
	width:100%;
	-webkit-transition:all 150ms ease-in-out;
	-moz-transition:all 150ms ease-in-out;
	transition:all 150ms ease-in-out;
	display:flex;
	/* justify-content: space-between; */
	align-items: center;
}
.banner_menu ul li{
	display:inline-block;
	position:relative;
	margin-right:10px;
	text-align:center;
}
.banner_menu ul li:hover ul{
	display:block;
	visibility:initial;
	opacity:1;
	margin-top:0;
	/*border-bottom:thin solid var(--main-color);*/
	overflow:hidden;
}
.banner_menu li ul{
	display:inline-block;
	visibility:hidden;
	opacity:0;
	margin-top:0%;
	position:absolute;
	width:100%;
	min-width:150px;
	max-width:32vw;
	z-index:500;
	background-color:white;
	box-shadow:0px 0px 1px #c0c0c0;
	border-radius:0px 0px var(--border-radius) var(--border-radius);
}
.banner_menu li ul li{
	text-align:left !important;
	margin-right:0px;
	display:block;
	width:100%;
}
.banner_menu li ul a, .banner_menu li ul a:visited{
	color:#2a2a2a;
}


section{display:flex;min-height:100vh;align-items:center;justify-content:center;position:relative;padding:0 24px;text-align:center;padding-bottom:50px;}

@keyframes gradientShift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
body {
  background: linear-gradient(270deg, #fff, #c0c0c0, var(--main-color), #fff);
  background-size: 800% 800%;
  background-position: 0% 50%;
  /* animation: gradientShift 600s ease infinite; */
}

/* Lebegő blobok */
  .blob {
    position: absolute;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.15);
    width: 300px;
    height: 300px;
    animation: float 15s ease-in-out infinite alternate;
  }

  .blob1 { top: 10%; left: 15%; animation-duration: 10s; }
  .blob2 { top: 50%; left: 70%; animation-duration: 12s; }
  .blob3 { top: 65%; left: 30%; animation-duration: 9s; }

  @keyframes float {
    0% { transform: translateY(0px) rotate(0deg); }
    100% { transform: translateY(-50px) rotate(360deg); }
  }

.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(250,250,250,.18),rgba(255,255,255,.05))}
.hero h1{position:relative;font-size:clamp(2rem,5vw,3rem);z-index:2;color:#2a2a2a;}
.hero p{position:relative;z-index:2;color:var(--main-color);}

.szolgaltatasok_hero{min-height:50vh;}

.btn{
	padding:12px 24px;border-radius:12px;font-weight:700;border:none;cursor:pointer;margin:8px;
	animation-name:zoomback; 
	animation-duration:50ms; 
	animation-iteration-count:1; 
	animation-timing-function:ease-in-out;
	animation-fill-mode:both;
	display:inline-block;
}
.btn.primary{background:linear-gradient(90deg,var(--main-color),var(--alt-color));color:var(--txtmain-color);}
.btn.secondary{background:linear-gradient(90deg,var(--alt2-color),var(--alt3-color));color:var(--txtmain-color);}
.btn.detailbtn{background:linear-gradient(90deg,var(--alt2-color),var(--alt3-color));color:var(--txtmain-color);}
.btn:hover{
	background:linear-gradient(90deg,#c0c0c0,#f0f0f0);color:var(--main-color);
	animation-name:zoom; 
}
.btn.ghost{background:transparent;border:1px solid rgba(0,0,0,.08);}

.reveal,
.reveal_slow,
.reveal_slow2,
.reveal_slowultra {
  opacity: 0;
  transform: translateY(var(--translate, 24px));
  transition: opacity .6s ease, transform .6s ease;
}

.reveal { --translate: 24px; transition-duration: 0.6s; }
.reveal_slow { --translate: 48px; transition-duration: 1.2s; }
.reveal_slow2 { --translate: 72px; transition-duration: 1.8s; }
.reveal_slowultra { --translate: 100px; transition-duration: 1.0s !important; }

.reveal.visible,
.reveal_slow.visible,
.reveal_slow2.visible,
.reveal_slowultra.visible {
  opacity: 1;
  transform: translateY(0);
}


section#hero{
	background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
	background-image:url(../../../../images/slideshow/3.png);
}
#hero .kicker {
	text-shadow:1px 1px 5px black;
}
#hero .content {
  position: relative;
  z-index: 2;
}

#hero .slider {
  position: absolute;
  inset: 0;
  z-index: 0;
}

#hero .slider .slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity 1.5s ease-in-out;
}

#hero .slider .slide.active {
  opacity: 1;
}

#hero .overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.1);
  backdrop-filter: blur(3px);
  z-index: 1;
}

section.szolgaltatasok_section{
	font-size:120%;
	min-height:auto;
	max-width:1300px;
	margin:auto;
}

#scroll-indicator {
	position: absolute !important;
	bottom: 60px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 0.9rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	opacity: 0.6;
	animation: bounce 2s infinite;
	z-index:5;
}
@keyframes bounce {0%,100%{transform:translate(-50%,0);}50%{transform:translate(-50%,10px);}}
@keyframes enlarge {0%,100%{transform:scale(80%);}50%{transform:scale(120%);}}

.hamb{display:none;position:absolute;right:10px;margin:0px;padding:5px 10px;font-size:200%;color:white;background-color:rgba(0,0,0,.8);border:none;border-radius:8px;cursor:pointer;}
#mobileMenu{
	position:fixed;inset:64px 18px auto 18px;background:#ffffff;padding:16px;border-radius:12px;z-index:1300;
	font-size:200%;
	font-weight:bold;
	margin-top:50px;
}
#mobileMenu a{
	padding:15px;
}

.kicker{display:inline-flex;align-items:center;gap:10px;color:var(--alt-color);font-weight:600;}
.kicker .dot{width:10px;height:10px;border-radius:999px;background:var(--main-color);box-shadow:0 0 0 8px color-mix(in srgb,var(--main-color) 18%, transparent);animation: enlarge 1s infinite;}

.phone-fab {
	position: fixed;
	right: 16px;
	bottom: 16px;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 16px;
	background: rgba(255,255,255,0.5);
	backdrop-filter: blur(3px);
	color: #2a2a2a;
	border-radius: 999px;
	z-index: 60;
}
.up{
	bottom:4vw !important;
	border-radius: 999px !important;
}

.section_content{
	text-align:left;
}

.grid { display:grid; gap:18px; }
.grid.cols-3 { grid-template-columns: repeat(1, 1fr); }
.grid.cols-2 { grid-template-columns: repeat(1, 1fr); }
@media (min-width: 720px){ .grid.cols-3 { grid-template-columns: repeat(3, 1fr);} .grid.cols-2 { grid-template-columns: repeat(2, 1fr);} }

.card { background:#fff; border:1px solid rgba(16,24,40,.06); border-radius: 8px; padding:18px; box-shadow: 0 10px 25px rgba(0,0,0,.08); transition: transform .25s ease, box-shadow .25s ease; will-change: transform; }
.card:hover { transform: translateY(-4px); box-shadow: 0 30px 60px rgba(0,0,0,.12); }
.card h3 { margin:0 0 8px }
.card p { color: var(--muted); margin:0 }
.card img{max-width:100%;max-height:100%;border-radius:8px;}

/* Árak */
.price { display:flex; align-items:baseline; gap:8px; margin: 6px 0 10px; }
.price .amt { font-size: 2rem; font-weight: 800; }
.price .unit { color: var(--muted); font-weight:600; }

/* Lépések */
.steps { counter-reset: step; }
.step { position:relative; padding-left:54px; }
.step::before { counter-increment: step; content: counter(step); position:absolute; left:-5px; top:-5px; width:36px; height:36px; border-radius:12px; background: var(--main-color); color:#fff; display:grid; place-items:center; font-weight:800; box-shadow: 0 10px 25px rgba(0,0,0,.08); }

/* Ajánlatkérés űrlap */
.contact_form { display:grid; gap: 12px; }
.contact_form input, .contact_form textarea, .contact_form select { width:100%; padding: 12px 14px; border-radius: 12px; border:1px solid rgba(16,24,40,.12); font: inherit; background:#fff; }
.contact_form textarea { min-height: 120px; resize: vertical; }
.form-row { display:grid; gap:12px; }
@media (min-width: 720px){ .form-row { grid-template-columns: repeat(2, 1fr);} }

details.card{font-size:120%;margin-bottom:5px;}
details.card summary{cursor:pointer;}


.services h2 {
  font-size: 2rem;
  margin-bottom: 40px;
  color: #222;
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
  max-width: 100%;
  width:100%;
  margin: 0 auto;
}

.service-card {
  background: #fff;
  border-radius: 16px;
  padding: 24px;
  padding-bottom: 64px; /* extra hely a gombnak */
  box-shadow: 0 6px 16px rgba(0,0,0,0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position:relative;
}
.service-card .detailbtn {
  position: absolute;
  right: 24px;   /* távolság a jobb szélétől (ugyanannyi, mint a padding) */
  bottom: 24px;  /* távolság az alsó szélétől */
}

.service-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 24px rgba(0,0,0,0.12);
}

.service-card h3 {
  font-size: 1.2rem;
  margin-bottom: 12px;
  color: #2a2a2a;
}

.service-card p {
  font-size: 0.95rem;
  color: #555;
  line-height: 1.5;
}

.alert{
	background:#ff0000; color:white; border:1px solid rgba(16,24,40,.06); border-radius: 8px; padding:18px; box-shadow: 0 10px 25px rgba(0,0,0,.08);
	font-size:150%;
}
.success{
	background:#64a52e; color:white; border:1px solid rgba(16,24,40,.06); border-radius: 8px; padding:18px; box-shadow: 0 10px 25px rgba(0,0,0,.08);
	font-size:150%;
}

.gallery{max-width:1000px;}
.szolgaltatasok_content .gallery{max-width:100%;}

.gallery .card {
  overflow: hidden;
  border-radius: 12px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.08);
  transition: transform .3s ease, box-shadow .3s ease;
  cursor: pointer;
  font-size:120%;
  
  display: flex;           /* flex elrendezés */
  flex-direction: column;  /* függőleges irány */
  justify-content: center; /* vertikális középre igazítás */
  align-items: center;     /* vízszintes középre igazítás */
  text-align: center;      /* szöveg középre */
}

.gallery .card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .3s ease;
}

.gallery .card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 24px rgba(0,0,0,0.12);
}
.gallery .card:hover img {
  transform: scale(1.05);
}

/* Kártyák tooltip */
.gallery .card {
  position: relative;
}
.gallery .card::after {
  content: attr(data-alt);
  position: absolute;
  bottom: 8px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0,0,0,0.75);
  color: #fff;
  font-size: 14px;
  padding: 6px 10px;
  border-radius: 6px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease;
  white-space: nowrap;
}
.gallery .card:hover::after {
  opacity: 1;
}

/* Lightbox caption */
#lightbox-caption {
	background-color:rgba(0,0,0,.5);
	border-radius:8px;
	padding:6px 12px;
  margin-top: 12px;
  color: #fff;
  font-size: 18px;
  text-align: center;
  max-width: 90%;
  line-height: 1.4;
  position:fixed;
  bottom:5%;
}

/* Lightbox */
#lightbox {
  display: none; /* alapból rejtett */
  position: fixed;
  z-index: 9999;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.85);
  justify-content: center;
  align-items: center;
}

#lightbox img {
  max-width: 90%;
  max-height: 90%;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.6);
  animation: zoomIn .4s ease;
}

#lightbox .close {
  position: absolute;
  top: 20px; right: 30px;
  font-size: 40px;
  color: #fff;
  cursor: pointer;
  transition: 0.3s;
}

#lightbox .close:hover {
  color: var(--main-color, #f00);
}

#lightbox .prev,
#lightbox .next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  padding: 16px;
  margin-top: -22px;
  color: #fff;
  font-weight: bold;
  font-size: 32px;
  user-select: none;
  transition: 0.3s;
  z-index: 10000;
}
#lightbox .prev { left: 20px; }
#lightbox .next { right: 20px; }

#lightbox .prev:hover,
#lightbox .next:hover {
  color: var(--main-color, #f00);
  transform: scale(1.2);
}

.service-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.service-item {
  background: #fff8f0;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.service-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

.service-icon {
  font-size: 36px;
  margin-bottom: 12px;
}

.service-item h3 {
  margin-bottom: 12px;
  color: #ff6600;
}

.service-item p {
  line-height: 1.6;
  color: #333;
}

@media(max-width: 768px) {
  .service-grid {
    grid-template-columns: 1fr;
  }
}

@keyframes zoomIn {
  from { transform: scale(0.7); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}

/* Testimonials */
section#ugyfeleink-mondtak{min-height:auto;}
.testimonial { display:flex; gap:14px; align-items:flex-start; margin:10px; text-align:left; }
.avatar { width:42px; height:42px; border-radius: 50%; background: var(--main-color); opacity:.15; flex:0 0 auto; text-indent:-100000px; }
.quote { background: white; padding: 14px 16px; border-radius: 14px; }

body.high-contrast {
    color: white !important;
    font-size: 1.2em !important;
    line-height: 1.5 !important;
}

body.high-contrast * {
    color: yellow !important;
    text-decoration: underline;
	background: black !important;
	background-color: black !important;
}

body.high-contrast button, 
body.high-contrast input, 
body.high-contrast select, 
body.high-contrast textarea {
    background-color: #333 !important;
    color: white !important;
    border: 2px solid white !important;
}
@media(max-width:1400px){
	.banner_logo span span{font-size:70%;}
}

@media(max-width:1000px){
	.hideonphone{display:none !important;}
	.banner_menu{display:none}
	.hamb{display:inline-flex}
	#banner_content header{padding:5px;font-size:100%;}
	.banner_logo span span{font-size:90%;}
	.phone-fab{display:none;}
	.card img{max-width:100%;max-height:100%;}
	#accessibilityBtn{display:none;}
	.blob{display:none;}
}



/* Slideshow */
/* ======================================================================================== */
.slideshow_wrapper{
	margin:0 !important;
}
.slideshow_txt{
	font-family:initial;
}
.slideshow_txt{
	background-color:rgba(255,255,255,.3);
	padding:2%;
}
.slideshow_title{
	text-shadow:0px 0px 2px rgba(0,0,0,.5);
	font-weight:bold;
}
.slideshow_desc{
	text-shadow:0px 0px 2px rgba(0,0,0,.5);
	font-weight:normal !important;
	font-size:200% !important;
}
.slideshow_link{
	text-shadow:0px 0px 2px rgba(0,0,0,.5);
}
.slideshow_link a, .slideshow_link a:visited{
	padding:2% 4% !important;
	background-color:rgba(255,255,255,.8) !important;
	color:rgba(0,0,0,.9) !important;
	font-family:initial !important;
}
.slideshow_link a:hover, .slideshow_link a:active, .slideshow_link a:focus{
	background-color:rgba(0,0,0,.8) !important;
	color:rgba(255,255,255,.9) !important;
}
/* ======================================================================================== */
/* Content Basics */
/* ======================================================================================== */
#content{
	min-height:50px;
	position:relative;
}
.title{
	font-size:200%;
	color:black;
	width:100%;
}
.title a, .title a:visited{color:var(--alt-color);}
.title a:focus, .title a:hover, .title:active{color:var(--main-color);}
.title img{
	max-width:100%;
	max-height:30px;
	display:inline-block;
}
.txt{
	padding:1% 10%;
	font-size:140%;
	background-color:white;
	/* box-shadow:0px 0px 10px rgba(0,0,0,.3); */
	background-image: linear-gradient(to bottom right, white, rgba(0, 0, 0, .1), white);
}
.txtinverse{
	background-color:rgba(255,255,255,.9) !important;
}
.txt img, .txt iframe{
	width:100% !important;
	height:auto !important;
	max-width:100% !important;
	max-height:100% !important;
	display:inline-block;
	vertical-align:middle;
}

/* Footer */
/* ======================================================================================== */
#footer_wrapper{
	width:100%;
	background-color:transparent;
	height:auto;
}
#footer{
	width:100%;
	margin:auto;
	background-color:rgba(255,255,255,.3);
	border-top:2px solid var(--alt-color);
	border-bottom:2px solid var(--main-color);
}
#footer_content {
  padding: 3% 5%;
  background: #111;
  color: #ccc;
  font-size: 1rem;
  line-height: 1.6;
  /* animation: fadeUp 1s ease-in-out; */
}

.footer-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  justify-content: space-between;
}

#footer_content fieldset {
  flex: 1 1 250px;
  border: none;
  min-width: 200px;
}

#footer_content fieldset legend {
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: var(--main-color);
}

#footer_content ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

#footer_content li {
  margin-bottom: .6rem;
}

#footer_content a {
  color: #ccc;
  text-decoration: none;
  transition: all .3s ease;
  position: relative;
}

#footer_content a:hover {
  color: #fff;
  padding-left: 6px;
}

#footer_content a::before {
  content: "›";
  position: absolute;
  left: -14px;
  opacity: 0;
  transition: .3s;
}

#footer_content a:hover::before {
  opacity: 1;
  left: -8px;
  color: var(--main-color);
}

@keyframes fadeUp {
  from {opacity: 0; transform: translateY(40px);}
  to {opacity: 1; transform: translateY(0);}
}

#footer_content p {
  margin: .4rem 0;
}


/* Miscs */
/* ======================================================================================== */
.up{
	width:60px;
	height:60px;
	line-height:70px;
	cursor:pointer;
	display:none;
	position:fixed;
	z-index:50;
	right:2vw;
	bottom:2vw;
	border-radius:var(--border-radius);
	background-color:var(--main-color);
	color:var(--txtmain-color);
	text-align:center;
	vertical-align:middle;
	animation-name:zoomback; 
	animation-duration:50ms; 
	animation-iteration-count:1; 
	animation-timing-function:ease-in-out;
	animation-fill-mode:both;
}
.up:hover{
	animation-name:zoom;
}

/* Autocomplete */
/* ======================================================================================== */
.autocomplete-suggestions{
	font-size:110%;
}
.autocomplete-selected{
	background-color:var(--main-color);
}
.autocomplete-selected strong{
	color:white;
}
.autocomplete-suggestion{
	padding:10px;
}
.ui-autocomplete-category {
	font-weight:bold;
	padding:10px;
	margin:15px;
}

/* MAIN */
/* ======================================================================================== */
/* ======================================================================================== */
.parallax-window {
    min-height: 40vw;
    background: transparent;
	position:relative;
	z-index:0;
}
.boxes_static{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:2rem;
	padding-top:2%;
	padding-bottom:2%;
	width:100%;
	max-width:var(--content-innerwidth);
	margin:auto;
	height:auto;
	position:relative;
	z-index:10;
}
.boxes{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:2rem;
	margin-bottom:5%;
	width:var(--content-innerbasewidth);
	max-width:var(--content-innerwidth);
	margin:auto;
	height:6vw;
	z-index:10;
	position:relative;
	margin-top:-5%;
}
.box{
	flex:1 1 clamp(40ch,20%,50ch);
	flex-wrap:wrap;
	justify-content:space-between;
	background-image: linear-gradient(to bottom, white, #eee);
	box-shadow:0px 0px 10px rgba(0,0,0,.3);
	border-radius:0px;
	animation-name:zoomback; 
	animation-duration:150ms; 
	animation-iteration-count:1; 
	animation-timing-function:ease-in-out;
	animation-fill-mode:both;
}
.box:hover{
	animation-name:zoom;
}
.box:hover img{animation-name:zoom;}
.boxtitle{
	font-size:max(150%,1.5vw);
	padding:0% 0%;
	padding-top:5%;
	color:var(--alt-color);
	text-align:center;
	font-weight:normal;
}
.boxcontent{
	padding:6%;
	color:#555;
	font-size:100%;
	padding-top:0%;
}
.boxcontent img{
	max-width:100% !important;
	max-height:20vw !important;
	width:auto !important;
	height:auto !important;
	border-radius:0px;
	box-shadow:0px 0px 4px rgba(0,0,0,.2);
	animation-name:zoomback; 
	animation-duration:150ms; 
	animation-iteration-count:1; 
	animation-timing-function:ease-in-out;
	animation-fill-mode:both;
}
.contact_form table{
	width:100%;
	border:none;
	font-size:90%;
}
.contact_form table tr td:first-of-type{width:20%;}
.contact_form table tr td{
	padding:1%;
	margin:1%;
	font-size:110%;
}
.contact_form input[type="text"], .contact_form input[type="telephone"], .contact_form input[type="email"], .contact_form input[type="number"], .contact_form textarea{
	width:90%;
	padding:10px;
	background-color:#fefefe;
	border:2px solid #c0c0c0;
	font-size:100%;
}
.contact_form input[type="file"]{padding:2%;cursor:pointer;}
.contact_form textarea{height:30vh;}
.contact_form input[type="submit"]{
	padding:1%;
	background-color:var(--main-color);
	width:auto;
	font-size:120%;
	color:var(--txtmain-color);
	cursor:pointer;
	border:none;
}
.contact_form input[type="submit"]:hover, .contact_form input[type="submit"]:active, .contact_form input[type="submit"]:focus{
	background-color:var(--txtmain-color);
	color:var(--main-color);
}
.contact_form input:hover, .contact_form input:focus, .contact_form input:active, .contact_form textarea:hover, .contact_form textarea:focus, .contact_form textarea:active{
	background-color:white;
	color:black;
}
/* ======================================================================================== */
/* ======================================================================================== */

@keyframes zoomback {
	100% { transform:scale(1);  }
	0% { transform:scale(1.05); }
}
@keyframes zoom {
	0% { transform:scale(1);  }
	100% { transform:scale(1.05); }
}

/* Media Screens */
/* ======================================================================================== */
@media screen and (max-width: 1000px){
	:root{
		--content-basewidth:100%;
		--content-innerbasewidth:100%;
	}
}