/* -----------------------------------------------------------------------
    Responsive
-------------------------------------------------------------------------- */
	
@media only screen and (min-width: 1400px) and (max-width: 1599px) {
	
	#global-header h2 { margin-left: 60px; }
	#header-contact a { font-size: 20px; }
	
}

@media only screen and (min-width: 1200px) and (max-width: 1399px) {
	
	#logo { width: 240px; padding: 26px 0 10px 0; }
	
	#global-header h2 { margin: 46px 0 0 55px; font-size: 15px; }
	
	#header-contact li { line-height: 109px; }
	#header-contact a { padding: 0 30px; font-size: 19px; }
	#header-contact a#header-fb { padding: 0 44px; }
	
	.service a { padding-bottom: 20px; }
	.service img { margin-bottom: 15px; }
	.service h3 { font-size: 20px; }
	
	#footer-contact { margin-right: 60px; }
	#footer-branding { width: 38%; }
	#footer-details .col-last { width: 58%; }
		
}

@media only screen and (min-width: 980px) and (max-width: 1199px) {	
	
	body { font-size: 18px; }
	h1 { font-size: 32px; }
	h2 { font-size: 28px; }
	h3 { font-size: 24px; }
	blockquote { max-width: 840px; }
	blockquote p { font-size: 21px; }
	.kicker { font-size: 20px; }
	.success { font-size: 22px; }
	.success br { display: block; }
	.button { font-size: 17px; }
	
	.page-section { padding: 50px 0 60px 0; }
	.cta .page-section { width: 760px; -webkit-background-size: 120px 160px; -moz-background-size: 120px 160px; -o-background-size: 120px 160px; background-size: 120px 160px; }
	.cta span { font-size: 34px; }
	
	#logo { padding: 18px 0 12px 0; }
	#header-logo { display: none; }
	#header-logo-strapline { display: block; }
	
	#global-header h2 { clip: rect(1px, 1px, 1px, 1px); width: 1px; height: 1px; overflow: hidden; position: absolute !important; }
	
	#header-contact a { font-size: 20px; }
	
	#menu-main-navigation { overflow: hidden; display: table; margin: 0 auto; }
	#menu-main-navigation > li { float: left; }
	#menu-main-navigation > li > a { font-size: 15px; padding: 14px 18px; }
	
	#main-content { padding-top: 40px; }
	
	#home-intro { background-position: 695px top; width: 980px; margin: 0 auto; -webkit-background-size: 310px 378px; -moz-background-size: 310px 378px; -o-background-size: 310px 378px; background-size: 280px 341px; }
	#home-intro #home-kicker { font-size: 40px; }
	#home-intro h1 { font-size: 24px; }
	#home-intro p { font-size: 19px; padding-right: 0; }
	
	.service h3 { font-size: 16px; padding: 0 15px; }
	
	#timelapse-promo { width: 980px; margin: 0 auto; }
	#timelapse-promo p { font-size: 19px; }
	.protectus-video-wrapper { padding-bottom: 55.6%; }
	
	.button-group .button { font-size: 15px; }
	
	.sidebar-feature { padding: 25px 20px; }
	.sidebar-feature h4 { font-size: 20px; }
	.sidebar-feature p { font-size: 14px; }
	
	#footer-branding { width: 31%; }
	#footer-details .col-last { width: 64%; }
	#footer-meta { font-size: 14px; clear: both; margin-left: 0; }
	#footer-contact { text-align: left; padding-top: 9px; }
	#footer-contact li:first-child { margin-left: 20px; }

}

