
/* Mobile styling of castle.co.nz */
html, body {min-width: 0 !important; width: 100% !important; height: 100% !important; margin: 0px !important; padding: 0px !important; overflow-x: hidden; -webkit-text-size-adjust: 100%;}
body.mobile h1 {font-size:32px !important; line-height:32px !important; -webkit-text-size-adjust: 100%; padding:24px 0 17px 0 !important; color:#3B3836 !important; margin:0 !important;}
body.mobile h2 {font-size:22px !important; line-height:22px !important; -webkit-text-size-adjust: 100%; color:#3B3836 !important;}
body.mobile h5 {font-size:17px !important; -webkit-text-size-adjust: 100%; color:#3B3836 !important;}
/*body.mobile div {float:none !important;}*/
body.mobile strong {font-weight:700 !important;}
body.mobile {background:#ffffff !important; font-size:16px !important; line-height:23px !important; color:#5B5B5B !important;}
body.mobile #page_container { box-sizing: border-box !important; -webkit-box-sizing: border-box !important; background:#ffffff; width:100% !important; margin-right: auto; margin-left: auto; }
body.mobile #main_content_wrapper { padding-right:15px !important; padding-left:15px !important; background:#ffffff; width:auto !important; float:none !important; position: relative; margin-right: 0; top: 0; min-height: 300px; margin-left: 0; padding-right: 0; padding-top: 0; padding-bottom: 30px; color: #5B5B5B !important; line-height: 23px !important; font-size:16px !important; border-top: none;
}
body.mobile #main_content_wrapper p {#5B5B5B !important; line-height: 23px !important; font-size:16px !important;}
body.mobile #main_content_wrapper a {color:#930036;}
body.mobile #header_wrapper {padding-right:15px !important; padding-left:15px !important; background:#ffffff url(/mobile/img/header_grad.gif) bottom repeat-x !important;}
body.mobile #sidebar_wrapper, body.mobile #footer_nav_quicklinks, body.mobile #breadcrumbs, body.mobile #header_new_getaquote, body.mobile #header_nav_container, body.mobile #designed_by  {display:none !important;}
body.mobile #header_logo {padding:0; width:120px !important; padding-top:5px; margin-left:-10px;}
body.mobile #header_logo img {width:120px !important; height:auto !important;}
body.mobile #footer_wrapper {background:#ffffff url(/mobile/img/footer_grad.gif) top repeat-x !important; width:100% !important; border:none !important;}
body.mobile #copyright_designed_by {background:none !important; font-size:14px !important; line-height:20px !important; color: #333 !important; padding-top:0 !important;}
body.mobile #copyright_designed_by a { font-size:14px !important; line-height:20px !important; color: #333 !important;}
body.mobile #copyright_designed_by #footer_logo {margin:5px 0 0 5px; display:block !important; width:120px !important; height:auto !important;}
body.mobile .visit_desktop {display: block !important; margin: 10px 0 0 15px !important; text-decoration: underline; font-weight: 400 !important; font-size: 14px !important; line-height: 22px !important; float:none !important; text-decoration:underline !important;}
body.mobile #copyright { margin-left: 15px !important; float:none !important; display:block !important;}
body.mobile #copyright span {width: 130px; display:block;}
body.mobile #copyright a:first-of-type {padding-left: 0 !important;}
body.mobile #feedback {display:none;}

/* Mobile styling of forms*/	
body.mobile .form_wrapper {width:inherit !important;}
body.mobile .form_wrapper td {width:inherit !important; font-size: 16px !important; line-height: 23px !important; }
body.mobile .form_wrapper input[type="text"], body.mobile .form_wrapper textarea, body.mobile .form_wrapper select, body.mobile .form_wrapper small, body.mobile .form_wrapper input[type="email"], body.mobile .form_wrapper input[type="numbers"], body.mobile .form_wrapper select {width:95% !important; font-size: 16px !important; line-height: 23px !important;}
body.mobile .form_wrapper label {padding-top: 8px; }
body.mobile .form_wrapper input[type="checkbox"] {margin:0 5px 0 0 !important;}
body.mobile .form_wrapper input[type="reset"], body.mobile .form_wrapper input[type="submit"], body.mobile .form_wrapper textarea, body.mobile .form_wrapper input[type="text"] {-webkit-appearance: none; -webkit-border-radius:0;}
body.mobile .form_wrapper .field {padding:5px; display:block; background:#ffffff !important; color:#333333; font-family: 'Source Sans Pro', Arial, Helvetica, sans-serif; font-weight:400; font-size:16px; line-height:23px; width:100%;}
body.mobile input[type="date"] {line-height: inherit !important;}
body.mobile .form_wrapper select {padding:8px; display:block; background:#ffffff; color:#333333; font-family: 'Source Sans Pro', Arial, Helvetica, sans-serif; font-weight:400; font-size:16px; margin:0 0 10px 0; width:100%; border:none; font-weight:400;}
body.mobile select {-webkit-border-radius:0; border-radius:0;}
body.mobile .form_leadin {width:75%; margin:0 auto 30px auto;}
body.mobile .track_form {margin-bottom: 30px;}
body.mobile .form_wrapper td {width:inherit !important;}
.form_wrapper .error { background:none !important; border: none; color: #C80A0A; padding-top: 10px !important; font-size:14px;}
.form_wrapper input.error, .form_wrapper textarea.error { background:#FFF; border: 2px solid #C80A0A;}

@media screen and (-webkit-min-device-pixel-ratio:0) {
/*body.mobile input[type='checkbox'], body.mobile input[type='radio'] { -webkit-appearance: none; border-radius: 0;}*/
body.mobile input[type='checkbox']:checked, body.mobile input[type='radio']:checked {background:#1eb4da;}
}

/* Mobile styling of contact*/	
body.mobile #contact_tool .switch {width:100% !important; background-color:#D73647 !important; box-sizing: border-box; -webkit-box-sizing: border-box; height:50px !important;}
body.mobile #contact_tool .switch.active {background-color:#2e5648 !important;}
body.mobile #contact_tool .switch:hover {background-color:#174434 !important;}
body.mobile #contact_tool .switch.active:hover {background-color:#174434 !important;}
body.mobile #contact_tool .switch span {display:none !important;}
body.mobile #contact_tool .name {width: inherit !important;}
body.mobile #contact_tool .loc {width: 30% !important;}
body.mobile #contact_tool .map {width: 10% !important;}
body.mobile #contact_tool .add {width: 30% !important;}
body.mobile #contact_tool .phone {width: 30% !important;}
body.mobile #contact_tool .hours {width: 30% !important;}
body.mobile #contact_tool table {width:100% !important;}
body.mobile.contact #contact_btns {display:none !important;}
body.mobile.contact table td {font-size:14px !important; line-height:20px !important;}
body.mobile #contact_btns {display:none;}

/* General mobile styling*/	

body.mobile .show_mobile {display:block !important;}
body.mobile .hide_mobile {display:none !important;}

/** Internal menu hack? Just need then to add an on click event handler to div#navs_container to trigger the menu to pop out.**/
body.mobile div.snap-menu-button{position:absolute; display: block; width: 25px; height:24px; margin-top:53px !important; right:15px; background: url(/mobile/img/icons/mobile_menu.png) no-repeat 0 0; background-size:25px 96px; cursor:pointer;
}
body.mobile div.snap-menu-button:hover {background: url(/mobile/img/icons/mobile_menu.png) no-repeat 0 -24px; background-size:25px 96px;}
body.mobile div.menu-open {background: url(/mobile/img/icons/mobile_menu.png) no-repeat 0 -72px !important; background-size:25px 96px !important;}
body.mobile div.menu-open:hover, body.internal.mobile div.menu-open:active {background: url(/mobile/img/icons/mobile_menu.png) no-repeat 0 -48px !important; background-size:25px 96px !important;}
body.mobile div.snap-drawers {position: absolute; height:100%;}
body.mobile  div.snap-drawer-right{ position: fixed; right:0; left:auto; width:300px; height:100%;}	
body.mobile div#snapper-content {position: absolute; left:0; right:0; top:0; bottom:0; z-index: 1; overflow-x:hidden;-webkit-overflow-scrolling: touch;}
body.mobile div#right-nav-menu { background-color: #282727; /*border-left:#4a4645 2px solid;*/}
body.mobile div#right-nav-menu #right-nav-menu-list {padding:0; margin:0; list-style:none;}	
body.mobile div#right-nav-menu #right-nav-menu-list li {padding:0; margin:0;}
body.mobile div#right-nav-menu #right-nav-menu-list li a {padding:0; text-decoration:none !important; margin:0; display:block; padding:10px 15px; font-size: 17px; line-height: 22px; color:white; font-weight:300; border-bottom:#4a4645 1px solid;}
body.mobile div#right-nav-menu #right-nav-menu-list li a:hover, div#right-nav-menu #right-nav-menu-list li a:active  {text-decoration:none !important; background:#4a4645 !important;}
body.mobile div#right-nav-menu #right-nav-menu-list li img.arrow {width:9px !important; margin-top:4px; width:8px; position:inherit !important;}	
body.mobile .pull-right {float: right !important;}
body.mobile .glyphicon {font-size:1.7em;}

body.mobile #header-navigation ul.navbar-nav>li>a{height:20px; width:25px; padding:0 20px 0 0; margin:15px 20px 0 0 !important; display:block;}
body.mobile #toggle-menu-button {background: url(/mobile/img/icons/mobile_menu.png) no-repeat 0 0; background-size:25px 40px;}
body.mobile #toggle-menu-button:hover, #toggle-menu-button:active, #toggle-menu-button:visited {background: url(/mobile/img/icons/mobile_menu.png) no-repeat 0 -20px; background-size:25px 40px;}
body.mobile .fullsite_headerlink {top:6px;}
body.mobile #header-navigation ul.nav>li {display:inline-block !important;}
body.mobile #header-navigation .navbar-header, 
body.mobile #header-navigation .navbar-header > a.navbar-brand,
body.mobile #header-navigation .navbar-collapse,
body.mobile #header-navigation .navbar-collapse > ul{ height:100%;}

/* Mobile styling of redelivery*/	

body.mobile .data_grid img { height:inherit !important; max-width:100%;}
body.mobile .data_grid td { vertical-align:top; }


 @media(max-width:355px){
    	/** Snap menu **/
		div.snap-drawer-right{ width:224px; height:100%;}	
    }
	
 @media(max-width:498px){
    	/** Snap menu **/
    }