@charset "utf-8";
/* CSS Document */

/******************************

[Table of Contents]

1. 1600px
2. 1440px
3. 1280px
4. 1199px
5. 1024px
6. 991px
7. 959px
8. 880px
9. 768px
10. 767px
11. 539px
12. 479px
13. 400px

******************************/

/************
1. 1840px
************/

@media only screen and (max-width: 1840px)
{
	.main_nav
	{
	    margin-left: 143px;
	}
}

/************
1. 1760px
************/

@media only screen and (max-width: 1760px)
{
	.work_hours
	{
	    display: none;
	}
}

/************
1. 1600px
************/

@media only screen and (max-width: 1600px)
{
	.main_nav
	{
		margin-left: 54px;
	}
}

/************
2. 1440px
************/

@media only screen and (max-width: 1440px)
{
	.header_phone
	{
		display: none;
	}
}

/************
3. 1380px
************/

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

/************
3. 1280px
************/

@media only screen and (max-width: 1280px)
{
	.main_nav ul li:not(:last-child)
	{
		margin-right: 29px;
	}
}

/************
4. 1199px
************/

@media only screen and (max-width: 1199px)
{
	.header_button
	{
		display: none;
	}
	.home
	{
		height: 525px;
	}
}

/************
4. 1100px
************/

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

/************
5. 1024px
************/

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

/************
6. 991px
************/

@media only screen and (max-width: 991px)
{
	.main_nav,
	.header_social
	{
		display: none;
	}
	.home_slider_dots
	{
		left: calc((100vw - 690px) / 2);
	}
	.hamburger
	{
		display: block;
	}
	.intro_image
	{
		text-align: center;
		margin-top: 80px;
	}
	.test_slider_container
	{
		padding-left: 0;
		padding-right: 0;
	}
	.team_col:not(:last-child)
	{
		margin-bottom: 60px;
	}
	.cta_phone
	{
		margin-top: 33px;
	}
	.footer_col:not(:last-child)
	{
		margin-bottom: 80px;
	}
	.footer_location,
	.footer_contact
	{
		padding-top: 0;
	}
}

/************
7. 959px
************/

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

/************
8. 880px
************/

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

/************
9. 768px
************/

@media only screen and (max-width: 768px)
{
	/* Mobile optimizations for tablet and below */
	
	/* Reduce section padding */
	.intro
	{
		padding-top: 40px;
		padding-bottom: 30px;
	}
	
	.testimonials
	{
		padding-top: 40px;
		padding-bottom: 30px;
	}
	
	.team
	{
		padding-top: 40px;
		padding-bottom: 30px;
	}
	
	.cta
	{
		padding-top: 40px;
		padding-bottom: 40px;
	}
	
	/* Make team cards more compact */
	.team_col
	{
		margin-bottom: 25px;
	}
	
	.team_col:not(:last-child)
	{
		margin-bottom: 25px;
	}
	
	/* Keep slider images centered */
	.home .background_image
	{
		background-position: center center !important;
	}
	
	/* Make home slider more compact and shorter */
	.home
	{
		height: calc((100vh - 60px) * 0.7) !important;
		min-height: 400px;
	}
	
	.home_container
	{
		padding-top: 40px;
		padding-bottom: 40px;
	}
	
	/* Reduce footer padding */
	.footer_content
	{
		padding-top: 50px;
		padding-bottom: 30px;
	}
	
	.footer_col:not(:last-child)
	{
		margin-bottom: 40px !important;
	}
	
	/* Reduce milestones spacing */
	.milestones
	{
		margin-top: 20px;
	}
	
	/* Make intro image more mobile-friendly */
	.intro_image
	{
		margin-top: 40px;
	}
	
	.intro_image img
	{
		max-width: 100%;
		height: auto;
	}
	
	/* Newsletter section optimizations */
	.newsletter
	{
		padding-top: 50px;
		padding-bottom: 50px;
	}
}

/************
10. 767px
************/

