html{

	scroll-behavior:smooth;
}

/* =========================================
   RESET
========================================= */

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


img{
	max-width:100%;
	display:block;
}

a{
	text-decoration:none;
	color:inherit;
}

ul{
	list-style:none;
}

/* =========================================
   ROOT VARIABLES
========================================= */

:root{

	/* COLORS */

	--primary:#23425f;
	--primary-dark:#183147;

	--text:#222;
	--text-light:#666;

	--background:#f5f7fa;
	--white:#ffffff;

	--border:#e5e7eb;

	/* EFFECTS */

	--shadow:
		0 8px 24px rgba(15,23,42,0.06);

	--shadow-hover:
		0 18px 40px rgba(0,0,0,0.12);

	--radius:18px;

	--transition:0.25s ease;
}

/* =========================================
   BODY
========================================= */

body{

	font-family:'Cabin', sans-serif;

	background:var(--background);

    overflow-x:hidden;

	color:var(--text);

	font-size:16px;
	line-height:1.6;

	-webkit-font-smoothing:antialiased;
}

/* =========================================
   TYPOGRAPHY
========================================= */

h1,h2,h3,h4,h5,h6{
	line-height:1.2;
	font-weight:700;
	color:var(--text);
}

h1{
	font-size:48px;
	margin-bottom:24px;
}

h2{
	font-size:32px;
	margin-bottom:20px;
}

h3{
	font-size:24px;
	margin-bottom:16px;
}

p{
	color:var(--text-light);
	margin-bottom:18px;
}

strong{
	color:var(--text);
}

/* =========================================
   LAYOUT
========================================= */

.container{

	width:100%;
	max-width:1200px;

	margin:auto;

	padding:0 20px;
}

/* =========================================
   BUTTONS
========================================= */

.btn{

	display:inline-flex;

	align-items:center;
	justify-content:center;

	padding:14px 28px;

	background:var(--primary);

	color:var(--white);

	border-radius:12px;

	font-weight:600;

	transition:var(--transition);

	box-shadow:var(--shadow);
}

.btn:hover{

	background:var(--primary-dark);

	transform:translateY(-2px);

	box-shadow:var(--shadow-hover);
}

/* =========================================
   HEADER
========================================= */

#header{

	display:flex;

	align-items:center;
	justify-content:space-between;

	padding:28px 0;

	gap:30px;
}

.logo{

	display:flex;

	align-items:center;
}

/* logo image */

.logo img{

	height:72px;

	width:auto;

	display:block;
}

/* =========================================
   LANGUAGES
========================================= */

#languages{

	display:flex;
	align-items:center;

	gap:12px;
}

#languages a{

	display:flex;

	align-items:center;

	gap:8px;

	padding:8px 14px;

	border-radius:10px;

	font-size:14px;
	font-weight:600;

	background:#eef2f7;

	transition:var(--transition);
}

#languages a:hover{

	background:var(--primary);

	color:white;
}

#languages .active{

	background:var(--primary);

	color:white;
}

/* flag */

#languages img{

	width:24px;

	height:auto;

	border-radius:3px;
}

/* =========================================
   NAVIGATION
========================================= */

#navigation{

	position:sticky;

	top:0;

	z-index:999;

	background:rgba(255,255,255,0.92);

	backdrop-filter:blur(14px);

	-webkit-backdrop-filter:blur(14px);

	border-radius:18px;

	border:1px solid rgba(220,230,240,0.7);

	box-shadow:0 8px 30px rgba(0,0,0,0.04);

	margin-bottom:40px;
}

#menu{

	display:flex;

	align-items:center;
	justify-content:center;

	flex-wrap:wrap;
}

#menu li a{

	display:block;

	padding:20px 28px;

	font-weight:600;

	color:var(--text);

	transition:var(--transition);

	position:relative;
}

/* hover underline */

#menu li a::after{

	content:'';

	position:absolute;

	left:50%;
	bottom:12px;

	width:0;
	height:2px;

	background:var(--primary);

	transition:var(--transition);

	transform:translateX(-50%);
}

#menu li a:hover{

	color:var(--primary);
}

#menu li a:hover::after{

	width:60%;
}

