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

/* Desktops under 1200px */

@media only screen and (min-width: 1400px) and (max-width: 1599px) {
    
	#page-title { font-size: 56px; line-height: 60px; margin-bottom: 20px; }
	
	.hero-overlay-wrapper h2 { font-size: 38px; line-height: 42px; }
	.hero-overlay-wrapper p { font-size: 24px; line-height: 30px; }
	
}

@media only screen and (max-width: 1400px) {
	
	#masthead { position: relative; width: auto; clear: both; }
	
}

@media only screen and (min-width: 1200px) and (max-width: 1399px) {
    
	#page-title { font-size: 50px; line-height: 54px; margin-bottom: 15px; }
	
	#slider .bx-controls-direction { absolute; top: 42%; }
	.hero-overlay-wrapper h2 { font-size: 38px; line-height: 42px; }
	.hero-overlay-wrapper p { font-size: 24px; line-height: 30px; }
	
}

@media only screen and (min-width: 980px) and (max-width: 1199px) {
    
    #wrapper { width: 100%; }

    .container { width: 960px; }
	
	#page-title { font-size: 46px; line-height: 50px; margin-bottom: 15px; }
	
	#slider .bx-controls { bottom: 15px; }
	.hero-overlay-wrapper { width: 800px; bottom: 20px; }
	.hero-overlay-wrapper h2 { font-size: 30px; line-height: 38px; }
	.hero-overlay-wrapper p { font-size: 20px; line-height: 28px; }
	
    #google-map { height: 450px; }

}

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

	.container-header { width: 960px; margin: 0 auto; }

}

/* Tablet and Mobile Browsers (devices and browsers) */
@media only screen and (max-width: 979px) {

    #wrapper { width: 100%; }
	
	#content { width: 100%; clear: both; top: 0; }
	
	.container-header { width: 720px;}

}

