/*
Theme Name: General Feder Kft.
Theme URI: http://www.raklaprugo.hu/
Description: A General Feder Kft. weboldalának alapértelmezett sablonja
Author: ReklámGuru
Author URI: http://www.reklamguru.hu/
Version: 3.0
*/


*{
margin: 0;
padding: 0;
border: 0;
text-decoration: none; 
list-style: none;
}
*, *:after, *::before { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

body { padding: 0 50px; font-family: 'Open Sans', sans-serif; font-size: 16px; font-weight: 400; color: #666; }
body.page { background: white; }

input, button, select, textarea { font-family: 'Open Sans', sans-serif; font-size: 15px; font-weight: 400; outline: none; }
input[type=submit], button { cursor: pointer; }
textarea { resize: vertical; }

h1, h2, h3, h4 { font-weight: 400; line-height: 100%; }


/*
-----------------
	CLASSES
-----------------
*/
.website { position: relative; }
.inner { max-width: 1200px; margin: auto; position: relative; }
.left { float: left; }
.right { float: right; }
.clear { clear: both; }
.t_a_c { text-align: center; }
.uppercase { text-transform: uppercase; }
.vertical_middle { top: 50%; position: relative; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }
.align_center { left: 50%; position: relative; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); }
.hide { display: none; }
.red { color: red; }

/* Buttons */
.button { height: 60px; padding: 0 30px; font-size: 17px; font-weight: 600; text-transform: uppercase; text-decoration: none !important; color: #000 !important; line-height: 60px; background: transparent; border: 1px solid rgba(0,0,0,0.3); display: inline-block; position: relative; }
.button:hover { border: 1px solid #000; }
.button:before { width: 0; height: 100%; right: 0; top: 0; background: #feca23; position: absolute; content: ''; z-index: -1; -moz-transition: all 0.8s cubic-bezier(0.77, 0, 0.175, 1); -o-transition: all 0.8s cubic-bezier(0.77, 0, 0.175, 1); -webkit-transition: all 0.8s cubic-bezier(0.77, 0, 0.175, 1); transition: all 0.8s cubic-bezier(0.77, 0, 0.175, 1); }
.button:hover:before { width: 100%; }

/* Image classes */
.alignleft { margin: 0 20px 5px 0; float: left; }
.alignright { margin: 0 0 5px 20px; float: right; }
.aligncenter { margin: 0 auto 20px auto; display: block; }

/* Special font */
:after, :before { font-family: 'fontello', sans; -webkit-font-smoothing: antialiased; }

/* Animation */
:before, :after, .anim { -webkit-transition: all 0.2s ease-out; -moz-transition: all 0.2s ease-out; -o-transition: all 0.2s ease-out; transition: all 0.2s ease-out; }
.anim_long { -webkit-transition: all 0.5s ease-out; -moz-transition: all 0.5s ease-out; -o-transition: all 0.5s ease-out; transition: all 0.5s ease-out; }
.anim_extra_long { -webkit-transition: all 1s ease-out; -moz-transition: all 1s ease-out; -o-transition: all 1s ease-out; transition: all 1s ease-out; }
.anim_cubic { -moz-transition: all 0.8s cubic-bezier(0.77, 0, 0.175, 1); -o-transition: all 0.8s cubic-bezier(0.77, 0, 0.175, 1); -webkit-transition: all 0.8s cubic-bezier(0.77, 0, 0.175, 1); transition: all 0.8s cubic-bezier(0.77, 0, 0.175, 1); }


/*
---------------
	LOADER
---------------
*/
#loader { width: 100%; height: 100vh; left: 0; top: 0; padding: 50px; font-size: 18px; text-align: center; color: #333; background: white; position: fixed; z-index: 1000; /*display: none;*/ }
#loader .wrapper { height: 100%; background: #eae9e5; }
#loader p { margin-bottom: 20px; font-size: 15px; }
#loader p.text_loading { font-size: 20px; font-weight: 800; }

    
/*
------------------------------
	COPYRIGHT and AUTHOR
------------------------------
*/
#fixed_elements { width: 100%; height: 100vh; left: 0; top: 0; position: fixed; z-index: 1; }
#fixed_elements .element { top: 50%; font-size: 15px; color: #999; position: absolute; }
#fixed_elements .element a { text-decoration: underline; color: #666; }
#fixed_elements .copyright { left: 25px; -ms-transform: translateX(-50%) rotate(-90deg); -webkit-transform: translateX(-50%) rotate(-90deg); transform: translateX(-50%) rotate(-90deg); }
#fixed_elements .author { right: 25px; -ms-transform: translateX(50%) rotate(90deg); -webkit-transform: translateX(50%) rotate(90deg); transform: translateX(50%) rotate(90deg); }


/*
----------------
	RWD MENU
----------------
*/
#rwd_menu { }


/*
-----------------
	SECTIONS
-----------------
*/
#fullpage { position: relative; z-index: 2; }
#fullpage .section { min-height: 100vh; }

#fp-nav { width: 50px; height: 40%; top: 30%; right: 100px; margin-top: 0 !important; position: fixed; z-index: 100; }
#fp-nav ul { width: 100%; top: 50%; position: relative; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }
#fp-nav ul li { width: 100%; margin: 10px 0; text-align: center; }
#fp-nav ul li a { width: 12px; height: 12px; background: #222; display: inline-block; opacity: 0.3; -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; }
#fp-nav ul li a.active { opacity: 1; }


/*
-------------
	HOME
-------------
*/
#home { padding: 50px 0; }
#home .wrapper { width: 100%; height: 100%; height: calc(100vh - 100px); background: #eae9e5; position: relative; overflow: hidden; }

/* Logo */
#home .wrapper .logo { height: 50px; padding: 0 20px; left: -250px; top: 30px; font-size: 20px; font-weight: 800; color: #feca23; line-height: 50px; background: #242528; position: absolute; }
body.loaded #home .wrapper .logo { left: 50px; }

/* H1 tag */
#home .wrapper h1 { max-width: 600px; top: 15%; margin: auto; font-size: 80px; font-weight: 800; color: #242528; line-height: 130%; position: relative; z-index: 2; }
#home .wrapper h1 span { top: 30px; display: inline-block; position: relative; opacity: 0; -webkit-transition-delay: 0s; -moz-transition-delay: 0s; transition-delay: 0s; -o-transition-delay: 0s; }
#home .wrapper h1 span:after { width: 0; height: 2px; left: 0; bottom: 0; background: #242528; position: absolute; content: ''; -webkit-transition: all 0.5s ease-out; -moz-transition: all 0.5s ease-out; -o-transition: all 0.5s ease-out; transition: all 0.5s ease-out; }

body.loaded #home .wrapper h1 span { top: 0; opacity: 1; -webkit-transition-delay: 1s; -moz-transition-delay: 1s; transition-delay: 1s; -o-transition-delay: 1s; }
body.loaded #home .wrapper h1 span:nth-child(2) { -webkit-transition-delay: 1.2s; -moz-transition-delay: 1.2s; transition-delay: 1.2s; -o-transition-delay: 1.2s; }
body.loaded #home .wrapper h1 span:nth-child(3) { -webkit-transition-delay: 1.4s; -moz-transition-delay: 1.4s; transition-delay: 1.4s; -o-transition-delay: 1.4s; }
body.loaded #home .wrapper h1 span:nth-child(4) { -webkit-transition-delay: 1.6s; -moz-transition-delay: 1.6s; transition-delay: 1.6s; -o-transition-delay: 1.6s; }
body.loaded #home .wrapper h1 span:nth-child(5) { -webkit-transition-delay: 1.8s; -moz-transition-delay: 1.8s; transition-delay: 1.8s; -o-transition-delay: 1.8s; }

body.loaded #home .wrapper h1 span:after { width: 100%; -webkit-transition-delay: 2s; -moz-transition-delay: 2s; transition-delay: 2s; -o-transition-delay: 2s; }
body.loaded #home .wrapper h1 span:nth-child(2):after { -webkit-transition-delay: 2.3s; -moz-transition-delay: 2.3s; transition-delay: 2.3s; -o-transition-delay: 2.3s; }
body.loaded #home .wrapper h1 span:nth-child(3):after { -webkit-transition-delay: 2.6s; -moz-transition-delay: 2.6s; transition-delay: 2.6s; -o-transition-delay: 2.6s; }
body.loaded #home .wrapper h1 span:nth-child(4):after { -webkit-transition-delay: 2.9s; -moz-transition-delay: 2.9s; transition-delay: 2.9s; -o-transition-delay: 2.9s; }
body.loaded #home .wrapper h1 span:nth-child(5):after { -webkit-transition-delay: 3.2s; -moz-transition-delay: 3.2s; transition-delay: 3.2s; -o-transition-delay: 3.2s; }

/* Languages and phone */
#home .wrapper .alt_languages { width: 100%; left: 0; top: 100px; position: absolute; }
#home .wrapper .alt_languages ul.language-chooser li { width: 100%; text-align: center; }
#home .wrapper .alt_languages ul.language-chooser li.active { display: none; }
#home .wrapper .alt_languages ul.language-chooser li a { height: 30px; padding-left: 25px; color: #000; line-height: 30px; background-position: left center; display: inline-block; }
#home .wrapper .alt_languages ul.language-chooser li a span { height: 100%; display: inline-block; }

#home .wrapper .alt_languages ul.switcher-list li { width: 100%; text-align: center; }
#home .wrapper .alt_languages ul.switcher-list li.active { display: none; }
#home .wrapper .alt_languages ul.switcher-list li a { height: 30px; padding-left: 25px; color: #000; line-height: 30px; background-position: left center; display: inline-block; }
#home .wrapper .alt_languages ul.switcher-list li a span { height: 100%; display: inline-block; }

#home .wrapper .phone { height: 50px; padding-right: 70px; font-size: 20px; color: #242528; line-height: 50px; display: inline-block; position: relative; }
#home .wrapper .phone:hover { color: #000; }
#home .wrapper .phone:after { width: 50px; height: 50px; right: 0; top: 0; background: #feca23 url(images/icon_phone.png) no-repeat center; position: absolute; content: ''; }

#home .wrapper .languages__phone ul.language-chooser { width: 50px; height: 50px; text-transform: uppercase; display: inline-block; }
#home .wrapper .languages__phone ul.language-chooser li { width: 50px; height: 50px; }
#home .wrapper .languages__phone ul.language-chooser li.active { display: none; }
#home .wrapper .languages__phone ul.language-chooser li a { height: 100%; text-align: center; color: white; line-height: 50px; background: #242528; display: block; }
#home .wrapper .languages__phone ul.language-chooser li a:hover { background: #000; }

#home .wrapper .languages__phone ul.switcher-list { width: 50px; height: 50px; text-transform: uppercase; display: inline-block; }
#home .wrapper .languages__phone ul.switcher-list li { width: 50px; height: 50px; }
#home .wrapper .languages__phone ul.switcher-list li.active { display: none; }
#home .wrapper .languages__phone ul.switcher-list li a { height: 100%; text-align: center; color: white; line-height: 50px; background: #242528; display: block; }
#home .wrapper .languages__phone ul.switcher-list li a:hover { background: #000; }

#home .wrapper .languages__phone { height: 50px; top: 30px; right: -300px; font-size: 20px; color: #242528; line-height: 50px; position: absolute; z-index: 100; }
body.loaded #home .wrapper .languages__phone { right: 50px; }

/* Product */
#home .product_wrapper { width: 100%; left: 0; bottom: 100px; text-align: center; position: absolute; z-index: 1; }
#home .product_wrapper img { max-width: 100%; }
#home .product_wrapper .product { margin: auto; display: block; position: relative; -webkit-animation: productBounce 1s infinite alternate; -moz-animation: productBounce 1s infinite alternate; -ms-animation: productBounce 1s infinite alternate; -o-animation: productBounce 1s infinite alternate; animation: productBounce 1s infinite alternate; }
#home .product_wrapper .product_shadow { -webkit-animation-name: productShadowBounce; -webkit-animation-iteration-count: infinite; -webkit-animation-direction: alternate; -moz-animation-name: productShadowBounce; -webkit-animation-duration: 1s; -moz-animation-duration: 1s; -moz-animation-iteration-count: infinite; -moz-animation-direction: alternate; }

#home .wrapper .button { width: 250px; bottom: 40px; padding: 0; position: absolute; }


/*
------------------
	ABOUT US
------------------
*/
/* Photo */
#aboutus .wrapper { padding-top: 50px; color: #777; line-height: 30px; }
#aboutus .photo_wrapper { width: 50%; height: 620px; position: relative; }
#aboutus .photo_wrapper .bgr { width: 0; height: 100%; left: 0; top: 0; background: #eae9e5; position: absolute; z-index: 1; }
#aboutus .photo_wrapper .photo { width: 0; height: 400px; left: 20%; top: 110px; background-repeat: no-repeat; background-position: center; position: absolute; z-index: 2; }

#aboutus.active .photo_wrapper .bgr { width: 70%; -webkit-transition-delay: 1s; -moz-transition-delay: 1s; transition-delay: 1s; -o-transition-delay: 1s; }
#aboutus.active .photo_wrapper .photo { width: 70%; -webkit-transition-delay: 1.2s; -moz-transition-delay: 1.2s; transition-delay: 1.2s; -o-transition-delay: 1.2s; }

/* Text */
#aboutus .text_wrapper { width: 50%; padding-right: 10%; height: 620px; }
#aboutus .text_wrapper p { margin-bottom: 20px; }
#aboutus .text_wrapper h2 { margin-bottom: 40px; padding-bottom: 30px; font-size: 80px; font-weight: 600; color: #242528; line-height: 120%; letter-spacing: 10px; position: relative; }
#aboutus .text_wrapper h2:before { width: 300px; height: 60px; left: -30px; bottom: 0; background: url(images/bgr_title.png) repeat-x left bottom; position: absolute; content: ''; z-index: -1; }


/*
------------------
	SERVICES
------------------
*/
/* Photo */
#services .wrapper { padding-top: 50px; color: #777; line-height: 30px; }
#services .photo_wrapper { width: 50%; height: 620px; position: relative; }
#services .photo_wrapper .bgr { width: 0; height: 100%; right: 0; top: 0; background: #eae9e5; position: absolute; z-index: 1; }
#services .photo_wrapper .photo { width: 0; height: 400px; right: 20%; top: 110px; background-repeat: no-repeat; background-position: center; position: absolute; z-index: 2; }

#services.active .photo_wrapper .bgr { width: 70%; -webkit-transition-delay: 1s; -moz-transition-delay: 1s; transition-delay: 1s; -o-transition-delay: 1s; }
#services.active .photo_wrapper .photo { width: 70%; -webkit-transition-delay: 1.2s; -moz-transition-delay: 1.2s; transition-delay: 1.2s; -o-transition-delay: 1.2s; }

/* Text */
#services .text_wrapper { width: 50%; height: 620px; padding: 0 5%; }
#services .text_wrapper p { margin-bottom: 20px; }
#services .text_wrapper strong { color: #444; }
#services .text_wrapper h2 { margin-bottom: 40px; padding-bottom: 30px; font-size: 80px; font-weight: 600; color: #242528; line-height: 120%; letter-spacing: 10px; position: relative; }
#services .text_wrapper h2:before { width: 300px; height: 60px; left: -30px; bottom: 0; background: url(images/bgr_title.png) repeat-x left bottom; position: absolute; content: ''; z-index: -1; }


/*
----------------------
	SERVICE LIST
----------------------
*/
#service_list { padding-top: 50px; }
#service_list .wrapper { background: #eae9e5 url(images/bgr_service_list.png) no-repeat right center; position: relative; }
#service_list h2 { left: 7%; top: -100px; font-size: 80px; font-weight: 600; color: #242528; line-height: 120%; letter-spacing: 10px; position: absolute; }
#service_list .articles { padding: 0 6%; }
#service_list .articles article { width: 21%; margin: 0 6%; background: white; float: left; position: relative; }
#service_list .articles article:first-child, 
#service_list .articles article:nth-child(3n) { top: 30px; }

#service_list .articles article .title { height: 90px; position: relative; }
#service_list .articles article .title h3 { left: -80px; bottom: 0; font-size: 25px; font-weight: 600; color: #242528; line-height: 120%; letter-spacing: 5px; position: absolute; }
#service_list .articles article .entry { padding: 30px 40px; padding-bottom: 0; line-height: 30px; }
#service_list .articles article .entry strong { color: #242528; }
#service_list .articles article .entry ul { margin-bottom: 30px; }
#service_list .articles article .entry ul li { padding-left: 40px; position: relative; }
#service_list .articles article .entry ul li:before { width: 0; height: 1px; left: 0; top: 15px; background: #242528; position: absolute; content: ''; }

#service_list.active .articles article .entry ul li:before { width: 30px; -webkit-transition-delay: 1s; -moz-transition-delay: 1s; transition-delay: 1s; -o-transition-delay: 1s; }
#service_list.active .articles article .entry ul li:nth-child(2):before { -webkit-transition-delay: 1.2s; -moz-transition-delay: 1.2s; transition-delay: 1.2s; -o-transition-delay: 1.2s; }
#service_list.active .articles article .entry ul li:nth-child(3):before { -webkit-transition-delay: 1.6s; -moz-transition-delay: 1.6s; transition-delay: 1.6s; -o-transition-delay: 1.6s; }
#service_list.active .articles article .entry ul li:nth-child(4):before { -webkit-transition-delay: 1.8s; -moz-transition-delay: 1.8s; transition-delay: 1.8s; -o-transition-delay: 1.8s; }
#service_list.active .articles article .entry ul li:nth-child(5):before { -webkit-transition-delay: 2s; -moz-transition-delay: 2s; transition-delay: 2s; -o-transition-delay: 2s; }
#service_list.active .articles article .entry ul li:nth-child(6):before { -webkit-transition-delay: 2.2s; -moz-transition-delay: 2.2s; transition-delay: 2.2s; -o-transition-delay: 2.2s; }
#service_list.active .articles article .entry ul li:nth-child(7):before { -webkit-transition-delay: 2.4s; -moz-transition-delay: 2.4s; transition-delay: 2.4s; -o-transition-delay: 2.4s; }
#service_list.active .articles article .entry ul li:nth-child(8):before { -webkit-transition-delay: 2.6s; -moz-transition-delay: 2.6s; transition-delay: 2.6s; -o-transition-delay: 2.6s; }
#service_list.active .articles article .entry ul li:nth-child(9):before { -webkit-transition-delay: 2.8s; -moz-transition-delay: 2.8s; transition-delay: 2.8s; -o-transition-delay: 2.8s; }
#service_list.active .articles article .entry ul li:nth-child(10):before { -webkit-transition-delay: 3s; -moz-transition-delay: 3s; transition-delay: 3s; -o-transition-delay: 3s; }

#service_list .read_more { right: 13%; bottom: 0; position: absolute; }


/*
-----------------
	CONTACT
-----------------
*/
#contact { background: #242528; position: relative; }
#contact .content { width: 75%; height: 100%; left: 0; top: 0; color: #c8cbca; line-height: 30px; position: absolute; z-index: 2; background: -moz-linear-gradient(left,  rgba(36,37,40,1) 0%, rgba(36,37,40,1) 40%, rgba(36,37,40,0) 100%); background: -webkit-linear-gradient(left,  rgba(36,37,40,1) 0%,rgba(36,37,40,1) 40%,rgba(36,37,40,0) 100%); background: linear-gradient(to right,  rgba(36,37,40,1) 0%,rgba(36,37,40,1) 40%,rgba(36,37,40,0) 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#242528', endColorstr='#00242528',GradientType=1 ); }
#contact .content a { text-decoration: underline; color: #c8cbca; }
#contact .content a:hover { color: white; }
#contact .content p { margin-bottom: 20px; }
#contact .content h3 { margin-bottom: 20px; font-size: 25px; font-weight: 800; }
#contact .content h2 { margin-bottom: 40px; font-size: 80px; font-weight: 600; color: white; line-height: 120%; letter-spacing: 10px; }
#contact #map_canvas { width: 100%; height: 100%; left: 0; top: 0; position: absolute; z-index: 1; }


/*
-------------
	PAGES
-------------
*/
#page .wrapper { height: auto !important; padding: 100px; color: #242528; line-height: 30px; background: #eae9e5; }
#page .wrapper p { margin-bottom: 20px; }

#page .wrapper h2 { margin-bottom: 30px; font-size: 40px; }
#page .wrapper h3 { margin-bottom: 10px; font-size: 25px; font-weight: bold; }

#page .wrapper ul { margin-left: 40px; margin-bottom: 20px; }
#page .wrapper ul li { list-style: square; }

#page .wrapper table { width: 100%; margin-bottom: 20px; text-align: left; border-spacing: 0; border-collapse: collapse; }
#page .wrapper table thead th { padding: 10px; font-size: 12px; text-transform: uppercase; line-height: 15px; border-bottom: 2px solid #242528; }
#page .wrapper table tbody td { padding: 10px; font-size: 15px; line-height: 18px; border-bottom: 1px solid #242528; }


/*
-------------------
	KEYFRAMES
-------------------
*/
@-webkit-keyframes productShadowBounce {
	from {
		-webkit-transform: scale(1);
	} to {
		-webkit-transform: scale(0.9);
	}
}

@-moz-keyframes productShadowBounce {
	from {
		-moz-transform: scale(1);
	} to {
		-moz-transform: scale(0.9);
	}
}

@-webkit-keyframes productBounce {
	from {
		top: 0;
	} to {
		top: -10px;
	}
}

@-moz-keyframes productBounce {
	from {
		top: 0;
	} to {
		top: -10px;
	}
}


/*
-----------------------------------------------
	GO FULL WIDTH AT LESS THAN 1680 PIXELS
-----------------------------------------------
*/
@media only screen and (max-width: 1680px) {
	
	/* HOME: Product */
	#home .product_wrapper { padding: 0 10%; }
}

@media only screen and (max-width: 1440px) {
	
	/* HOME: H1 tag */
	#home .wrapper h1 { font-size: 70px; }
	
	/* ABOUT US */
	#aboutus.active .photo_wrapper .photo { width: 80%; left: 10%; }
	#aboutus .text_wrapper { padding-right: 0; }
	#aboutus .text_wrapper h2 { font-size: 60px; }
	
	/* SERVICE LIST */
	#service_list h2 { font-size: 70px; }
	#service_list .articles article { width: 25%; margin: 0 4%; }
	#service_list .articles article .title { height: 70px; }
	#service_list .articles article .title h3 { left: -50px; font-size: 20px; }
	#service_list .articles article .entry { padding: 20px 30px; }
	#service_list .articles article .entry ul { margin-bottom: 20px; }
	#service_list .articles article .entry ul li { padding-left: 30px; }
	#service_list.active .articles article .entry ul li:before { width: 20px; }
}

@media only screen and (max-width: 1200px) {
	
	/* DEFAULT */
	.fp-section,
	.fp-slide,
	.fp-tableCell
	{ height: auto !important; }
	
	/* HOME: H1 tag */
	#home .wrapper h1 { font-size: 7vw; }
	
	/* SERVICE LIST */
	#service_list h2 { left: 7%; top: auto; margin-bottom: 30px; font-size: 7vw; position: relative; }
	#service_list .wrapper { height: auto !important; padding: 30px 0; }
	#service_list .vertical_middle { top: auto; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
	#service_list .articles article { width: 100%; margin: 0; margin-bottom: 30px; float: none; }
	#service_list .articles article:first-child, #service_list .articles article:nth-child(3n) { top: 0; }
	
	#service_list .articles article .title { height: auto; padding: 30px; padding-bottom: 0; }
	#service_list .articles article .title h3 { left: auto; bottom: auto; font-size: 25px; position: relative; }
	
	#service_list .read_more { left: 7%; bottom: auto; position: relative; }
}

@media only screen and (max-width: 960px) {
	
	/* DISPLAY: None */
	.hide_in_960 { display: none; }
	
	/* DISPLAY: Block */
	.show_in_960 { display: block !important; }
	
	/* DEFAULT */
	.section .vertical_middle { top: auto; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
	
	/* HOME: H1 tag */
	#home .wrapper h1 { max-width: 400px; font-size: 8vw; }
	
	/* ABOUT US */
	#aboutus .wrapper { height: auto !important; padding-top: 30px; }
	#aboutus .photo_wrapper { width: 100%; height: auto; margin-bottom: 30px; padding: 30px; float: none; }
	#aboutus .photo_wrapper .bgr { height: 70%; }
	#aboutus .photo_wrapper .photo { left: auto; top: auto; position: relative; }
	
	#aboutus.active .photo_wrapper .bgr { width: 100%; height: 70%; }
	#aboutus.active .photo_wrapper .photo { width: 100%; left: auto; }

	#aboutus .text_wrapper { width: 100%; height: auto; padding: 0 30px; float: none; }
	#aboutus .text_wrapper h2 { font-size: 9vw; }
	
	/* SERVICES */
	#services .wrapper { height: auto !important; padding-top: 30px; }
	#services .photo_wrapper { width: 100%; height: auto; margin-bottom: 30px; padding: 30px; float: none; }
	#services .photo_wrapper .bgr { height: 70%; }
	#services .photo_wrapper .photo { right: auto; top: auto; position: relative; }

	#services.active .photo_wrapper .bgr { width: 100%; height: 70%; }
	#services.active .photo_wrapper .photo { width: 100%; right: auto; }

	#services .text_wrapper { width: 100%; height: auto; margin-bottom: 30px; padding: 30px; float: none; }
	#services .text_wrapper h2 { font-size: 9vw; }
	
	/* PAGES */
	#page .wrapper { padding: 75px; }
	
	/* CONTACT */
	#contact .content { width: 100%; height: auto; left: auto; top: auto; padding: 30px 0; position: relative; background: none; }
	#contact .content { width: 100%; height: auto; left: auto; top: auto; padding: 30px 0; position: relative; background: none; }
	#contact .content h2 { margin-bottom: 30px; font-size: 9vw; }
	#contact #map_canvas { height: 400px; left: auto; top: auto; position: relative; }
}

@media only screen and (max-width: 768px) {
	
	/* DISPLAY: None */
	.hide_in_768 { display: none; }
	
	/* DISPLAY: Block */
	.show_in_768 { display: block !important; }
	
	/* DEFAULT */
	body { padding: 0; }
	
	/* LOADER */
	#loader { height: 100%; height: 100vh !important; padding: 0; }
	#loader .wrapper { height: 100% !important; }
	
	/* HOME */
	#home { padding: 0; }
	#home .wrapper { height: 100%; height: 100vh !important; }
	
	/* HOME: Logo */
	body.loaded #home .wrapper .logo { width: 250px; left: 50%; padding: 0; text-align: center; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); }
	
	/* HOME: H1 tag */
	#home .wrapper h1 { top: 25%; font-size: 9vw; }
	
	/* ABOUT US */
	#aboutus.active .photo_wrapper .bgr { -webkit-transition-delay: 0s; -moz-transition-delay: 0s; transition-delay: 0s; -o-transition-delay: 0s; }
	#aboutus.active .photo_wrapper .photo { -webkit-transition-delay: 0.2s; -moz-transition-delay: 0.2s; transition-delay: 0.2s; -o-transition-delay: 0.2s; }
	
	/* SERVICES */
	#services.active .photo_wrapper .bgr { -webkit-transition-delay: 0s; -moz-transition-delay: 0s; transition-delay: 0s; -o-transition-delay: 0s; }
	#services.active .photo_wrapper .photo { -webkit-transition-delay: 0.2s; -moz-transition-delay: 0.2s; transition-delay: 0.2s; -o-transition-delay: 0.2s; }
	
	/* PAGES */
	#page .wrapper { padding: 50px; }
}

@media only screen and (max-width: 640px) {
	
	/* DISPLAY: None */
	.hide_in_640 { display: none; }
	
	/* HOME: H1 tag */
	#home .wrapper h1 { top: 30%; font-size: 10vw; }
	
	/* ABOUT US */
	#aboutus .photo_wrapper .photo { height: 300px; }
	
	/* SERVICES */
	#services .photo_wrapper .photo { height: 300px; }
	
	/* PAGES */
	#page .wrapper { padding: 30px; }
}

@media only screen and (max-width: 480px) {
	
	/* ABOUT US */
	#aboutus .photo_wrapper .photo { height: 200px; }
	#aboutus .text_wrapper h2 { letter-spacing: 7px; }
	
	/* SERVICES */
	#services .photo_wrapper .photo { height: 200px; }
	#services .text_wrapper h2 { letter-spacing: 7px; }
	
	/* SERVICE LIST */
	#service_list h2 { letter-spacing: 7px; }
	
	/* PAGES */
	#page .wrapper { padding: 20px; }

	/* CONTACT */
	#contact .content h2 { letter-spacing: 7px; }	
}