/* active page */

#menu li a.active{

	color:var(--primary);
}

#menu li a.active::after{

	width:60%;
}

/* =========================================
   MOBILE MENU BUTTON
========================================= */

.menu-btn{

	display:none;
}

/* =========================================
   HERO SECTION
========================================= */

#main_img_container{

	position:relative;

	margin-bottom:80px;
}

/* slider */

#rotate{

	width:100%;

	height:620px;

	border-radius:30px;

	overflow:hidden;

	position:relative;

	box-shadow:var(--shadow);
}

.cycle-slideshow{

	position:relative;
}

.cycle-slideshow img{

	width:100%;
	height:620px;

	object-fit:cover;

	object-position:60% center;

	display:block;
}

/* overlay */

#rotate::after{

	content:'';

	position:absolute;

	inset:0;

	background:
		linear-gradient(
			to right,
			rgba(0,0,0,0.55),
			rgba(0,0,0,0.15)
		);

	z-index:2;
}

.cycle-slideshow img:nth-child(9){

	object-position:center 25%;
}

.cycle-slideshow img:nth-child(10){

	object-position:center 25%;
}

/* HERO CONTENT */

#hero_intro{

	position:absolute;

	top:50%;
	left:70px;

	transform:translateY(-50%);

	z-index:5;

	max-width:620px;
}

/* logo */

.hero_logo{

	width:120px;

	margin-bottom:30px;
}

/* title */

#hero_intro h1{

	font-size:68px;

	line-height:1.05;

	color:white;

	margin-bottom:28px;
}

/* paragraphs */

#hero_intro p{

	font-size:20px;

	line-height:1.8;

	color:rgba(255,255,255,0.92);

	margin-bottom:22px;
}

/* hero button */

.hero_cta{

    position:relative;

    overflow:hidden;

	display:inline-flex;

	align-items:center;

	justify-content:center;

	padding:18px 34px;

	background:var(--primary);

	color:white;

	font-size:18px;

	font-weight:700;

	border-radius:16px;

	margin-top:18px;

	box-shadow:var(--shadow);

	transition:var(--transition);

    letter-spacing:0.3px;

    min-width:190px;
}

.hero_cta:hover{

	background:var(--primary-dark);

	transform:translateY(-3px);

	box-shadow:var(--shadow-hover);
}

/* glow effect */

.hero_cta::before{

	content:'';

	position:absolute;

	top:0;
	left:-120%;

	width:120%;
	height:100%;

	background:linear-gradient(
		120deg,
		transparent,
		rgba(255,255,255,0.35),
		transparent
	);

	transition:0.9s;
}

/* hover */

.hero_cta:hover::before{

	left:120%;
}

/* =========================================
   INFO BAR
========================================= */

#info_bar{

	display:grid;

	grid-template-columns:
	    repeat(3,1fr);

	gap:24px;

	margin-top: 20px;
	margin-bottom:90px;

	position:relative;

	z-index:20;
}

/* items */

.info_item{

	background:white;

	padding:30px;

	border-radius:22px;

	box-shadow:var(--shadow);

	text-align:center;

	border:1px solid var(--border);

	transition:var(--transition);
}

.info_item:hover{

	transform:translateY(-6px);

	box-shadow:var(--shadow-hover);
}

.info_item h3{

	font-size:22px;

	margin-bottom:12px;
}

.info_item p{

	font-size:17px;

	margin:0;
}

/* =========================================
   BOXES / CARDS
========================================= */

#boxes{

	display:grid;

	grid-template-columns:
		repeat(3, 1fr);

	gap:30px;

	margin-bottom:90px;
}

/* cards */

.where,
.about,
.info{

	background:var(--white);

	padding:36px;

	border-radius:24px;

	box-shadow:var(--shadow);

	border:1px solid var(--border);

	transition:var(--transition);

	position:relative;

	overflow:hidden;
}

/* top accent */

.where::before,
.about::before,
.info::before{

	content:'';

	position:absolute;

	top:0;
	left:0;

	width:100%;
	height:5px;

	background:var(--primary);
}

/* hover */

.where:hover,
.about:hover,
.info:hover{

	transform:translateY(-8px);

	box-shadow:var(--shadow-hover);
}

