/* -----------------------------------------------------------------------
    Responsive
-------------------------------------------------------------------------- */

@media only screen and (max-width: 1199px) {	
    
    #banner-meta { justify-content: center; }
    
}

@media only screen and (min-width: 980px) and (max-width: 1199px) {	
	
	#slides .badge { width: 80px; height: 80px; }
	
	#hero-header:before { -webkit-box-shadow: inset 0px 150px 100px -100px rgba(0,0,0,.65); -moz-box-shadow: inset 0px 150px 100px -100px rgba(0,0,0,.65); box-shadow: inset 0px 150px 100px -100px rgba(0,0,0,.65); }
	
	blockquote { max-width: 800px; margin: 0 auto; }
	.slick-prev { left: -20px; }
	.slick-next { right: -20px; }
	
	#page-home h1 { max-width: 920px; }
	
	.project-teaser h4 { font-size: 20px; }
	#related-testimonial blockquote p { margin-bottom: 15px; }
	#related-testimonial cite { font-size: 13px; }
	
	#awards { max-width: 580px; }
	
	#back-to-top { right: 20px; bottom: 20px; }
	
}

@media only screen and (max-width: 979px) {
	
	#masthead .container,
	#global-footer { width: 100%; }
	
	.profile-nav .profile-teaser { margin-bottom: 30px; }
	
	#otc-projects img { width: 260px; }
	#otc-projects .btn { font-size: 16px; }
	
	.badge { width: 80px; height: 80px; }
	
	#archipro img { width: 70px; }
	#archipro span { width: 140px; padding-bottom: 34px; }
	
}
	
/* Tablet Portrait size to Tablet Landscape (devices and browsers) */
@media only screen and (min-width: 768px) and (max-width: 979px) {
	
	.container,
	.container-1180 { width: 720px; padding-left: 0; padding-right: 0; }
	.page-section { padding-top: 35px; padding-bottom: 35px; } 
	
	h1 { font-size: 34px; }
	h2 { font-size: 32px; }
	.section-heading { margin-bottom: 40px; }
	.kicker { font-size: 18px; }
	blockquote p { font-size: 20px; margin-bottom: 18px; }
	label { font-size: 15px; }
	
	.play-icon { width: 60px; height: 60px; margin: -30px 0 0 -30px; }
	
	#hero-header:before { -webkit-box-shadow: inset 0px 100px 100px -60px rgba(0,0,0,0.65); -moz-box-shadow: inset 0px 100px 100px -60px rgba(0,0,0,0.65); box-shadow: inset 0px 100px 100px -60px rgba(0,0,0,0.65);}
	#masthead { padding-top: 12px; }
	#logo { width: 120px; }
	
	#menu-main-navigation > li { margin: 0 15px; }
	#menu-main-navigation > li > a { font-size: 16px; }
	#header-login { font-size: 16px; margin-left: 10px; }
	#header-login i { font-size: 13px; }
	
	.slide-badges { bottom: 15px; right: 15px; }
	#slides .badge { width: 70px; height: 70px; }
	
	#gallery li { margin-bottom: 30px; }

	#masthead .container,
	#global-footer { padding-left: 30px; padding-right: 30px; }
	
	#main-content { padding-top: 35px; }
	.single-profile #main-content { padding-top: 150px; }
	
	#page-home h1 { font-size: 30px; max-width: 720px; }
	#page-home .btn { font-size: 16px; padding: 8px 14px; }
	
	#grand-designs-promo p { font-size: 15px; }
	
	#testimonial-list { max-width: 620px; margin: 0 auto; }
	.slick-prev { left: -60px; }
	.slick-next { right: -60px; }
	
	.current-project { font-size: 14px; }
	
	.project-teaser h4 { padding: 15px; font-size: 18px; }
	#project-content.col-two-third { width: 100%; margin: 0 0 40px 0; }
	#related-testimonial { width: 100%; margin: 0 0 20px 0; }
	.all-projects { margin: -10px 0 45px 0; }
    
    .profile-teaser { width: 46%; }
    .profile-nav .profile-teaser { width: 29%; }
	.profile-nav .profile-teaser .profile-name { font-size: 20px; }
	.profile-nav .profile-image { margin-bottom: 10px; }
    
	#contact-details { font-size: 18px; }
	
	#portal-content .wpc_client_files_list .file_item .wpc_filename { width: 490px; }
	#portal-content .wpc_client_files_list .file_item .wpc_filename a { font-size: 13px; }
	
	#otc-projects .btn { font-size: 16px; }
	
	#banner-meta { margin: 0 -30px; }
	
	#awards,
	#archipro { padding: 0 30px; }
	
	#global-footer .col-one-third { width: 34.63%; }
	#global-footer .col-two-third { width: 61.33%; }
	#footer-logos li:first-child { margin-left: 0; }
	#footer-logos li:last-child { margin-right: 0; }
	#logo-lbp {width: 100px;}
	#logo-mb {width: 82px;}
	#logo-hoy { width: 94px; }
	#footer-meta { font-size: 11px; }
	
    #back-to-top { right: 15px; bottom: 15px; }

}