@media only screen and (max-width: 979px) {
	
	#masthead { position: relative; background-color: #000; }
	
	#header-contact li { float: none; text-align: right; border: none; }
	#header-contact a { padding: 0; font-weight: 400; display: inline-block; }
	#header-contact a:before { display: none; }
	#header-contact a#header-fb { display: none; }
	
	#main-nav { width: 100%; }
	#menu-main-navigation { display: none; }
    #responsive-nav { display: block; width: 100%; position: relative; z-index: 5; }
    .slicknav_menu { position: relative; z-index: 10000; }
	.slicknav_btn { position: relative; display: block; overflow: hidden; cursor: pointer; text-decoration: none; padding: 12px 0; background-color: #424242; font-size: 20px; font-weight: 600; clear: both; letter-spacing: 2px; }
	.slicknav_menu { background: transparent; *zoom: 1; margin-bottom: 0; }
	.slicknav_menutxt, .slicknav_icon { display: block; float: left; }
	.slicknav_menutxt { color: #fff; }
	.slicknav_icon { float: left; margin: 9px 0 0 10px; }
	.slicknav_icon-bar { background-color: #fff; display: block; width: 1.1em; height: 0.11em; }
	.slicknav_btn .slicknav_icon-bar + .slicknav_icon-bar { margin-top: 0.19em }
	.slicknav_nav { clear: both; margin: 0 0 5px 0; padding: 5px 0; }
	.slicknav_nav, .slicknav_nav ul { list-style: none; overflow: hidden; background-color: #222; }
	.slicknav_nav ul { padding: 0; margin: 0; list-style: none; }
	.slicknav_nav li { display: block; margin: 0; font-size: 18px; border-bottom: 1px solid #424242; background-color: #222; }
	.slicknav_nav li:last-child { border-bottom: none; }
	.slicknav_nav .slicknav_arrow { font-size: 0.8em; margin: 0 0 0 0.4em; }
	.slicknav_nav .slicknav_item { display: block; cursor: pointer; padding: 14px 0; }
	.slicknav_nav a { display: block; padding: 14px 0; text-decoration: none; color: #fff; }
	.slicknav_nav .slicknav_item a { display: inline; padding: 0; margin: 0; }
	.slicknav_nav a:hover,
	.slicknav_nav a:active,
	.slicknav_nav li.current-menu-item a { color: #00aae0; }
	.slicknav_nav li.current-menu-item a { font-weight: 700; }
	.slicknav_nav .slicknav_txtnode { margin-left: 15px; }
	.slicknav_menu:before,
	.slicknav_menu:after { content: " "; display: table; }
	.slicknav_menu:after { clear: both }
	
	#home-intro { margin-bottom: 0; }
	
	#content { border-bottom: 5px solid #d4d4d4; padding-bottom: 20px; }
	
}
	
/* Tablet Portrait size to Tablet Landscape (devices and browsers) */
@media only screen and (min-width: 768px) and (max-width: 979px) {
	
	.container { padding: 0; }
    .container-1400,
	.container-1260 { width: 720px; }
	
	body { font-size: 18px; }
	h1 { font-size: 32px; }
	h2 { font-size: 28px; }
	h3 { font-size: 24px; }
	h4 { font-size: 20px; }
	h5 { font-size: 18px; }
	blockquote { max-width: 620px; }
	blockquote p { font-size: 19px; }
	.kicker { font-size: 20px; line-height: 28px; }
	.success { font-size: 22px; }
	.success br { display: block; }
	.button { font-size: 16px; }
	
	fieldset { padding: 20px; }
	label,
	div.wpcf7-response-output,
	input[type="text"], input[type="email"], input[type="submit"], select, textarea { font-size: 16px; }
	input[type="text"], input[type="email"] { width: 100%; }
	
	.page-section { padding: 50px 0 60px 0; }
	.page-section .col-three-fifth,
	.page-section .col-two-fifth { width: 48%; }
	.cta .page-section { width: 720px; -webkit-background-size: 120px 160px; -moz-background-size: 120px 160px; -o-background-size: 120px 160px; background-size: 120px 160px; }
	.cta span { font-size: 34px; margin-bottom: 30px; }
	
	#logo { padding-top: 0; padding-bottom: 15px; }
	#header-logo { display: none; }
	#header-logo-strapline { display: block; }
	
	#global-header h2 { clip: rect(1px, 1px, 1px, 1px); width: 1px; height: 1px; overflow: hidden; position: absolute !important; }
	
	#header-contact { position: relative; top: -5px; margin: 18px 0 15px 0; }
	#header-contact li { line-height: 24px; }
	#header-contact a { font-size: 16px; }
	#header-contact #header-phone { padding-top: 0; }
	#header-contact #header-phone br { display: block; }
	#header-contact #header-phone a { font-size: 17px; line-height: 1; }
	#header-contact a#header-fb { font-size: 24px; width: 30px; line-height: 30px; margin-top: 5px; }
	
	.slicknav_btn,
	.slicknav_nav li { width: 720px; margin: 0 auto; }
	
	#main-content { padding-top: 30px; }
	
	#home-intro { background-position: 460px 20px; -webkit-background-size: 310px 378px; -moz-background-size: 310px 378px; -o-background-size: 310px 378px; background-size: 280px 341px; }
	#home-intro .col-two-third { margin-bottom: 20px; width: 56%; }
	#home-intro #home-kicker { font-size: 32px; }
    #home-intro h1 { font-size: 24px; padding-right: 30px; }
    #home-intro p { font-size: 20px; padding: 0; }
    
    .service img { margin-bottom: 10px; }
    .service h3 { padding: 0 10px; font-size: 18px; }
    .service a { padding-bottom: 15px; }
    .service .button { font-size: 14px; padding: 12px 16px; }
    .button .button-icon { font-size: 40px; top: -6px; }
    .button-group .button { margin-bottom: 20px; }
    
    #industrial-promo p { font-size: 17px; }
    #timelapse-promo h3 { font-size: 26px; }
	.protectus-video-wrapper { padding-bottom: 55.5%; }
	
	#content,
	#sidebar-right { width: 100%; }
	
	#testimonials h2 { font-size: 32px; }
	
	#sidebar-right .button,
	.sidebar-feature { width: 280px; }
	#sidebar-right .button { margin: 0 auto 80px auto; }
	.sidebar-feature { margin: 0 auto 20px auto; }
	
	#footer-details { font-size: 14px; }
	#footer-details .col-half { width: 100%; }
	#footer-logos { padding-bottom: 40px; }
	#lbp { width: 80px; }
	#site-safe { width: 146px; }
	#asbestoswise { width: 150px; }
	#sitewise { width: 151px; }
	#footer-logo { width: 120px; margin-top: 2px; }
	#footer-meta { font-size: 13px; margin: 7px 0 0 30px; }
	#footer-contact { padding-top: 10px; text-align: left; font-size: 17px; }
	#footer-contact li { margin: 0 50px 0 0; }
	#footer-contact li:first-child { margin-left: 0; }
	#footer-contact li:last-child { line-height: 35px; }
	#footer-contact #footer-fb { width: 30px; font-size: 21px; }
	
    #back-to-top { right: 20px; bottom: 20px; }
		
}

@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; }
	
	.container-1400,
	.container-1260 { padding: 0; }
	
	.page-section .col-three-fifth,
	.page-section .col-two-fifth { margin-bottom: 20px !important; }
	.cta .page-section { width: auto; background-image: none; }
	
	#global-header { min-height: 1px; }
	
	#header-phone a span { display: inline-block; border-bottom: 1px solid #fff; line-height: 1.2; }
	
	#home-intro { margin-top: 0; }
	
	#sidebar-right { text-align: center; } 
	#sidebar-right .button { display: inline-block; }
	
	#footer-contact li { display: block; margin: 0 0 5px 0; }
	#footer-contact #footer-fb { margin-top: 6px; width: 30px; font-size: 21px; }
	
	#footer-details .col-half { margin-bottom: 10px !important; }
	#footer-logo { width: 145px; margin: 0 auto; display: block; float: none; }
	#footer-meta { display: none; }
	#footer-contact { text-align: center; }
    
}

/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
@media only screen and (min-width: 480px) and (max-width: 767px) {
	
	.container-1400,
	.container-1260 { width: 440px; }
	
	body { font-size: 17px; line-height: 1.6; }
	h1 { font-size: 26px; }
	h2 { font-size: 22px; }
	h3 { font-size: 20px; }
	h4 { font-size: 18px; }
	blockquote { max-width: 370px; }
	blockquote p { font-size: 18px; }
	blockquote span { left: -35px; font-size: 50px; }
	blockquote span:last-of-type { right: -35px; }
	.kicker { font-size: 18px; }
	
	label,
	div.wpcf7-response-output,
    input[type="submit"] { font-size: 17px; }
    input[type="text"], input[type="email"] { width: 80%; }
	input[type="text"], input[type="email"], select, textarea { font-size: 16px; padding: 8px 12px; }
    
    .page-section { padding: 40px 0; }
    .cta span { font-size: 30px; }
    
	#logo { width: 265px; padding: 0 0 15px 0; position: relative; z-index: 10; }
	#header-logo { display: none; }
	#header-logo-strapline { display: block; }
	
	#global-header h2 { clip: rect(1px, 1px, 1px, 1px); width: 1px; height: 1px; overflow: hidden; position: absolute !important; }
	
    #header-contact { position: relative; top: -5px; margin: 20px 0; }
	#header-contact li { line-height: 20px; }
	#header-contact a { font-size: 14px; }
	#header-contact #header-phone { padding-top: 0; }
	#header-contact #header-phone br { display: block; }
	#header-contact #header-phone a { font-size: 15px; line-height: 1; }
	#header-contact #header-email a { border-bottom: 1px solid #fff; }
	#header-contact a#header-fb { font-size: 20px; width: 25px; line-height: 25px; margin-top: 10px; }
	
	.slicknav_btn,
	.slicknav_nav a { width: 440px; margin: 0 auto; }
	
    #main-content { padding-top: 30px; }
	
	.header-image { margin: 0 0 15px 0; }
    
    #home-intro #home-kicker { font-size: 30px; }
    #home-intro h1 { font-size: 24px; }
    #home-intro p { font-size: 18px; }
    
    #home-services { margin-bottom: 20px; }
    .service { width: 48%; float: left; margin-right: 4%; margin-bottom: 20px !important; }
    .service.tablet-last,
    .service.col-last { margin-right: 0; }
    .service a { padding-bottom: 20px; }
    .service img { margin-bottom: 10px; }
    .service h3 { padding: 0 10px; font-size: 18px; }
    .service .button { font-size: 15px; }
    
    #timelapse-promo h3 { font-size: 24px; }
	
    .animate-float:hover, .animate-float:focus, .animate-float:active { background-color: #fff; -webkit-transform: translateY(-5px); -moz-transform: translateY(-5px); transform: translateY(-5px); }
    .button-group .button { margin: 0 10px 20px 0; font-size: 14px; padding: 13px; }
    .button .button-icon { font-size: 44px; top: -10px; }
    
    .ui-accordion h3.ui-accordion-header { font-size: 18px; }
    .ui-accordion h3.ui-accordion-header:after { margin-top: 0; top: 14px; }
    
    #sidebar-right .button,
	.sidebar-feature { margin-bottom: 70px; }
	.sidebar-feature { padding: 25px 20px; }
	.sidebar-feature h4 { font-size: 20px; }
	.sidebar-feature p { font-size: 15px; }
    
    #testimonials h2 { font-size: 28px; }
    
    #footer-logos p { font-size: 16px; }
    
    #back-to-top { right: 15px; bottom: 15px; }
	
}

/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
@media only screen and (max-width: 479px) {
    
    .container-1400,
	.container-1260 { width: 280px; }
	
	body { font-size: 16px; line-height: 1.6; }
	h1 { font-size: 23px; }
	h2 { font-size: 20px; }
	h3 { font-size: 18px; }
	h4 { font-size: 18px; }
	p { margin-bottom: 20px; }
	blockquote { max-width: 270px; }
	blockquote p { font-size: 16px; }
	blockquote span { left: 50%; margin-left: -10px; top: -5px; font-size: 60px; }
	blockquote span:last-of-type { display: none; }
	.kicker { font-size: 17px; }
	.button-group .button { margin-bottom: 15px; }
	
    .page-section { padding: 40px 0; }
    .page-section.cta { padding-top: 30px; }
    .cta span { font-size: 22px; }
    
    fieldset { padding: 20px; }
	label,
	div.wpcf7-response-output,
    input[type="submit"] { font-size: 16px; }
    input[type="text"], input[type="email"] { width: 100%; }
	input[type="text"], input[type="email"], select, textarea { font-size: 15px; padding: 8px 10px; }
	
	#logo { width: 150px; padding-top: 0; }
	
	#global-header .container { position: relative; }
	#global-header h2 { position: absolute; bottom: -20px; left: 0; margin: 0; font-size: 12px; text-align: center; width: 100%; }
	
	#header-contact { position: relative; top: -6px; margin: 15px 0 38px 0; }
	#header-contact li { line-height: 18px; }
	#header-contact #header-phone { padding-top: 0; }
	#header-contact #header-phone br { display: block; }
	#header-contact #header-phone a { font-size: 13px; }
	#header-contact #header-email { display: none; }
	#header-contact a#header-fb { display: none; }
	
	.slicknav_btn,
	.slicknav_nav a { width: 280px; margin: 0 auto; }
	
	#main-content { padding-top: 25px; }
	
	.header-image { margin: 0 0 10px 0; }
	
	#home-intro #home-kicker { font-size: 22px; }
    #home-intro h1 { font-size: 20px; }
    #home-intro p { font-size: 15px; padding: 0; }
    
    .service a { padding-bottom: 20px; }
    .service img { margin-bottom: 15px; }
    .service h3 { font-size: 22px; margin-bottom: 15px; }
    
    #timelapse-promo h3 { font-size: 20px; }
	
    .ui-accordion h3.ui-accordion-header { font-size: 16px; }
    .ui-accordion h3.ui-accordion-header:after { margin-top: 0; top: 15px; }
    
    #sidebar-right .button { margin-bottom: 70px; }
    .sidebar-feature { padding: 25px 20px; margin-bottom: 50px; }
    .sidebar-feature h4 { font-size: 16px; }
    .sidebar-feature p { font-size: 15px; }
    
    #testimonials h2 { font-size: 18px; }
    
	#footer-logos p { font-size: 15px; }
	#footer-logos li { margin: 0 10px; }
	#lbp { width: 72px; }
	#site-safe { width: 116px; }
	#asbestoswise { width: 116px; }
	#sitewise { width: 117px; }
	
    #back-to-top { right: 10px; bottom: 10px; width: 35px; height: 35px; }
    #back-to-top i { font-size: 22px; line-height: 34px; }

}

.visible-phone { display: none !important; }
.visible-tablet { display: none !important; }
.hidden-desktop { display: none !important; }
.visible-desktop { display: inherit !important; }

@media (min-width: 768px) and (max-width: 979px) {
  .hidden-desktop { display: inherit !important; }
  .visible-desktop { display: none !important ; }
  .visible-tablet { display: inherit !important; }
  .hidden-tablet { display: none !important; }
}

@media (max-width: 767px) {
  .hidden-desktop { display: inherit !important; }
  .visible-desktop { display: none !important; }
  .visible-phone { display: inherit !important; }
  .hidden-phone { display: none !important; }
}