/* titles */

#boxes h2{

	display:flex;

	align-items:center;

	gap:14px;

	font-size:28px;

	margin-bottom:28px;

	color:var(--text);
}

/* icons */

.where h2::before{

	content:'📍';

	font-size:26px;
}

.about h2::before{

	content:'🦷';

	font-size:26px;
}

.info h2::before{

	content:'💙';

	font-size:26px;
}

/* text */

#boxes p{

	font-size:16px;

	line-height:1.8;

	color:var(--text-light);
}

/* links */

#boxes a{

	color:var(--primary);

	font-weight:600;

	transition:var(--transition);
}

#boxes a:hover{
	color:var(--primary-dark);
}

/* lists */

#boxes ul{

	display:flex;

	flex-direction:column;

	gap:14px;
}

#boxes ul li a{

	font-size:16px;

	color:var(--text);

	transition:var(--transition);
}

#boxes ul li a:hover{

	color:var(--primary);

	padding-left:6px;
}

/* phone button */

.phone_popup{

	display:inline-flex;

	align-items:center;

	gap:10px;

	background:var(--primary);

	color:white !important;

	padding:14px 22px;

	border-radius:14px;

	font-weight:700;

	margin-top:10px;

	box-shadow:var(--shadow);

	transition:var(--transition);
}

.phone_popup:hover{

	background:var(--primary-dark);

	transform:translateY(-2px);
}

/* phone icon */

.phone_icon{

	width:22px;

	height:auto;

	vertical-align:middle;

	margin-right:8px;
}

section{
	margin-bottom:100px;
}

/* =========================================
   FOOTER
========================================= */

#footer_wrap{

	background:#0f172a;

	border-radius:30px 30px 0 0;

	padding-top:70px;

	margin-top:80px;

	color:rgba(255,255,255,0.8);
}

/* top */

#footer_top{

	display:grid;

	grid-template-columns:
		1.2fr 1fr 1fr 1fr;

	gap:40px;

	padding-bottom:50px;
}

/* titles */

#footer_top h3{

	font-size:22px;

	color:white;

	margin-bottom:24px;
}

/* paragraphs */

#footer_top p{

	color:rgba(255,255,255,0.72);

	line-height:1.8;
}

/* lists */

#footer_top ul{

	display:flex;

	flex-direction:column;

	gap:14px;
}

#footer_top ul li a{

	color:rgba(255,255,255,0.72);

	transition:var(--transition);
}

#footer_top ul li a:hover{

	color:white;

	padding-left:5px;
}

/* facebook */

.facebook{

	display:inline-flex;

	align-items:center;

	gap:10px;

	color:white;

	font-weight:600;
}

/* materials image */

.footer_links_big img{

	margin-top:20px;

	border-radius:14px;

	overflow:hidden;
}

/* bottom */

#footer_bottom{

	border-top:
		1px solid rgba(255,255,255,0.08);

	padding:24px 0;

	display:flex;

	align-items:center;
	justify-content:space-between;

	font-size:14px;
}

/* =========================================
   FOOTER MATERIALS
========================================= */

.footer_materials{

	text-align:center;

	margin-top:40px;
}

.footer_materials h3{

	margin-bottom:14px;

	font-size:24px;

	color:white;
}

.footer_materials img{

	display:block;

	margin:0 auto;

	max-width:100%;

	width:320px;

	opacity:0.9;
}

/* signature */

.signature{

	color:rgba(255,255,255,0.6);

	transition:var(--transition);
}

.signature:hover{
	color:white;
}

/* whatsapp */

.whatsapp_link{

	display:inline-flex;

	align-items:center;

	gap:10px;

	margin-top:10px;

	padding:12px 18px;

	background:var(--primary);

	color:white !important;

	border-radius:14px;

	font-weight:700;

	transition:var(--transition);

	box-shadow:var(--shadow);
}

.whatsapp_link:hover{

	transform:translateY(-2px);

	box-shadow:var(--shadow-hover);
}

/* icon */

.whatsapp_icon{

	filter:brightness(0) invert(1);
}

/* map button */