@media only screen and (max-height: 500px) and (min-width: 768px) {

	#slides h1 { display: none; }
	
}

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

    .col-full,
    .col-half,
    .col-one-third,
    .col-two-third,
    .col-one-fourth,
    .col-three-fourth,
    .col-one-fifth,
    .col-two-fifth,
    .col-three-fifth,
    .col-four-fifth,
    .col-one-sixth,
    .col-five-sixth { width: 100%; }

    .col-full,
    .col-half,
    .col-one-third,
    .col-two-third,
    .col-three-fourth,
    .col-one-fourth,
    .col-one-fifth,
    .col-two-fifth,
    .col-three-fifth,
    .col-four-fifth,
    .col-one-sixth,
    .col-five-sixth { margin-right: 0; float: none; }
    
    .col-full,
    .col-half,
    .col-one-third,
    .col-two-third,
    .col-three-fourth,
    .col-one-fourth,
    .col-one-fifth,
    .col-two-fifth,
    .col-three-fifth,
    .col-four-fifth,
    .col-one-sixth,
    .col-five-sixth { margin-bottom: 40px !important; }
	
	.btn, input[type="submit"] { font-size: 16px; padding: 6px 12px 4px 12px; }
	
	.container { padding-left: 0; padding-right: 0; }
	
	#logo { position: absolute; }
	
	.pushy, #mobile-menu-btn { display: block; }
	#mobile-menu-btn { position: absolute; right: 15px; top: 20px; }
	.menu-btn { font-family: 'Khand', sans-serif; font-size: 18px; font-weight: 500; background-color: #4285f4; color: #fff; letter-spacing: 2px; text-transform: uppercase; border: none; padding: 2px 8px 0 8px; } 
	#mobile-menu-navigation { list-style: none; margin: 30px 0 0 0; padding: 0 25px; }
	#main-nav { display: none; }
	.pushy { position: fixed; width: 200px; height: 100%; top: 0; z-index: 9999; background: #303030; overflow: auto; -webkit-overflow-scrolling: touch; /* enables momentum scrolling in iOS overflow elements */ }
	.pushy a { font-family: 'Khand', sans-serif; position: relative; display: inline-block; color: #fff; padding: 5px 0 2px 0; margin-bottom: 10px; font-weight: 500; letter-spacing: 1px; font-size: 20px; text-transform: uppercase; }
	.pushy a:before { content: ""; position: absolute; z-index: -1; left: 0%; right: 100%; bottom: 0; background-color: transparent; height: 3px; -webkit-transition: right 0.2s ease-out; -moz-transition: right 0.2s ease-out; transition: right 0.2s ease-out; -webkit-backface-visibility: hidden; -moz-backface-visibility: hidden; backface-visibility: hidden; }
	.pushy a:hover, .pushy a:focus, .pushy a:active, .pushy li.current-menu-item > a, .single-project .pushy li.menu-item-16 > a { color: #4285f4; }
	.pushy a:hover:before, .pushy a:focus:before, .pushy a:active:before, .pushy li.current-menu-item > a:before, .single-project .pushy li.menu-item-16 > a:before { background-color: #4285f4; right: 0; }
	.pushy.pushy-right { right: 0; }
	.pushy-content { visibility: hidden; }
	.pushy-content #header-login { margin-top: 20px; }
	.pushy-right { -webkit-transform: translate3d(200px, 0, 0); -ms-transform: translate3d(200px, 0, 0); transform: translate3d(200px, 0, 0); }
	.pushy-open-right #mobile-menu-btn, .pushy-open-right .push { -webkit-transform: translate3d(-200px, 0, 0); -ms-transform: translate3d(-200px, 0, 0); transform: translate3d(-200px, 0, 0); }
	.pushy-open-right .pushy { -webkit-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
	.pushy-open-right .pushy-content { visibility: visible; }
	.pushy-open-right #mobile-menu-btn { visibility: hidden; }
	#mobile-menu-btn, .pushy, .push { transition: transform 0.2s cubic-bezier(0.16, 0.68, 0.43, 0.99); }
	.pushy-content { transition: visibility 0.2s cubic-bezier(0.16, 0.68, 0.43, 0.99); }
	.js .site-overlay { display: none; }
	.pushy-open-right .site-overlay { display: block; position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 9998; background-color: rgba(0, 0, 0, 0.5); -webkit-animation: fade 500ms; animation: fade 500ms; }
    
    @keyframes fade {
	  0% { opacity: 0; }
	  100% { opacity: 1; }
	}
	@-webkit-keyframes fade {
	  0% { opacity: 0; }
	  100% { opacity: 1; }
	}
	
	#hero-header { overflow: hidden; }
	#hero-header img { max-width: 200%; width: 150%; margin-left: -25%; }
	
	.current-project { width: 100%; margin: 0 0 30px 0; }
	
	#project-content span { line-height: 1.5; margin-bottom: 15px; }
	#project-content span strong { display: block; }
	#related-testimonial { margin: 0 0 20px 0 !important; }
	
	.profile-meta { margin-bottom: 20px; }
	.profile .profile-image { margin-top: 0; margin-bottom: 20px !important; }
	
	#right-column { margin-bottom: 0 !important; }
	
	#portal-content .wpc_client_files_list .wpc_filelist { margin-bottom: 30px; }
	#portal-content .wpc_client_files_list .wpc_category_line h4 { font-size: 20px; }
	#portal-content .wpc_client_files_list .file_item { padding: 12px 14px; }
	#portal-content .wpc_client_files_list .file_item .wpc_filename { width: 100%; margin-bottom: 8px; }
	#portal-content .wpc_client_files_list .file_item .wpc_filename a { color: #555; text-decoration: underline; }
	#portal-content .wpc_client_files_list .file_item .wpc_filename a:hover,
	#portal-content .wpc_client_files_list .file_item .wpc_filename a:focus,
	#portal-content .wpc_client_files_list .file_item .wpc_filename a:active { color: #3fb0ff; }
	#portal-content .wpc_client_files_list .file_item .wpc_file_actions { float: none; width: 100%; text-align: left; position: relative; top: auto; right: auto; margin-left: -4px; }
	#portal-content .wpc_client_files_list .file_item .wpc_file_actions a { padding: 2px 6px; }
	
	#banner-meta { flex-direction: column; }
	
	#otc-projects { margin-bottom: 30px; }
	#otc-projects p { font-size: 19px; }
	#otc-projects p br { display: none; }
	
	#awards { margin-bottom: 20px; }
	
	#archipro .container { width: 100%; padding-left: 20px; padding-right: 20px; }
	
	#global-footer div { margin-bottom: 0 !important; }
	#global-footer .col-two-third { padding-right: 20px; text-align: center;}
	#global-footer .col-last { text-align: center; }
	#global-footer .btn { margin-bottom: 25px; }
	#footer-logos { text-align: center; margin-bottom: 30px; }
	#footer-contact li:first-child { margin-left: 0; }
	
}

@media only screen and (max-height: 390px) {

	#slides .badge { display: none; }

}

@media only screen and (max-width: 560px) {
	
	#slides .badge { display: none; }
	
}

@media only screen and (max-height: 390px) and (min-width: 481px) {
	
	#slides h1 { display: none; }
	
}

/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
@media only screen and (min-width: 480px) and (max-width: 767px) {
	
    .container,
    .container-1180 { width: 440px; }
    .page-section { padding-top: 40px; padding-bottom: 40px; }

    h1 { font-size: 32px; line-height: 1.2; }
	h2 { font-size: 30px; line-height: 1.2; }
    .section-heading { margin-bottom: 50px; }
    .section-heading:after { bottom: -15px; }
    .kicker { font-size: 18px; }
    blockquote p { font-size: 16px; margin-bottom: 15px; }
    cite { font-size: 15px; }
    label { font-size: 15px; }
	input[type="text"], input[type="email"],
	.your-name .wpcf7-not-valid-tip, .your-email .wpcf7-not-valid-tip { max-width: 320px; }
	
	#hero-header:before { -webkit-box-shadow: inset 0px 100px 100px -60px rgba(0,0,0,0.65); -moz-box-shadow: inset 0px 100px 100px -60px rgba(0,0,0,0.65); box-shadow: inset 0px 100px 100px -60px rgba(0,0,0,0.65); }
	#masthead { padding-top: 10px; }
	#logo { width: 120px; left: 15px; }
	
	#slides h1 { font-size: 28px; }
	#slides h1 span { padding: 20px 14px 0px 14px; }
	#slides h1 strong { padding: 20px 15px 16px 14px; }
	#slides a { width: 34px; height: 34px; }
	#slides i { font-size: 14px; line-height: 34px; }
	#slides .scroll { bottom: 10px; }
	
	.slide-badges { bottom: 10px; right: 10px; }
	#slides .badge { width: 60px; height: 60px; margin-left: 8px; }
	
	#main-content { padding-top: 50px; padding-bottom: 30px; }
	.single-profile #main-content { padding-top: 150px; }
	
	#page-home h1 { font-size: 26px; margin-bottom: 30px; }
	
	#gallery li { margin-bottom: 30px !important; }
	
	#testimonial-list { max-width: 360px; margin: 0 auto; }
	.slick-arrow { width: 32px; height: 32px; }
	.slick-prev { left: -50px; }
	.slick-next { right: -50px; }
	.slick-arrow i { font-size: 12px; line-height: 34px; }
	
	.project-teaser { width: 44%; margin: 0 3% 6% 3%; }
	.project-teaser h4 { padding: 15px; font-size: 18px; }
	.related-project:nth-child(3) { display: none; }
    
    .profile-teaser,
    .profile-nav .profile-teaser { width: 46%; }
    .profile-image { margin-bottom: 10px; }
    .profile-teaser .profile-name,
    .profile-nav .profile-teaser .profile-name { font-size: 20px; }
    .profile-teaser .profile-role { font-size: 12px; }
	
	#contact-details { font-size: 18px; }
	
	#portal-content .wpc_client_files_list .wpc_files_search_block { width: 45%; }
	#portal-content .wpc_client_files_list .file_item .wpc_filename a { font-size: 13px; }
	
	#logo-lbp { width: 90px; }
	#logo-mb { width: 75px; }
	#logo-hoy { width: 85px; }
    
    #back-to-top { right: 15px; bottom: 15px; width: 40px; height: 40px; }
    #back-to-top i { font-size: 18px; line-height: 40px; }
	
}

@media only screen and (max-height: 320px) and (max-width: 479px) {
	
	#slides h1 { display: none; }
	
}

/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
@media only screen and (max-width: 479px) {
    
    .container,
    .container-1180 { width: 280px; }
	
	body { font-size: 15px; line-height: 1.6; }
	h1 { font-size: 28px; line-height: 1.1; }
	h2 { font-size: 26px; line-height: 1.1; }
    blockquote p { font-size: 15px; margin-bottom: 15px; }
    cite { font-size: 14px; }
    .section-heading { margin-bottom: 50px; }
    .section-heading:after { bottom: -15px; }
    .kicker { font-size: 16px; }
    .more { font-size: 16px; }
    label { font-size: 14px; }
    input[type="text"], input[type="email"], select, textarea { font-size: 16px; }
	
	.play-icon { width: 60px; height: 60px; margin: -30px 0 0 -30px; }
	
	#slides h1 { font-size: 20px; bottom: 13%; }
	#slides h1 span { padding: 18px 12px 0px 12px; }
	#slides h1 strong { padding: 18px 12px 12px 12px; }
	#slides a { width: 32px; height: 32px; }
	#slides i { font-size: 14px; line-height: 32px; }
	#slides .scroll { bottom: 5px; }
	
	#hero-header:before { -webkit-box-shadow: inset 0px 100px 100px -60px rgba(0,0,0,0.65); -moz-box-shadow: inset 0px 100px 100px -60px rgba(0,0,0,0.65); box-shadow: inset 0px 100px 100px -60px rgba(0,0,0,0.65);}
	
	#logo { width: 100px; left: 10px; }
	
	#main-content { padding-top: 40px; }
	.single-profile #main-content { padding-top: 120px; }
	
	#page-home h1 { font-size: 22px; margin-bottom: 20px; }
	#page-home .secondary { margin-left: 0; clear: both; }
	
	#testimonial-list { padding-bottom: 20px; }
	.slick-arrow { top: auto; bottom: -30px; }
	.slick-prev { left: 80px; }
	.slick-next { right: 80px; }
	
	#gallery li { margin-bottom: 20px !important; }
	
	.project-teaser { width: 100%; margin: 0 0 30px 0; }
	.project-teaser h4 { font-size: 20px; }
	#related-testimonial blockquote p { font-size: 16px; }
	#related-testimonial cite { font-size: 12px; }
	.all-projects { margin: -10px 0 40px 0; }
    
    .profile-teaser { width: 100%; }
    .profile-nav .profile-teaser { width: 46%; }
    .profile-teaser .profile-name { font-size: 24px; }
    .profile-nav .profile-teaser .profile-name { font-size: 18px; }
    .profile-nav .profile-image { margin-bottom: 8px; }
    .profile-teaser .profile-role { font-size: 13px; }
    .profile-meta .profile-role { font-size: 14px; }

	#contact-details { font-size: 17px; }
	
    #captcha { overflow: hidden; width: 160px; border-right: 1px solid #d3d3d3; -webkit-border-top-right-radius: 4px; -webkit-border-bottom-right-radius: 4px; -moz-border-radius-topright: 4px; -moz-border-radius-bottomright: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; height: 76px; padding-top: 0; }
    
    #portal-content .wpc_client_files_list .file_item .wpc_filename a { font-size: 12px; }
	
	#awards .badge { margin: 0 8px 15px 8px; }
    
	#otc-projects img { width: 240px; }
	#otc-projects p { font-size: 17px; }
	
    #footer-logos li { margin: 0 5px; }
    #logo-lbp { width: 60px; }
    #logo-mb { width: 50px; }
	#logo-hoy { width: 56px; }
    #footer-contact { font-size: 13px; }
    #footer-contact li { margin: 0; }
    #footer-meta br { display: block; }    
    
    #back-to-top { right: 10px; bottom: 10px; width: 36px; height: 36px; }
    #back-to-top i { font-size: 16px; line-height: 34px; }

}

@media only screen and (max-width: 329px) {
	
	#slides h1 { font-size: 17px; }
	#slides h1 span { padding: 15px 10px 0px 10px; }
	#slides h1 strong { padding: 15px 10px 12px 10px; }
	
}

@media only screen and (max-width: 279px) {
	
	#slides h1 { display: none; }
	
}