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

@media only screen and (min-width: 1200px) and (max-width: 1360px) {
	
	#slides-wrapper, #slides li { width: 1150px; height: 343px; }
	#slides-wrapper .bx-controls-direction { right: 90px; bottom: 15px; }
	.slide-overlay { left: 100px; padding: 15px 20px 10px 20px; }
	.slide-overlay h3 { font-size: 1.2em; line-height: 1.15em; }
	
}

@media only screen and (min-width: 980px) and (max-width: 1199px) {
	
	#slides-wrapper, #slides li { width: 960px; height: 287px; }
	#slides-wrapper .bx-controls-direction { right: 20px; bottom: 15px; }
	.slide-overlay { left: 0; padding: 15px 20px 10px 20px; }
	.slide-overlay h3 { font-size: 1.1em; line-height: 1.1em; }
	
}

/* Tablet Portrait size to Tablet Landscape (devices and browsers) */
@media only screen and (min-width: 768px) and (max-width: 979px) {
	
	body { font-size: 15px; line-height: 23px; }
	h1 { font-size: 30px; line-height: 34px; }
	h2 { font-size: 24px; line-height: 28px; }
	.home h2 { font-size: 24px; }
	h3 { font-size: 18px; line-height: 22px; }
	h4 { font-size: 18px; line-height: 22px; }
	h5 { font-size: 16px; line-height: 20px; }
    input[type="text"], input[type="email"], input[type="password"], select, textarea { width: 96%; }

    .container { width: 720px; }
	
	#logo img { width: 420px; }
	
	#menu-main-navigation li > a { font-size: 0.95em; }
    #menu-main-navigation a { padding: 11px 8px; }
    #menu-main-navigation ul { top: 50px; }
    #menu-main-navigation ul a { font-size: 0.7em; }
	
	#font-size { display: none; }
	
	#slides-wrapper { width: auto; height: auto; }
	#slides-wrapper .bx-controls-direction { right: 20px; bottom: 15px; }
	#slides li { max-height: 292px; }
	.slide-overlay { left: 0; padding: 15px 20px 10px 20px; }
	.slide-overlay h3 { font-size: 1.1em; line-height: 1.1em; }
	
	#safety-message-banner { padding-left: 25px; }
	#safety-message-banner p { font-size: 30px; max-width: 485px; }
	#safety-message-banner div { padding: 0 60px 0 15px; }
	#safety-message-banner img { max-width: 150px; margin-top: -24px; }
	
	#page-intro-wrapper { min-height: 1px; padding: 25px 0 20px 0; }
	#page-header { width: 100%; margin: 0; }
	#page-header p { font-size: 18px; line-height: 24px; }
	#header-image { display: none; }
	
	#sidebar-left { width: 30.8%; }
	#sidebar-left.col-two-fifth { width: 100%; clear: both; }
	#sidebar-left #current-road-toll,
	#sidebar-left #latest-blog-post { width: 48%; float: left; }
	#sidebar-left #current-road-toll { margin-right: 4%; }
	
	#content { width: 64.4%; }
	#content.col-three-fifth { width: 100%; }
	
	#home-intro,
	#current-road-toll { width: 48%; }
	#current-road-toll-text { width: 110px; padding: 20px 0 5px 30px; }
	
	#northland-road-toll .region { font-size: 12px; }
	
	#seasonal-risk-factors p { font-size: 16px; line-height: 22px; }
	
	#home-teasers { background-size: 720px; }
	#home-teasers p { font-size: 15px; line-height: 20px; }
	#road-conditions, #roadworks-update { width: 48%; }
	#roadworks-update { margin-right: 0; }
	#roadworks-text ul { font-size: 15px; line-height: 20px; }
	.home #latest-blog-post { display: none; }
	
	#map-content { width: 100%; }
	#map-wrapper { float: none; margin: 0 auto; clear: both; }
	#map-data th { font-size: 14px; }
	
	#road-toll-text, #road-toll-statistics { width: 100%; margin-right: 0; float: none; }
	#road-toll-text { margin-bottom: 0; }
	#road-toll-text p { line-height: 20px; }
	
	.system-themes li { font-size: 14px; }
	
	#safe-system-diagram a { height: 165px; }
	#safe-system-diagram div { border-width: 7px; width: 150px; height: 150px; margin: -65px 0 0 -82px; }
	#safe-system-diagram div span { font-size: 14px; padding: 0 10px; }
	
	#northland-hospitalisations { width: 100%; background: none; margin-bottom: 0; }
	#northland-hospitalisations .col-full { width: 50%; float: left; }
	#northland-hospitalisations .total-hospitalisations.col-half { width: 20%; margin-bottom: 0; }
	#northland-hospitalisations .total-hospitalisations p { margin-bottom: 0; }
	#hospitalisation-length { width: 100%; margin-right: 0; float: none; clear: both }
	
	.statistic { margin-bottom: 50px; }
	
	#northland-toll-text.col-four-fifth { width: 75.2%; }
	#northland-toll-deaths.col-one-fifth { width: 20.8%; margin-top: 5px; }
	#northland-toll-deaths p { padding-left: 25px; }
	
	#factors-text, #contributing-factors { width: 100%; }
	#factors-text { margin: 0; }
	
	#vehicle-types li.col-one-fourth { width: 30.63%; text-align: center; background-position: top center; }
	#vehicle-types li#vehicle-type-3, #vehicle-types li#vehicle-type-6 { margin-right: 0; }
	#vehicle-types li#vehicle-type-4 { margin-right: 4%; }
	#vehicle-types li#vehicle-type-5 { clear: none; }
	
	#casualty-age table { width: 50%; }
	
	#gallery li { width: 22%; float: left; margin-right: 4%; margin-bottom: 18px !important; }
	#gallery li.col-last-tablet { margin-right: 0; }
	
	.modal-header h3 { font-size: 1.3em; line-height: 1.1em; }
	
	#global-footer { padding-top: 40px; }
	#footer-meta.col-two-third, #footer-contact.col-one-third { width: 100%; margin: 0 0 20px 0; }
	#footer-contact div { padding-left: 0; border: none; overflow: hidden; }
	#footer-contact h5, #footer-contact ul, #footer-contact li { display: inline; float: left; font-size: 1.05em; line-height: 1; }
	#footer-contact h5 { font-weight: bold; margin: 0 15px 0 0; }
	#footer-contact li { margin: 0 15px 0 0; }
	#site-credit { padding-top: 5px; text-align: left; }
	
	#back-to-top { right: 15px; bottom: 15px; }
	
}