.map_link{

	display:inline-flex;

	align-items:center;
	justify-content:center;

	margin-top:10px;

	padding:12px 18px;

	background:var(--primary);

	color:white !important;

	border-radius:14px;

	font-weight:700;

	transition:var(--transition);

	box-shadow:var(--shadow);
}

.map_link:hover{

	background:var(--primary-dark);

	transform:translateY(-2px);

	box-shadow:var(--shadow-hover);
}

/* extra card */

.services_extra{

	background:var(--white);

	padding:36px;

	border-radius:24px;

	box-shadow:var(--shadow);

	border:1px solid var(--border);

	transition:var(--transition);

	position:relative;
}

.services_extra:hover{

	transform:translateY(-8px);

	box-shadow:var(--shadow-hover);
}

.services_extra::before{

	content:'';

	position:absolute;

	top:0;
	left:0;

	width:100%;
	height:5px;

	background:var(--primary);
}

.services_extra h2{

	font-size:28px;

	margin-bottom:24px;
}

/* =========================================
   ABOUT SECTION
========================================= */

#about_section{

	display:grid;

	grid-template-columns:
		1fr 1fr;

	gap:60px;

	align-items:center;

	margin-bottom:120px;
}

/* tag */

.section_tag{

	display:inline-block;

	padding:8px 16px;

	background:#e0f2fe;

	color:var(--primary);

	border-radius:999px;

	font-size:14px;
	font-weight:700;

	margin-bottom:24px;
}

/* title */

#about_section h2{

	font-size:52px;

	line-height:1.1;

	margin-bottom:28px;
}

/* text */

#about_section p{

	font-size:18px;

	line-height:1.9;

	margin-bottom:22px;
}

/* image */

.about_image img{

	width:100%;

	height:260px;

	object-fit:cover;

	border-radius:26px;

	box-shadow:var(--shadow);

	transition:var(--transition);
}

.about_image img:hover{

	transform:translateY(-4px);

	box-shadow:var(--shadow-hover);
}

/* button */

.about_btn{

	display:inline-flex;

	align-items:center;
	justify-content:center;

	padding:16px 28px;

	background:var(--primary);

	color:white;

	border-radius:14px;

	font-weight:700;

	margin-top:12px;

	transition:var(--transition);

	box-shadow:var(--shadow);
}

.about_btn:hover{

	background:var(--primary-dark);

	transform:translateY(-3px);

	box-shadow:var(--shadow-hover);
}

.about_image{

	display:flex;

	flex-direction:column;

	gap:24px;
}

/* =========================================
   FOOTER
========================================= */

#footer_wrap{

	background:#0f172a;

	margin-top:120px;

	padding-top:80px;

	border-radius:40px 40px 0 0;
}

/* top */

#footer_top{

	display:grid;

	grid-template-columns:
		1.4fr 1fr 1fr 1fr;

	gap:50px;

	padding-bottom:60px;
}

/* brand */

.footer_brand h2{

	font-size:36px;

	color:white;

	margin-bottom:20px;
}

.footer_brand p{

	color:rgba(255,255,255,0.7);

	line-height:1.9;

	font-size:17px;
}

/* columns */

.footer_column h3{

	color:white;

	font-size:22px;

	margin-bottom:22px;
}

.footer_column p,
.footer_column li{

	margin-bottom:14px;

	color:rgba(255,255,255,0.7);
}

/* links */

.footer_column a{

	color:rgba(255,255,255,0.72);

	transition:var(--transition);
}

.footer_column a:hover{

	color:white;
}

/* nav */

.footer_column ul{

	display:flex;

	flex-direction:column;

	gap:12px;
}

/* bottom */

#footer_bottom{

	border-top:
		1px solid rgba(255,255,255,0.08);

	padding:28px 0;

	text-align:center;
}

#footer_bottom p{

	color:rgba(255,255,255,0.55);

	margin:0;
}

/* =========================================
   TRANSPORT MODAL
========================================= */

.transport_modal{

	display:none;

	position:fixed;

	inset:0;

	background:
		rgba(15,23,42,0.72);

	backdrop-filter:blur(6px);

	z-index:9999;

	padding:20px;
}

/* content */