/* Tablet Portrait size to Tablet Landscape (devices and browsers) */
@media only screen and (min-width: 768px) and (max-width: 979px) {

    .container { width: 720px; }
    
    .content-wrapper { padding-top: 30px; }
	
	#page-header { bottom: 10px; }
	#page-title { font-size: 42px; line-height: 46px; margin-bottom: 0; }
	
    .page-section { padding-top: 40px; }
    
    #section-introduction { border-top: none; }
    
	.kicker { font-size: 26px; line-height: 32px; }
    
    .content-wrap { padding: 20px 0; }
	
	#slider .bx-controls { bottom: 15px; }
	.hero-overlay-wrapper { bottom: 20px; }
	.hero-overlay-wrapper h2 { font-size: 24px; line-height: 28px; margin-bottom: 10px; }
	.hero-overlay-wrapper p { font-size: 18px; line-height: 26px; }
    
    #home-promo { width: 270px; height: 270px; }
	#home-promo div { padding: 30px; }
	#home-promo p { margin-bottom: 10px; font-family: 'Roboto Slab', serif; font-weight: 400; font-size: 20px; line-height: 26px; }
	#home-promo a { font-size: 18px; color: #fff; border-bottom: 1px solid #fff; display: inline-block; padding: 3px 3px 0 3px; }
    
    #page-content.col-two-third { float: none; width: 100%; }
	
	#sidebar-left { border-top: 5px solid #dad6cd; clear: both; width: 100%; }
	.page-id-23 #sidebar-left { border-top: none; border-bottom: 5px solid #dad6cd; padding-bottom: 20px; }
	.page-id-499 #sidebar-left { display: none; }
	#subnav { top: 0; margin-bottom: 50px; }
	#subnav h2 { padding: 25px 0 10px 0; }
	#subnav a { padding: 6px 0; }
	#subnav li.current_page_item a, #subnav li.current-cat a, .events li.cat-item-12 a, .news li.cat-item-11 a { padding: 6px 0 6px 15px; }
    
    #quarry-list { width: 100%; }
    
	.profile-text { padding-top: 0; }
    
    .timeline-wrapper.parallax { background: #fff !important; padding-top: 0 !important; margin-top: -50px; }
	.timeline-date { font-size: 20px; border-top: 4px solid #dad6cd !important; }
	#timeline-3 .timeline-desc { margin-bottom: 0 !important; }
	
	#booking-form .col-two-third, #terms-and-conditions .col-two-third { width: 100%; }
	.page-id-499 #page-content { margin-bottom: 40px; }
	.page-id-499 #page-content p.important { font-size: 26px; }
	
	.article-teaser { margin-bottom: 3.5%; min-height: 345px; max-height: 346px; }
	
    #google-map { height: 360px; }

}

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

    .slider-caption { height: 100px; line-height: 100px; margin-top: -50px; }

    .postcontent,
    .sidebar,
    .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,
    .timeline-desc,
    .timeline-image { width: 100%; margin-right: 0; float: none; margin-bottom: 40px !important; }
    
    .page-section .col-one-third { margin-bottom: 0 !important; }
    .product-feature { margin-bottom: 40px !important; }
    .product-feature:first-child { margin-top: 40px; }

    form .col-full,
    form .col-half,
    form .col-one-third,
    form .col-two-third,
    form .col-three-fourth,
    form .col-one-fourth,
    form .col-one-fifth,
    form .col-two-fifth,
    form .col-three-fifth,
    form .col-four-fifth,
    form .col-one-sixth,
    form .col-five-sixth,
    form .col-last { margin: 0 0 10px 0 !important; }
	
	#menu-main-menu { display:none; }
	#masthead-wrapper { position: relative; }
	#logo { text-align: center; }
    .slicknav_menu { display:block; width: 100%; float: left; clear: both; }

    img.alignleft,
    div.alignleft,
    img.alignnone,
    img.aligncenter,
    div.alignnone,
    div.aligncenter,
    img.alignright,
    div.alignright,
    .wp-caption { display: block !important; float: none; margin: 10px auto; clear: both; }

    .wp-caption img { position: relative; margin: 0 auto !important; }
    .wp-caption { margin: 15px auto; }
    
    label { width: 100%; }
	input[type="submit"] { margin: 10px 0 0 0; }
	div.wpcf7-response-output { margin: 2em 0 1em 0 !important; }
	span.wpcf7-not-valid-tip { margin-left: 0; }
	
	.hero-overlay { display: none; }
	
    #home-promo { float: none; margin: 0 auto; }
    #page-content.col-two-third { float: none; }
	
	#sidebar-left { border-top: 5px solid #dad6cd; clear: both; }
	.page-id-23 #sidebar-left { border-top: none; border-bottom: 5px solid #dad6cd; padding-bottom: 10px; }
	.page-id-499 #sidebar-left { display: none; }
	#subnav { top: 0; margin-bottom: 50px; }
	#subnav h2 { padding: 25px 0 10px 15px; }
	#subnav a { padding: 7px 0 7px 15px; }
    
    #section-introduction { border-top: none; }
    #section-introduction .col-one-third { margin-bottom: 20px !important; }
    
    #recent-timeline-2 .timeline-image img { padding-top: 0 !important; }
	
	.article-teaser { min-height: 1px; max-height: 1000px; }
	
	#booking-form { padding: 40px 0 30px 0; }
	#terms-and-conditions { padding: 40px 0 20px 0; }
	#booking-form div, #terms-and-conditions div { margin-bottom: 0 !important; }
	.page-id-499 #page-content h2 { font-size: 30px; line-height: 34px; }
	.page-id-499 #page-content p.body-copy { font-size: 18px; }
	
	#form-recaptcha { margin-left: 0; }

}

/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
@media only screen and (min-width: 480px) and (max-width: 767px) {
	
    .container,
    .container-header { width: 440px;}
    
    #page-header { bottom: 10px; }
	#page-title { font-size: 32px; line-height: 36px; margin-bottom: 0; } 
    
    .content-wrapper, #section-introduction { padding-top: 30px; }
	
	.kicker { font-size: 22px; line-height: 28px; }
    
	body.page-id-29 #sidebar-left { border-bottom: none; }
	
	#slider .bx-controls { bottom: 15px; }
	
	#home-related-image img { width: 274px; margin: 0 auto 40px auto; float: none; display: block; }
	
	.profile-text { padding-top: 15px; margin-bottom: 20px !important; }
	.profile-image { margin-bottom:  0 !important; }
	.profile.bottom .profile-text { margin-bottom: 15px !important; }
	
	.timeline-wrapper.parallax { background: #fff !important; }
	.timeline-date { margin-bottom: 0 !important; padding-top: 10px; border-top: 4px solid #dad6cd !important; }
	.timeline-image img { display: block; margin: 0 auto; }
	
    #google-map { height: 320px; }
    
    .contact-details { margin-bottom: 20px !important; }
	
	.page-id-499 #page-content { margin-bottom: 40px; }
	.page-id-499 #page-content p.important { font-size: 22px; }
	
	#footer-menus { display: none; }
    #footer-contacts ul { padding-left: 0; }
    
    #gotoTop { right: 17px; bottom: 17px; }
	
}

/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
@media only screen and (max-width: 479px) {

    .container,
    .container-header { width: 280px; }
    
    .content-wrapper, #section-introduction { padding-top: 30px; }
    
	.single #hero-overlay #page-title { font-size: 26px; line-height: 30px; margin-bottom: 5px; }
	#hero-overlay h3 { font-size: 18px; line-height: 24px; }
	
	.page-template-template-home-php .content-wrapper { padding-top: 30px; }
	
	#page-header { bottom: 10px; }
	#page-title { font-size: 26px; line-height: 30px; margin-bottom: 0; } 
	h1#home-title { font-size: 34px; line-height: 38px; }
	
	.kicker { font-size: 20px; line-height: 26px; }
	
	#slider .bx-controls { bottom: 0; }
	#slider .bx-pager-link { width: 12px; height: 12px; border: 1px solid transparent; }
	
	#home-related-image img { width: 274px; margin: 0 auto 40px auto; float: none; display: block; }
    #home-promo { width: 280px; height: 280px; }
    #home-promo p { font-size: 18px; line-height: 24px; }
	#home-promo a { font-size: 18px; color: #fff; border-bottom: 1px solid #fff; display: inline-block; padding: 3px 3px 0 3px; }
	
	.teaser-text h3 { font-size: 16px; margin-bottom: 10px; padding-bottom: 0; }
	.teaser-text p { font-size: 13px; line-height: 17px; }
	
	.profile-text { padding-top: 15px; margin-bottom: 20px !important; }
	.profile-image { margin-bottom:  0 !important; }
	.profile.bottom .profile-text { margin-bottom: 15px !important; }
	.profile-phone,
	.profile-email { display: block; }
	
	.timeline-wrapper.parallax { background: #fff !important; padding-top: 0 !important; margin-top: -12px; }
	.timeline-date { margin-bottom: 0 !important; padding-top: 10px; border-top: 4px solid #dad6cd !important; }
	.timeline-desc h3 { font-size: 22px; line-height: 30px; }
	.timeline-image img { display: block; margin: 0 auto; }
	
	.wp-pagenavi span.pages { display: none; }
	
    #google-map { height: 240px; }
    
    .contact-details { margin-bottom: 20px !important; }
    
	.page-id-499 #page-content p.important { font-size: 20px; }
    
    #form-recaptcha { 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; }
    
    #global-footer { padding-top: 40px; }
    #footer-menus { display: none; }
    #footer-contacts { margin-bottom: 0; }
    #footer-contacts ul { padding-left: 0; }
    
    #gotoTop { right: 15px; bottom: 15px; }

}

.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; }
}