@media only screen and (max-width: 767px)
{
	.home
	{
		height: calc((100vh - 60px) * 0.7);
		min-height: 400px;
	}
	.home_container
	{
		top: 40%;
		transform: translateY(-50%);
	}
	.home_content
	{
		max-width: 100%;
	}
	.home_title
	{
		font-size: 48px;
	}
	.intro_text p
	{
		-webkit-column-count: 1;
		-moz-column-count: 1;
		-ms-column-count: 1;
		-o-column-count: 1;
		column-count: 1;
		-webkit-column-gap: 0px;
		-moz-column-gap: 0px;
		-ms-column-gap: 0px;
		-o-column-gap: 0px;
		column-gap: 0px;
		font-size: 14px;
		line-height: 1.6;
	}
	.milestone_col:not(:last-child)
	{
		margin-bottom: 30px;
	}
	.footer_bar_content
	{
		height: auto;
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.footer_nav
	{
		margin-top: 15px;
	}
	
	/* Make milestones horizontal on mobile */
	.milestone_col
	{
		flex: 0 0 50%;
		max-width: 50%;
	}
	
	.milestone_col:nth-child(3)
	{
		flex: 0 0 100%;
		max-width: 100%;
		margin-top: 15px;
	}
	
	.milestone_counter
	{
		font-size: 32px;
	}
	
	.milestone_text
	{
		font-size: 12px;
		margin-top: 5px;
	}
	
	/* Intro image more compact */
	.intro_image
	{
		margin-top: 30px;
	}
	
	/* Team section optimizations */
	.team_col:not(:last-child)
	{
		margin-bottom: 30px;
	}
}

/************
11. 575px
************/

@media only screen and (max-width: 575px)
{
	p
	{
		font-size: 13px;
	}
	h2
	{
		font-size: 36px;
	}
	.header.scrolled .header_content,
	.header_content
	{
		height: 60px;
	}
	.home
	{
		margin-top: 60px;
		height: calc((100vh - 60px) * 0.7);
		min-height: 400px;
	}
	.home_container
	{
		top: 40%;
		transform: translateY(-50%);
	}
	.home_text
	{
		font-size: 13px;
		margin-top: 15px;
		margin-bottom: 20px;
	}
	.logo a > div:first-child
	{
		font-size: 24px;
	}
	.logo a > div:last-child
	{
		font-size: 10px;
	}
	.section_subtitle
	{
		font-size: 16px;
	}
	.header_content
	{
		padding-left: 15px;
		padding-right: 30px;
	}
	.button
	{
		height: 40px;
	}
	.button a
	{
		font-size: 12px;
		line-height: 36px;
		padding-left: 31px;
		padding-right: 30px;
	}
	.home_title
	{
		font-size: 36px;
		line-height: 1.2;
	}
	.test_slider.owl-theme .owl-dots
	{
		display: none !important;
	}
	.test_text p
	{
		font-size: 14px;
		line-height: 1.5;
	}
	.cta_title
	{
		font-size: 24px;
	}
	.cta_text
	{
		font-size: 14px;
	}
	.cta_phone
	{
		font-size: 24px;
	}
	.cta
	{
		padding-top: 40px;
		padding-bottom: 40px;
	}
	.newsletter
	{
		padding-top: 50px;
		padding-bottom: 50px;
	}
	.newsletter_row
	{
		margin-top: 30px;
	}
	.newsletter_title
	{
		font-size: 22px;
	}
	.newsletter_input
	{
		width: calc(100% - 120px);
		height: 40px;
	}
	.newsletter_input::-webkit-input-placeholder
	{
		font-size: 13px !important;
	}
	.newsletter_input:-moz-placeholder
	{
		font-size: 13px !important;
	}
	.newsletter_input::-moz-placeholder
	{
		font-size: 13px !important;
	} 
	.newsletter_input:-ms-input-placeholder
	{ 
		font-size: 13px !important;
	}
	.newsletter_input::input-placeholder
	{
		font-size: 13px !important;
	}
	.newsletter_button
	{
		width: 142px;
		height: 40px;
		font-size: 12px;
	}
	.opening_hours
	{
		left: auto;
		width: 100%;
	}
	
	/* Intro section more compact */
	.intro
	{
		padding-top: 30px;
		padding-bottom: 20px;
	}
	
	.section_title h2
	{
		font-size: 28px;
	}
	
	.intro_image
	{
		margin-top: 25px;
	}
	
	/* Testimonials section more compact */
	.testimonials
	{
		padding-top: 30px;
		padding-bottom: 20px;
	}
	
	/* Team section more compact */
	.team
	{
		padding-top: 30px;
		padding-bottom: 20px;
	}
	
	.team_col
	{
		margin-bottom: 20px;
	}
	
	.team_col:not(:last-child)
	{
		margin-bottom: 20px;
	}
	
	/* Keep milestones horizontal on very small screens */
	.milestones_row
	{
		margin-top: 15px;
	}
	
	.milestone_col
	{
		flex: 0 0 50%;
		max-width: 50%;
		margin-bottom: 15px !important;
	}
	
	.milestone_col:nth-child(3)
	{
		flex: 0 0 100%;
		max-width: 100%;
		margin-top: 5px;
	}
	
	.milestone_counter
	{
		font-size: 28px;
		margin-bottom: 5px;
	}
	
	.milestone_text
	{
		font-size: 11px;
		line-height: 1.3;
	}
	
	/* Compact footer */
	.footer_content
	{
		padding-top: 40px !important;
		padding-bottom: 20px !important;
	}
	
	.footer_col:not(:last-child)
	{
		margin-bottom: 30px !important;
	}
	
	.footer_about_text,
	.contact_list,
	.locations_list,
	.opening_hours_list
	{
		margin-top: 15px;
	}
}

/************
11. 539px
************/

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

/************
12. 480px
************/

@media only screen and (max-width: 480px)
{
	/* Even more compact for very small phones */
	.home_title
	{
		font-size: 30px;
	}
	
	.home_subtitle
	{
		font-size: 16px;
	}
	
	.home_text
	{
		font-size: 13px;
	}
	
	.section_title h2
	{
		font-size: 24px;
	}
	
	.intro
	{
		padding-top: 25px;
		padding-bottom: 15px;
	}
	
	.testimonials
	{
		padding-top: 25px;
		padding-bottom: 15px;
	}
	
	.team
	{
		padding-top: 25px;
		padding-bottom: 15px;
	}
	
	.intro_image
	{
		margin-top: 20px;
	}
	
	.cta
	{
		padding-top: 30px;
		padding-bottom: 30px;
	}
	
	.newsletter
	{
		padding-top: 35px;
		padding-bottom: 35px;
	}
	
	.footer_content
	{
		padding-top: 30px !important;
		padding-bottom: 15px !important;
	}
	
	.footer_col:not(:last-child)
	{
		margin-bottom: 25px !important;
	}
	
	/* Team member cards more compact */
	.team_col
	{
		margin-bottom: 15px;
	}
	
	.team_col:not(:last-child)
	{
		margin-bottom: 15px;
	}
	
	/* Testimonials more compact */
	.test_text p
	{
		font-size: 13px;
	}
}

/************
13. 479px
************/

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

/************
14. 400px
************/

@media only screen and (max-width: 400px)
{
	.home_title
	{
		font-size: 26px;
	}
	
	.milestone_counter
	{
		font-size: 24px;
	}
	
	.milestone_text
	{
		font-size: 10px;
	}
	
	/* Ultra compact for very small screens */
	.intro
	{
		padding-top: 20px;
		padding-bottom: 10px;
	}
	
	.testimonials
	{
		padding-top: 20px;
		padding-bottom: 10px;
	}
	
	.team
	{
		padding-top: 20px;
		padding-bottom: 10px;
	}
	
	.intro_image
	{
		margin-top: 15px;
	}
}