.transport_content{

	position:relative;

	max-width:720px;

	margin:80px auto;

	background:white;

	border-radius:30px;

	padding:50px;

	box-shadow:
		0 25px 80px rgba(0,0,0,0.25);
}

/* close */

.popup_close{

	position:absolute;

	top:22px;
	right:26px;

	font-size:28px;

	cursor:pointer;

	color:#666;

	transition:var(--transition);
}

.popup_close:hover{
	color:black;
}

/* title */

.transport_content h2{

	font-size:42px;

	margin-bottom:22px;
}

/* intro */

.transport_intro{

	font-size:20px;

	line-height:1.8;

	margin-bottom:34px;
}

/* info grid */

.transport_info{

	display:grid;

	grid-template-columns:
		repeat(2,1fr);

	gap:18px;

	margin-bottom:34px;
}

/* items */

.transport_item{

	background:#f8fafc;

	padding:18px;

	border-radius:16px;

	font-weight:600;
}

/* text */

.transport_text{

	font-size:17px;

	line-height:1.9;

	margin-bottom:36px;
}

/* buttons */

.transport_buttons{

	display:flex;

	gap:18px;

	flex-wrap:wrap;
}

/* button */

.transport_btn{

	display:inline-flex;

	align-items:center;
	justify-content:center;

	padding:16px 28px;

	background:var(--primary);

	color:white;

	border-radius:14px;

	font-weight:700;

	transition:var(--transition);

	box-shadow:var(--shadow);
}

.transport_btn:hover{

	background:var(--primary-dark);

	transform:translateY(-3px);
}

/* whatsapp */

.whatsapp_btn{

	background:#25D366;
}

.whatsapp_btn:hover{

	background:#1ebe5d;
}

.transport_mail{

	font-size:18px;

	margin-bottom:34px;
}

.transport_mail a{

	color:var(--primary);

	font-weight:600;

	transition:var(--transition);
}

.transport_mail a:hover{

	color:var(--primary-dark);
}

/* more button */

.transport_more{

	display:inline-flex;

	align-items:center;
	justify-content:center;

	margin-bottom:34px;

	padding:14px 24px;

	background:#f1f5f9;

	color:var(--text);

	border-radius:14px;

	font-weight:700;

	transition:var(--transition);
}

.transport_more:hover{

	background:#e2e8f0;

	transform:translateY(-2px);
}

/* =========================================
   TRANSPORT DATES
========================================= */

.transport_dates h2{

	font-size:42px;

	text-align:center;

	margin-bottom:50px;
}

/* grid */

.dates_grid{

	display:grid;

	grid-template-columns:
		repeat(2,1fr);

	gap:34px;
}

/* card */

.date_card{

	background:white;

	padding:42px;

	border-radius:30px;

	box-shadow:var(--shadow);

	border:1px solid var(--border);

	transition:var(--transition);
}

.date_card:hover{

	transform:translateY(-6px);

	box-shadow:var(--shadow-hover);
}

/* month title */

.date_card h3{

	font-size:30px;

	margin-bottom:28px;

	color:var(--primary);
}

/* list */

.date_card ul{

	display:flex;

	flex-direction:column;

	gap:16px;
}

/* date item */

.date_card li{

	padding:14px 18px;

	background:#f8fafc;

	border-radius:14px;

	font-size:17px;

	font-weight:500;

	transition:var(--transition);
}

.date_card li:hover{

	background:#eef6ff;

	transform:translateX(4px);
}

/* =========================================
   TRANSPORT TABS
========================================= */

.transport_tabs{

	display:flex;

	justify-content:center;

	flex-wrap:wrap;

	gap:18px;

	margin-bottom:70px;

	position:sticky;

	top:20px;

	z-index:50;
}

/* links */

.transport_tabs a{

	display:inline-flex;

	align-items:center;
	justify-content:center;

	padding:14px 24px;

	background:white;

	border-radius:999px;

	box-shadow:var(--shadow);

	border:1px solid var(--border);

	font-weight:700;

	transition:var(--transition);
}

.transport_tabs a:hover{

	background:var(--primary);

	color:white;

	transform:translateY(-2px);
}