@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,
    .content-column.one_half { 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; }
	
	.wp-caption-text { width: 98%; text-align: center; }
	
	.modal-dialog { width: 90%; }
	
	body,
	body#turquoise { border-width: 5px; }
	
    
    #logo { width: 100%; }
	#logo a { padding-bottom: 6px; }
    #masthead .social-links { top: auto; width: 100%; clear: both; position: relative; margin-bottom: 15px; overflow: hidden; text-align: center; }
	
	#font-size { display: none; }
	
	#main-nav { position: relative; z-index: 100; border-top: none; }
	body#turquoise #main-nav,
	body.page-id-9 #main-nav { border-top: none !important; }
    #menu-main-navigation { display: none; }
    #responsive-nav { display: block; margin-bottom: 10px; }
    .slicknav_menu { position: relative; z-index: 10000; font-weight: 400; font-family: 'Source Sans Pro', sans-serif; }
	.slicknav_btn { position: relative; display: block; overflow: hidden; cursor: pointer; text-decoration:none; background: #1ea9ee; color: #fff; padding: 8px 15px; margin: 0; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; text-transform: uppercase; font-weight: 600; font-size: 18px; }
	body#turquoise .slicknav_btn { background: #11BDC8; }
	.slicknav_btn.slicknav_collapsed { margin-bottom: 0; }
	.slicknav_menu { background: transparent; *zoom: 1; margin-bottom: 0; }
	.slicknav_menutxt, .slicknav_icon { display: block; float: left; }
	.slicknav_menutxt { color: #fff; font-size: 20px; line-height: 28px; letter-spacing: 1px; }
	.slicknav_icon { float: left; margin: 8px 0 0 8px; }
	.slicknav_icon-bar { background-color: #ffffff; display: block; width: 1em; height: 0.12em; }
	.slicknav_btn .slicknav_icon-bar + .slicknav_icon-bar { margin-top: 0.20em }
	.slicknav_nav { clear: both; margin: 0; padding: 10px 0 0 0; width: 100%; }
	.slicknav_nav, .slicknav_nav ul { list-style: none; overflow: hidden; }
	.slicknav_nav ul { padding: 0; margin: 0; list-style: none; }
	.slicknav_nav ul,
	.slicknav_nav li { display: block; margin: 0; border-bottom: 1px solid #000; background: #2c2c2c; }
	.slicknav_nav .slicknav_arrow { font-size: 0.8em; margin: 0 0 0 0.4em; }
	.slicknav_nav .slicknav_item { display: block; cursor: pointer; padding: 10px 15px; }
	.slicknav_nav a { display: block; padding: 10px 15px; text-decoration:none; color:#fff; font-weight: 400; }
	.slicknav_nav .slicknav_item a { display: inline; padding:0; margin:0; }
	.slicknav_nav li:hover a,
	.slicknav_nav a:hover,
	.slicknav_nav .slicknav_arrow:hover,
	.slicknav_nav .slicknav_item:hover,
	.slicknav_nav li.current-menu-item > a,
	.slicknav_nav li.current-menu-parent > a { background: #1ea9ee; color:#fff; }
	body#turquoise .slicknav_nav li:hover > a,
	body#turquoise .slicknav_nav > a:hover,
	body#turquoise .slicknav_nav > .slicknav_arrow:hover,
	body#turquoise .slicknav_nav > .slicknav_item:hover,
	body#turquoise .slicknav_nav li.current-menu-item > a,
	body#turquoise .slicknav_nav li.current-menu-parent > a { background: #11BDC8; }
	.slicknav_nav .sub-menu { border-bottom: none; background: #bababa; }
	.slicknav_nav .sub-menu li { margin-left: 0; text-transform: none; border-top: none; border-bottom: none; margin-top: 1px; }
	.slicknav_nav .sub-menu li a { font-size: 15px; background: #fafafa; color: #7e7e7e; }
	.slicknav_nav .sub-menu li a a { padding-left: 0; }
	.slicknav_nav .sub-menu li a:hover,
	.slicknav_nav .sub-menu li.current-menu-item > a { color: #1ea9ee; }
	body#turquoise .slicknav_nav .sub-menu li a:hover,
	body#turquoise .slicknav_nav .sub-menu li.current-menu-item > a { color: #11BDC8; background: #fafafa; }
	.slicknav_nav .sub-menu li.current-menu-item a { font-weight: 400; }
	.slicknav_nav .slicknav_txtnode { margin-left: 15px; }
	.slicknav_menu:before,
	.slicknav_menu:after { content: " "; display: table; }
	.slicknav_menu:after { clear: both }
	.slicknav_nav li.slicknav_open { border-bottom: none; }
    
    #slides-wrapper { width: auto; height: auto; }
	#slides-wrapper .bx-controls-direction { right: 10px; bottom: 10px; }
	.slide-overlay { display: none; }
    
    #page-intro-wrapper { min-height: 1px; padding: 20px 0 10px 0; }
    #page-header { width: 100%; margin: 0; }
	#page-header.col-two-fifth { margin-bottom: 0 !important; }
	#header-image { display: none; }
	
	#sidebar-left, #content { width: 100%; float: none; margin: 0; }
	
	#northland-road-toll { float: none; }
	#current-road-toll h3 { margin-left: 0; }
	#current-road-toll { margin-bottom: 40px; }
	#current-road-toll li { display: inline; margin-right: 15px; }
	
    #safety-message-banner { padding: 45px 25px 15px 25px; }
	#safety-message-banner div { display: none; }
	
	#map-content { width: 100%; }
	
	#road-conditions,
	#roadworks-update { width: 100%; }
	.home #latest-blog-post { display: none; }
	
	#road-toll-text { margin-bottom: 0 !important; }
	#road-crashes-text { padding-top: 0; margin-bottom: 10px !important; }
	#northland-hospitalisations { background: none; overflow: hidden; margin-bottom: 0 !important; }
	#northland-hospitalisations .col-full { margin-bottom: 0 !important; }
	#northland-hospitalisations .col-half { width: 48%; margin-right: 4%; float: left; margin-bottom: 0 !important; }
	#northland-hospitalisations .col-half.col-last { margin-right: 0; }
	#northland-hospitalisations .total-hospitalisations p { margin-bottom: 0; }
	#hospitalisation-length { margin-bottom: 0 !important; }
	
	#northland-toll .col-four-fifth { margin-bottom: 10px !important; }
	#northland-toll .col-one-fifth { margin-bottom: 20px !important; width: 30%; }
	
	#event-countdown h4 { margin-left: 0; }
	#countdown { float: left; }
	.figure { margin: 0 8px 0 0; }
	
	#factors-text { margin-bottom: 20px !important; }
	
	#vehicle-types li.col-one-fourth { margin-right: 4%; margin-bottom: 20px !important; text-align: center; background-position: top center; float: left; }
	
	#testimonials p { font-size: 1.2em; line-height: 1.3em; }

	.nav-single span { display: none; }
	
	#footer-meta.col-two-third, #footer-contact.col-one-third { width: 100%; margin: 0 !important; }
    #footer-contact div { padding: 0; border-left: none; }
    #footer-contact .social-links { margin-top: 15px; }
    #footer-logos { margin-bottom: 10px; }
    
    #site-credit { text-align: left; }
    
}

/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
@media only screen and (min-width: 480px) and (max-width: 767px) {
	 
	body { font-size: 16px; line-height: 24px; }
	h1 { font-size: 30px; line-height: 34px; }
	h2 { font-size: 24px; line-height: 28px; }
	.home h2 { font-size: 24px; line-height: 28px; }
	h3 { font-size: 22px; line-height: 26px; }
	h4 { font-size: 18px; line-height: 22px; }
	h5 { font-size: 16px; line-height: 20px; }
	.kicker { font-size: 18px; line-height: 26px; }
    input[type="text"], input[type="email"], input[type="password"], select, textarea { width: 95%; }
    
    .container { width: 440px; }
    
    #logo img { width: 360px; margin: 0 auto 5px auto; display: block; }
    
	#slides li { max-height: 230px; }
	
    #page-header h1 { font-size: 28px; line-height: 34px; }
    #page-header p { font-size: 17px; line-height: 22px; }
    
    .statistic { margin-bottom: 30px; }
	
	#northland-road-toll { width: 80%; }
	#northland-road-toll td { width: 12%; }
	
	#clock .display { float: none; }
	#clock .weekdays,
	#clock .digits { text-align: left; }
	#clock .digits { padding-left: 10px; max-width: 220px; }
	#clock .ampm { right: auto; left: 215px; bottom: 2px; }
	
	#safety-message-banner p { font-size: 32px; line-height: 1; margin-bottom: 20px; }
	
	#map-data th { font-size: 12px; line-height: 18px; }
	#map-data th br { display: none; }
	#map-data td { font-size: 14px; }
	.responsive-table { overflow: hidden; }
	
	#safe-system-diagram a { height: 210px; }
	#safe-system-diagram div { width: 180px; height: 180px; margin: -80px 0 0 -100px; }
	#safe-system-diagram span { padding: 0 15px; }
	
	#northland-toll-text.col-four-fifth { width: 76.2%; float: left; margin-right: 4%; }
	#northland-toll-deaths.col-one-fifth { width: 19.8%; float: left; margin-top: 5px; }
	#northland-toll-deaths p { padding-left: 20px; }
	
	#monthly-toll-north li#northland-toll-1, #monthly-toll-comparative li#comparative-toll-1 { width: 36px; }
	#toll-month li { width: 36px; }
	.monthly-toll li { width: 36px; }
	
	#vehicle-types li.col-one-fourth { width: 30.63%; }
	#vehicle-types li#vehicle-type-3, #vehicle-types li#vehicle-type-6 { margin-right: 0; }
	#vehicle-types li#vehicle-type-4 { margin-right: 4%; }
	#vehicle-types li#vehicle-type-5 { clear: none; }
	
	#gallery li { width: 22%; float: left; margin-right: 4%; margin-bottom: 18px !important; }
	#gallery li.col-last-tablet { margin-right: 0; }
	
	#footer-nav a { padding: 0 8px; }
	#footer-nav li:last-child a { padding-right: 0; }
	#footer-logos { overflow: hidden; }
	#footer-logos li { margin-right: 2%; }
	#footer-logos li#tab-nzta { width: 29%; }
	#footer-logos li#tab-safer-journeys { width: 17%; }
	#footer-logos li#tab-kiwirap { width: 25%; }
	#footer-logos li#tab-nrc { width: 23%; margin-right: 0; }
	#footer-logos img { margin-right: 0; }
	
    #back-to-top { right: 12px; bottom: 12px; }
	
}

/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
@media only screen and (max-width: 479px) {
	
	body { font-size: 15px; line-height: 23px; }
    h1 { font-size: 30px; line-height: 34px; }
    .home h1 { font-size: 28px; line-height: 32px; }
	h2 { font-size: 22px; line-height: 26px; }
	.home h2 { font-size: 22px; }
	h3 { font-size: 20px; line-height: 24px; }
	h4 { font-size: 18px; line-height: 22px; }
	h5 { font-size: 14px; line-height: 18px; }
    .kicker { font-size: 16px; line-height: 22px; }
    input[type="text"], input[type="email"], input[type="password"], select, textarea { width: 92%; }
    
    .container { width: 280px; }
    
	#slides li { max-height: 145px; }
	
    #page-header h1 { font-size: 26px; line-height: 30px; }
    #page-header p { font-size: 16px; line-height: 20px; }
    
    #clock { clear: both; overflow: auto; }
    #national-toll { display: none; }
    #northland-road-toll th { font-size: 10px; line-height: 12px; }
    #northland-road-toll td { width: 26%; padding: 2px; }
    #northland-road-toll .region { width: 22%; padding-right: 6px; font-size: 10px; }
    #national-toll { display: table-row; }
    #road-toll-graph svg,
    #road-crash-graph svg { width: 280px; }
    
    .digits { padding: 7px 5px; }
    .digits div { margin: 0 3px; }
    
    .figure div { width: 60px; padding: 20px 0; }
    
	#safety-message-banner p { font-size: 24px; line-height: 1; margin-bottom: 20px; }
	#safety-message-banner span { font-size: 14px; }
    
    .system-themes strong { font-size: 13px; line-height: 1.3; }
    .system-themes li { font-size: 12px; line-height: 1.6; }
    
    #safe-system-diagram a { height: 134px; }
    #safe-system-diagram span { padding: 0 10px; font-size: 13px; }
    #safe-system-diagram div { width: 130px; height: 130px; border-width: 5px; margin: -50px 0 0 -70px; }
    #safe-system-diagram div span { font-size: 12px; }
    
    #map-wrapper { display: none; }
    #map-data th, #map-data td { padding-left: 0; }
    #map-data td { background-color: transparent; }
    #map-data h4 { margin-bottom: 0; } 
	.responsive-table { border: none; }
	.responsive-table .district { font-weight: 600; font-size: 17px; color: #1ea9ee; } 
	.responsive-table th { display: none; }
	.responsive-table td { display: block; border: none; border-bottom: 1px solid #bababa; padding: 3px 0; font-weight: 600; }
	.responsive-table td:last-child { padding-bottom: 20px; }
	.responsive-table td:before { content: attr(data-th) ": "; width: 11.5em; display: inline-block; font-weight: 400; }
	.responsive-table td:first-child:before { content: attr(data-th) ""; width: 100%; padding-bottom: 8px; text-transform: uppercase; }
	    
	#northland-monthly-toll { display: none; }
	.statistic { margin-bottom: 20px; }
	.statistic.responsive { display: block; }
	.statistic.responsive table { margin-top: 20px; }
	
	#contributing-factors li { font-size: 12px; line-height: 14px; }
	#contributing-factors li span { font-size: 32px; line-height: 36px; }
	
	#vehicle-types li.col-one-fourth { width: 48%; }
	#vehicle-types li#vehicle-type-2, #vehicle-types li#vehicle-type-4, #vehicle-types li#vehicle-type-6 { margin-right: 0; }
	#vehicle-types li#vehicle-type-3 { margin-right: 4%; }
	
	#casualty-age table { width: 100%; }
	
	#gallery li { width: 30%; float: left; margin-right: 4%; margin-bottom: 14px !important; }
	#gallery li.col-last-phone { margin-right: 0; }
	
	#global-footer { padding-top: 20px; }
	#footer-nav { display: none; }
	#footer-logos li { width: 48%; margin-right: 4%; text-align: center; }
	#footer-logos li#tab-safer-journeys,
	#footer-logos li#tab-nrc {  margin-right: 0; }
	#footer-contact { overflow: hidden; font-size: 16px; }
	
    #back-to-top { right: 5px; bottom: 7px; }

}

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