#info_cards,
#route,
#dates,
#contact{

	scroll-margin-top:220px;
}

/* back link */

.transport_back{

	margin-bottom:60px;

	text-align:center;
}

.transport_back a{

	display:inline-flex;

	align-items:center;

	gap:8px;

	font-weight:700;

	color:var(--primary);

	transition:var(--transition);
}

.transport_back a:hover{

	transform:translateX(-4px);

	color:var(--primary-dark);
}

.transport_contact{

	margin-top:70px;
}

.transport_secondary{

	margin-top:80px;
}

.transport_extra{

	margin-top:80px;
}

/* =========================================
   SERVICES SECTION
========================================= */

#services_section{

	margin-bottom:120px;
}

/* intro */

.services_intro{

	max-width:760px;

	margin:0 auto 70px auto;

	text-align:center;
}

.services_intro h2{

	font-size:52px;

	line-height:1.1;

	margin-bottom:28px;
}

.services_intro p{

	font-size:19px;

	line-height:1.9;
}

/* grid */

.services_grid{

	display:grid;

	grid-template-columns:
		repeat(3,1fr);

	gap:28px;
}

/* card */

.service_card{

	background:white;

	padding:40px;

	border-radius:28px;

	box-shadow:var(--shadow);

	border:1px solid var(--border);

	transition:var(--transition);

	position:relative;

	overflow:hidden;
}

/* top accent */

.service_card::before{

	content:'';

	position:absolute;

	top:0;
	left:0;

	width:100%;
	height:5px;

	background:var(--primary);
}

/* hover */

.service_card:hover{

	transform:translateY(-8px);

	box-shadow:var(--shadow-hover);
}

/* title */

.service_card h3{

	font-size:28px;

	margin-bottom:18px;
}

/* text */

.service_card p{

	line-height:1.8;

	color:var(--text-light);
}


/* =========================================
   SERVICES PAGE GRID
========================================= */

.services_page_grid{

	display:grid;

	grid-template-columns:
		repeat(2,1fr);

	gap:30px;

	margin-bottom:120px;
}

/* card */

.service_page_card{

	background:white;

	padding:42px;

	border-radius:30px;

	box-shadow:var(--shadow);

	border:1px solid var(--border);

	transition:var(--transition);

	position:relative;

	overflow:hidden;
}

/* top accent */

.service_page_card::before{

	content:'';

	position:absolute;

	top:0;
	left:0;

	width:100%;
	height:5px;

	background:var(--primary);
}

/* hover */

.service_page_card:hover{

	transform:translateY(-8px);

	box-shadow:var(--shadow-hover);
}

/* title */

.service_page_card h3{

	font-size:32px;

	margin-bottom:20px;

	scroll-margin-top:140px;
}


/* text */

.service_page_card p{

	font-size:18px;

	line-height:1.9;

	color:var(--text-light);
}

/* =========================================
   SERVICES TABS
========================================= */

.services_tabs{

	display:flex;

	justify-content:center;

	flex-wrap:wrap;

	gap:16px;

	margin-bottom:70px;

	position:sticky;

	top:20px;

	z-index:100;
}

/* links */

.services_tabs a{

	display:inline-flex;

	align-items:center;
	justify-content:center;

	padding:14px 22px;

	background:white;

	border-radius:999px;

	box-shadow:var(--shadow);

	border:1px solid var(--border);

	font-weight:700;

	transition:var(--transition);
}

/* hover */

.services_tabs a:hover{

	background:var(--primary);

	color:white;

	transform:translateY(-2px);
}


/* =========================================
   ABOUT PAGE
========================================= */

#about_page{

	margin-bottom:120px;
}

/* hero */

.about_page_hero{

	max-width:900px;

	margin:0 auto 90px auto;

	text-align:center;
}

.about_page_hero h1{

	font-size:64px;

	line-height:1.05;

	margin-bottom:30px;
}

.about_page_hero p{

	font-size:21px;

	line-height:1.9;

	color:var(--text-light);
}

/* grid */

.about_page_grid{

	display:grid;

	grid-template-columns:
		1.1fr 1fr;

	align-items:center;

	gap:70px;
}

/* text */

.about_page_text{

	padding:0 30px;
}

.about_page_text p{

	font-size:19px;

	line-height:2;

	margin-bottom:28px;

	color:var(--text-light);
}

/* image */

.about_page_image{

	display:flex;

	justify-content:center;
}

.about_page_image img{

	width:85%;

	border-radius:34px;

	box-shadow:var(--shadow-hover);
}


/* =========================================
   LOCATION PAGE
========================================= */

#location_page{

	margin-bottom:120px;
}

/* hero */

.location_hero{

	max-width:850px;

	margin:0 auto 80px auto;

	text-align:center;
}

.location_hero h1{

	font-size:64px;

	line-height:1.05;

	margin-bottom:28px;
}

.location_hero p{

	font-size:21px;

	line-height:1.9;

	color:var(--text-light);
}

/* map */

.location_map{

	margin-bottom:70px;
}

.location_map iframe{

	width:100%;

	height:520px;

	border:none;

	border-radius:34px;

	box-shadow:var(--shadow-hover);
}

/* cards */

.location_cards{

	display:grid;

	grid-template-columns:
		repeat(4,1fr);

	gap:24px;

	margin-bottom:70px;
}

/* card */

.location_card{

	background:white;

	padding:36px;

	border-radius:28px;

	box-shadow:var(--shadow);

	border:1px solid var(--border);

	transition:var(--transition);
}

.location_card:hover{

	transform:translateY(-6px);

	box-shadow:var(--shadow-hover);
}

.location_card h3{

	font-size:24px;

	margin-bottom:18px;
}

.location_card p{

	line-height:1.8;

	color:var(--text-light);
}

/* cta */

.location_cta{

	text-align:center;
}


/* =========================================
   CONTACT PAGE
========================================= */

#contact_page{

	margin-bottom:120px;
}

/* hero */

.contact_hero{

	max-width:850px;

	margin:0 auto 80px auto;

	text-align:center;
}

.contact_hero h1{

	font-size:64px;

	line-height:1.05;

	margin-bottom:28px;
}

.contact_hero p{

	font-size:21px;

	line-height:1.9;

	color:var(--text-light);
}

/* grid */

.contact_grid{

	display:grid;

	grid-template-columns:
		420px 1fr;

	gap:50px;

	margin-bottom:90px;
}

/* info */

.contact_info{

	display:flex;

	flex-direction:column;

	gap:24px;
}

/* card */

.contact_info_card{

	background:white;

	padding:34px;

	border-radius:28px;

	box-shadow:var(--shadow);

	border:1px solid var(--border);
}

.contact_info_card h3{

	margin-bottom:16px;

	font-size:24px;
}

.contact_info_card p{

	line-height:1.8;

	color:var(--text-light);
}

/* form */

.contact_form_wrap{

	background:white;

	padding:50px;

	border-radius:34px;

	box-shadow:var(--shadow-hover);

	border:1px solid var(--border);
}

/* form layout */

.contact_form{

	display:flex;

	flex-direction:column;

	gap:22px;
}

/* inputs */

.contact_form input,
.contact_form textarea{

	width:100%;

	padding:18px 22px;

	border-radius:18px;

	border:1px solid #dbe3ea;

	font-size:17px;

	font-family:inherit;

	background:#f8fafc;
}

/* textarea */

.contact_form textarea{

	height:180px;

	resize:none;
}

/* focus */

.contact_form input:focus,
.contact_form textarea:focus{

	outline:none;

	border-color:var(--primary);
}

/* captcha */

.captcha_box{

	display:flex;

	flex-direction:column;

	gap:10px;
}


/* image hover */

.about_page_image img,
.transport_hero_image img{

	transition:transform 0.7s ease;
}

.about_page_image:hover img,
.transport_hero_image:hover img{

	transform:scale(1.03);
}


/* =========================================
   FADE IN
========================================= */

.fade_in{

	opacity:0;

	transform:translateY(30px);

	animation:fadeUp 1s ease forwards;
}

@keyframes fadeUp{

	to{

		opacity:1;

		transform:translateY(0);
	}
}

/* ____________________________________________________



/* =========================================
   MOBILE
========================================= */

@media(max-width:1024px){

	/* hero titles */

	.hero_content h1,
	.services_hero h1,
	.about_page_hero h1,
	.location_hero h1,
	.contact_hero h1{

		font-size:48px;
	}

	/* grids */

	.services_page_grid,
	.location_cards,
	.transport_cards,
	.extra_grid{

		grid-template-columns:1fr 1fr;
	}

	/* contact */

	.contact_grid{

		grid-template-columns:1fr;
	}

	/* about */

	.about_page_grid{

		grid-template-columns:1fr;

		gap:50px;
	}

	.about_page_image img{

		width:100%;
	}
}


/* =========================================
   MOBILE PHONE
========================================= */

@media(max-width:768px){

	/* wrapper */

	.container{

		padding-left:20px;
		padding-right:20px;
	}

	/* header */

	#header{

		flex-direction:column;

		gap:20px;
	}

	#menu{

		display:none;

		flex-direction:column;

		align-items:flex-start;

		gap:12px;

		width:100%;
	}

	#menu.active{

		display:flex;
	}

	/* mobile hamburger */

	.menu-btn{

		display:flex;

		flex-direction:column;

		gap:6px;

		width:42px;

		cursor:pointer;

		margin-bottom:20px;
	}

	.menu-btn span{

		height:3px;

		width:100%;

		background:var(--text);

		border-radius:999px;
	}

	/* mobile slider */

	#rotate{

		height:260px;

		border-radius:20px;
	}

	#rotate img{

		height:260px;

		object-fit:cover;
	}
	
	/* hero */

	.hero,
	.transport_hero{

		grid-template-columns:1fr;
	}

	.hero_content h1,
	.services_hero h1,
	.about_page_hero h1,
	.location_hero h1,
	.contact_hero h1{

		font-size:44px;
	}

	/* text */

	.hero_content p,
	.services_hero p,
	.about_page_hero p,
	.location_hero p,
	.contact_hero p{

		font-size:18px;
	}

	/* grids */

	.services_page_grid,
	.location_cards,
	.transport_cards,
	.extra_grid,
	.dates_grid{

		grid-template-columns:1fr;
	}

	.services_grid{

		grid-template-columns:1fr;
	}

	#info_bar{

		grid-template-columns:1fr;
	}

	#languages{

		display:flex;

		gap:10px;
	}

	#navigation{

		width:100%;
	}

	.about_image{

		display:none;
	}

	.about_page_image{

		display:none;
	}

	/* transport hero */

	.transport_hero{

		gap:40px;
	}

	/* buttons */

	.transport_cta_row{

		flex-direction:column;

		align-items:stretch;
	}

	.transport_btn{

		width:100%;

		justify-content:center;
	}

	/* tabs */

	.services_tabs,
	.transport_tabs{

		display:flex;

		flex-direction:column;

		align-items:flex-start;

		gap:10px;
	}

	.services_tabs a,
	.transport_tabs a{

		padding:12px 16px;

		font-size:14px;

		width:100%;
	}
	
	/* mobile services tabs */

	.services_tabs{

		position:relative;

		top:auto;
	}

	/* forms */

	.contact_form_wrap{

		padding:30px;
	}

	/* map */

	.location_map iframe{

		height:380px;
	}

	.location_cards{

		grid-template-columns:1fr;
	}

	#footer_top{

		grid-template-columns:1fr;

		padding:40px 0;

		padding-left:10px;

		gap:24px;
	}

	.footer_column p{

		margin-bottom:8px;
	}

	.footer_column ul li{

		margin-bottom:8px;
	}

	.footer_materials img{

		width:240px;
	}


   /* homepage info bar */

    #info_bar{

        grid-template-columns:1fr;
    }
    
}

/* =========================================
   CUSTOM SCROLLBAR
========================================= */

::-webkit-scrollbar{

	width:12px;
}

::-webkit-scrollbar-track{

	background:#f3f6f9;
}

::-webkit-scrollbar-thumb{

	background:linear-gradient(
		to bottom,
		var(--primary),
		#7ba7c9
	);

	border-radius:999px;

	border:3px solid #f3f6f9;
}

::-webkit-scrollbar-thumb:hover{

	background:var(--primary-dark);
}


