/*  
Theme Name: Dunn's Driver Training
Theme URI: http://sww.co.nz/
Description: Custom theme by Stellar Web Works
Version: 1.0
Author: Aidan Curran
Author URI: http://sww.co.nz/


12px	0.750em	75.0%	   9pt
13px	0.813em	81.3%	   10pt
14px	0.875em	87.5%	   11pt
15px	0.938em	93.8%	   11pt
16px	1.000em	100.0%	12pt
17px	1.063em	106.3%	13pt
18px	1.125em	112.5%	14pt
19px	1.188em	118.8%	14pt
20px	1.250em	125.0%	15pt
21px	1.313em	131.3%	16pt
22px	1.375em	137.5%	17pt
23px	1.438em	143.8%	17pt
24px	1.500em	150.0%	18pt


colours:

dark red: #E4020C;
darker red: #CD020B;

green: #00AF50;
yellow: #FFBE00;
red: #FE0000;

dark text: #303030;

*/
html,body {
	margin:0;
	padding:0;
   background-color: #fffffff;
   text-align: center;
   font-family: Century Gothic,CenturyGothic,AppleGothic,Avant Garde,Avantgarde,sans-serif;
	font-family: "trebuchet ms", trebuchet, arial, helvetica, sans-serif;
   font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
   font-family : "Times New Roman", Times, serif;
	font-family: "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
	font-family: arial, helvetica, sans-serif;
   font-family: 'Raleway', sans-serif;
   font-size: 18px;
   line-height: 1.5em;
   color: #303030;
}
body {
}
h1, h2, h3, h4 {
   color: #444444;
}
h1 {
   font-size: 34px;
   text-align: center;
   line-height: 1.5em;
}
h2 {
   font-size: 30px;
   text-align: center;
   line-height: 1.5em;
}
h3 {
   font-size: 24px;
}
h4 {
   font-size: 18px;
}
a {
   color: #CD020B;
}
a:hover {
   color: red;
}
h1 a, h2 a {
   text-decoration: none;
} 
img {
   border: 0;
}
div, section {
   text-align: left;
}
section {
   overflow: hidden;
   padding: 50px 0;
}
#section2,#section4,#section6,#section8,#section10,#section12 {
   background-color: #FEEDBB;
}
ul {
   list-style-type: none;
   padding: 0px;
   margin: 7px 0 7px 15px;
}
ul li {
   background-image: url(images/bullet.png);
   background-repeat: no-repeat;
   background-position: 0px 4px;
   line-height: 1.571em;
   padding-left: 20px;
   margin: 5px 0;
}
td {
   vertical-align:top;
}
blockquote {
	-moz-border-radius: 10px;
	-khtml-border-radius: 10px;
	-webkit-border-radius: 10px;
	border-radius: 10px;
   background: #e9e9e9 url(images/quote.png) 15px 6px no-repeat;
   padding: 15px 15px 15px 54px;
   margin: 30px 40px;
}
blockquote p {
   margin: 0;
}
blockquote cite {
   margin-top: 10px;
   display: block;
   text-align: right;
}
header {
   min-height: 115px;
   overflow: hidden;
   padding-bottom: 15px;
}
header #logo {
   display: block;
   float: left;
   padding: 30px 20px 0 20px;
   width: 380px;
   max-width: 100%;
   box-sizing: border-box;
   height: auto;
}
header #headertext {
   float: right;
   padding: 20px 0 20px 0;
}
header #headertext p.phone {
   font-size: 26px;
   font-weight: bold;
   margin: 0 0 2px 0;
   float: right;
   width: 220px;
   text-align: right;
}
p.phone a {
   background: url(images/phone-icon.png) left center no-repeat;
   padding-left: 30px;
   text-decoration: none;
   color: #303030;
}

header #headertext p.fb {
   margin: 0;
   float: left;
   width: 220px;
}
header #headertext p.fb img {
   width: 100px;
   height: auto;
   opacity: 0.8;
}
header #headertext p.fb img:hover {
   opacity: 1;
}

.contents {
   margin: 0 auto;
}
main {
   background: transparent;
}

nav {
   text-align: center;
}
#topnav {
   float: right;
   clear: right;
   line-height: 30px;
   overflow: hidden;
}
nav a {
   margin: 0 20px;
   padding: 5px 0;
   text-decoration:none;
   text-transform: lowercase;
   font-weight: bold;
   font-size: 16px;
   display: inline-block;
   color: #444444;
}
#topnav li.current_page_item a {
   border-bottom: 10px solid #FFBE00;
}
#topnav a:hover {
   color: #FFBE00;
}
nav ul, #subnav ul, #footernav ul {
   list-style: none;
   margin: 0;
   padding: 0;
}
nav li, #subnav li, #footernav li {
   display: inline;
   list-style: none;
   margin: 0;
   padding: 0;
   background: none;
}
#subnav {
   text-align: center;
}
#subnav a {
   color: #999;
   text-decoration:none;
   font-weight: bold;
   font-size: 18px;
   display: inline-block;
   padding: 10px 20px;
   text-transform: lowercase;
}
#subnav a:hover, #subnav li.current_page_item a, #subnav li.current-page-ancestor a {
   color: #cc0000;
}

.clear {
   clear:both;
}
.centered {
   text-align:center;
}
div.divider {
   clear: both;
   margin: 50px 0 30px 0;
   border-bottom: 2px solid #999;
}
hr.wp-block-separator {
   display:block;
   padding: 0;
   margin: 50px 25%;
   border: 0;
   border-top: 1px solid #ccc;
   height: 1px;
}

#hero, #headerband {
   background-color: #212026;
   overflow: hidden;
}
#headerband .contents {
   height: 350px;
   position: relative;
}
#hero img.imageonly {
   width: 100%;
   max-width: 1200px;
   height: auto;
   display: block;
   margin: 0 auto;
}
#hero img.headerimg, #headerband  img.headerimg {
   width: 100%;
   max-width: 1200px;
   height: auto;
   display: block;
   margin: 0 auto;
}
#headerband img.headerimg {
    position:absolute;
    top:0;
    bottom:0;
    margin:auto;
}

#hero .contents {
   background: url(images/cover1.jpg) center center no-repeat;
   background-size: cover;
   position: relative;
   height: 450px;
}
#hero div#n2-ss-2 {

}
#cta-btn {
   position: absolute;
   bottom: 100px;
   right: 30px;
   z-index: 10;
   font-size: 24px;
   padding: 18px 24px;
   border-radius: 15px;
}
#cta-text {
   position: absolute;
   bottom: 0;
   right: 0;
   width: 600px;
   height: 130px;
   display: block;
   box-sizing: border-box;
   background-color: rgba(255,255,255,0.75);
   margin: 0;
   padding: 30px 50px;
   z-index: 5;
   font-size: 30px;
   font-weight: bold;
}


#panelband {
   overflow: hidden;
   padding: 30px 0;
   background-color: #f0f0f0;
}
.panel {
   float: left;
   width: 32%;
   margin-left: 2%;
   position: relative;
   box-sizing: border-box;
   background-color: #f6f6f6;
   padding: 30px 10px;
}
#panel1 {
   margin-left: 0;
}
.panel .head {
   height: 60px;
   margin: 30px 0 0 0;
   font-size: 26px;
   text-align: center;
}
.panel .picture {
   max-width: 210px;
   margin: 0 auto;
}
.panel .picture img {
   width: 100%;
}
.panel .picture img:hover, .panel .head:hover + .picture img  {
   opacity: 0.9;
}
.panel .body {
   font-size: 1.071em;
   min-height: 120px;
   padding: 10px 10px 0 10px;
   overflow: hidden;
}
.panel li {
   margin: 0;
}
.panel ul {
   margin: 0 0 0 10px;
}
.more {
   text-align: center;
   margin-top: 50px;
}
.panel .more {
   margin-top: 15px;
}
.more a, a.button, input.wpcf7-submit {
   text-decoration:none;
   padding: 8px 30px;
   color: #fff;
   background: #00AF50;
   font-weight: bold;
   border-radius: 5px;
   display: inline-block;
}
.more a:hover {
   background: #888;
}

.leftcol {
   float: left;
   width: 60%;
   padding-right: 5%;
}
.rightcol {
   float: left;
   width: 35%;
}
.halfcol {
   float: left;
   width: 50%;
}
.thirdcol {
   float: left;
   width: 33.333%;
}
.quartercol {
   float: left;
   width: 25%;
}

#footernav {
   background-color: #4169E1;
   padding: 50px 0;
   overflow: hidden;
}
#footernav .contents {
   position: relative;
   color: #ffffff;
}
#footernav a {
   text-decoration:none;
   font-weight: 600;
   font-size: 18px;
   display: inline-block;
}
#footernav ul {
   text-align: center;
}
#footernav li {
   display: block;
   vertical-align: top;
   padding: 0;
   text-align: left;
   line-height: 1.5em;
}
#footernav li a {
   font-size: 16px;
   padding: 0;
   margin: 0;
   font-weight: normal;
   text-transform: lowercase;
}
#footerinfo {
   font-size: 24px;
   font-weight: bold;
}
#footerinfo strong {
   font-size: 30px;
}
#footerlogo {
   max-width: 380px;
   text-align: center;
   float: right;
}
#footerlogo a {
   padding: 0;
   margin: 0;
}
#footerlogo img {
   max-width: 270px;
   height: auto;   
   padding: 0;
   margin: 0 0 40px 0;
}
#footerlogo .phone {
   font-size: 20px;
   font-weight: bold;
   margin: 0;
   display: inline-block;
}
#footerlogo .email {
   margin: 0;
   padding-left: 20px;
   display: inline-block;
}

footer {
   margin-top: 5px;
   padding: 10px;
   text-align: center;
   font-size: 0.786em;
   color: #999999;
}
footer a {
   text-decoration: none;
   color: #999999;
}
footer a:hover {
   text-decoration: underline;
   color: #666666;
}
img.leftalign {
   display: block;
   float: left;
   text-align: left;
   margin: 0 25px 5px 0;
}
img.rightalign {
   display: block;
   float: right;
   text-align: right;
   margin: 0 0 5px 15px;
}
img.centeralign {
   display: block;
   margin: 10px auto;
   text-align: center;
}
table.labels {
   width:50%;
   margin:10px auto;
}
table.labels th {
   text-align: right;
   padding-right: 30px;
}
div.rounded {
	-moz-border-radius: 8px;
	-khtml-border-radius: 8px;
	-webkit-border-radius: 8px;
	border-radius: 8px;
}
div.shaddow {
	-moz-box-shadow: rgba(200,200,200,1) 0 4px 18px;
	-webkit-box-shadow: rgba(200,200,200,1) 0 4px 18px;
	-khtml-box-shadow: rgba(200,200,200,1) 0 4px 18px;
	box-shadow: rgba(200,200,200,1) 0 4px 18px;
}
div.opacity {
   opacity: 0.5;
   -moz-opacity: 0.5;
   filter:alpha(opacity=50);   
}
a.scrollup {
	width: 67px;
	height: 67px;
	position: fixed;
	bottom: 25px;
	right: 25px;
	display: none;
	text-indent: -9999px;
	background: url('images/top.png') no-repeat;
	opacity: 0.3;
}
p#testimonialslink {
   text-align: right;
   font-style: italic;
}

/* WP Common Styles */
.editLink {
   text-align: center;
   padding: 5px 0 15px 0;
}
.editLink a, a.editLink {
   background: #e0e0e0;
   color: #777777;
   font-size: 10px; 
   border: 1px solid #999999;
   text-decoration: none;
   padding: 3px 5px;
}
.editLink a:hover, a.editLink:hover {
   background: #eeeeee;
   border: 1px solid #333333;
   color: #000000;
}
.postmetadata {
   color: #999;
   font-size: 10px;
   margin: 2px 0;
}
img.aligncenter, div.aligncenter {
   display: block;
   margin: 20px auto;
}
img.alignright, div.alignright {
   display: block;
   float: right;
   margin: 0 0 30px 30px;
}
img.alignleft, div.alignleft {
   display: block;
   float: left;
   margin: 0 30px 30px 0px;
}
img.aligncenter {
   text-align: center;
}
img.alignright {
   text-align: right;
}
img.alignleft {
   text-align: left;
}
.wp-caption-text,.wp-caption-dd {
   margin: 0;
   font-weight: bold;
   font-size: smaller;
   text-align: center;
}
.more-link {
   display:block;
   text-align:right;
}
.linklove {
   display:none;
}
/* Comments */
#comments {
   margin-top: 100px;
   color: #333;
   background: #f3f3f3;
   padding: 10px 20px;
   clear:both;
}
#comments .navigation {
	padding: 0 0 18px 0;
}
h3#comments-title,
h3#reply-title {
	color: #000;
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 0;
}
h3#comments-title {
	padding-bottom: 24px;
}
.commentlist {
	list-style: none;
	margin: 0;
   padding: 0;
}
.commentlist li.comment {
	border-bottom: 1px solid #e7e7e7;
	line-height: 24px;
	margin: 0 0 24px 0;
	padding: 0 0 0 56px;
	position: relative;
}
.commentlist li:last-child {
	border-bottom: none;
	margin-bottom: 0;
}
#comments .comment-body ul,
#comments .comment-body ol {
	margin-bottom: 18px;
}
#comments .comment-body p:last-child {
	margin-bottom: 6px;
}
#comments .comment-body blockquote p:last-child {
	margin-bottom: 24px;
}
.commentlist ol {
	list-style: decimal;
}
.commentlist .avatar {
	position: absolute;
	top: 4px;
	left: 0;
}
.comment-author {
}
.comment-author cite {
	color: #000;
	font-style: normal;
	font-weight: bold;
}
.comment-author .says {
	font-style: italic;
}
.comment-meta {
	font-size: 12px;
	margin: 0 0 18px 0;
}
.comment-meta a:link,
.comment-meta a:visited {
	color: #888;
	text-decoration: none;
}
.comment-meta a:active,
.comment-meta a:hover {
	color: #ff4b33;
}
.commentlist .even {
}
.commentlist .bypostauthor {
}
.reply {
	font-size: 12px;
	padding: 0 0 24px 0;
}
.reply a,
a.comment-edit-link {
	color: #888;
}
.reply a:hover,
a.comment-edit-link:hover {
	color: #ff4b33;
}
.commentlist .children {
	list-style: none;
	margin: 0;
}
.commentlist .children li {
	border: none;
	margin: 0;
}
.nopassword,
.nocomments {
	display: none;
}
#comments .pingback {
	border-bottom: 1px solid #e7e7e7;
	margin-bottom: 18px;
	padding-bottom: 18px;
}
.commentlist li.comment+li.pingback {
	margin-top: -6px;
}
#comments .pingback p {
	color: #888;
	display: block;
	font-size: 12px;
	line-height: 18px;
	margin: 0;
}
#comments .pingback .url {
	font-size: 13px;
	font-style: italic;
}
/* Comments form */
input[type=submit] {
	color: #333;
}
#respond {
	border-top: 1px solid #e7e7e7;
	margin: 24px 0;
	overflow: hidden;
	position: relative;
}
#respond p {
	margin: 0;
}
#respond .comment-notes {
	margin-bottom: 1em;
   font-style: italic;
   color: #999;
}
.form-allowed-tags {
	line-height: 1em;
}
.children #respond {
	margin: 0 48px 0 0;
}
h3#reply-title {
	margin: 18px 0;
}
#comments-list #respond {
	margin: 0 0 18px 0;
}
#comments-list ul #respond {
	margin: 0;
}
#cancel-comment-reply-link {
	font-size: 12px;
	font-weight: normal;
	line-height: 18px;
}
#respond .required {
	display:none;
}
#respond label {
	color: #888;
	font-size: 12px;
   width: 80px;
   display: block;
   float: left;
   text-align: right;
   padding-right: 10px;
}
#respond input {
	margin: 0 0 9px;
	width: 500px;
}
#respond textarea {
	width: 500px;
}
#respond .form-allowed-tags {
	color: #888;
	font-size: 12px;
	line-height: 18px;
}
#respond .form-allowed-tags code {
	font-size: 11px;
}
#respond .form-submit {
	margin: 12px 0;
}
#respond .form-submit input {
	font-size: 14px;
	width: auto;
}

/* Contact Form 7 */
div.wpcf7 {
   clear: both;
   overflow: hidden;
   background-color: #FFBE00;
   border-radius: 20px;
   max-width: 100%;
   margin: 30px 0 !important;
}
div.wpcf7 form {
   padding: 20px;
   margin: 0;
}
div.wpcf7 div.col {
   padding: 0 20px;
   box-sizing: border-box;
}
div.wpcf7 div.col fieldset {
   width: 400px;
   max-width: 100%;
   margin: 0 auto;
   border: 0;
   padding: 0;
}   
div.wpcf7-response-output {
   background: #fff;
}
span.wpcf7-not-valid-tip {
   font-size: 0.750em !important;
}
input.wpcf7-submit {
   color: #fff;
   font-size: 1.1em;
   border-radius: 5px;
   border: 0;
   font-weight: normal;
}
input.wpcf7-submit:hover {
   background: #555;
}
input.wpcf7-text, input.wpcf7-captchar, textarea.wpcf7-textarea, select.wpcf7-select {
   border: 1px solid #aaa;
   width: 100%;
   height: 30px;
}
textarea.wpcf7-textarea {
   height: 100px;
}
input.wpcf7-text:hover, input.wpcf7-captchar:hover, textarea.wpcf7-textarea:hover {
   border: 1px solid #999;
}
input.wpcf7-text:focus, input.wpcf7-captchar:focus, textarea.wpcf7-textarea:focus {
   border: 1px solid #666;
}
div.wpcf7 div.wpcf7-validation-errors {
    border: 2px solid #f00000;
}
div.submit {
   clear: both;
   text-align: center;
   padding: 20px 0;
}

/* ------------------------------------------------- Responsive Elements ------------------------------------------------- */

/* defaults: computer monitors, tablets in landscape, standard and large screens (typically wider than 1024px), old browsers */
   .contents { width:90%; max-width: 1200px; min-width: 300px;}
   #mobile-menu-btn { display: none; }

   img {max-width: 100%; height: auto !important; }
   
@media screen and (max-width: 1320px) {
   #headerband .contents { height: 300px; }
}
@media screen and (max-width: 1150px) {
   #headerband .contents { height: 208px; }
}
   
/* MEDIUM-WIDE SCREEN */
/* width 750px - 1000px */
@media screen and (max-width: 1000px) {
   nav a, #subnav a { margin: 0 5px; padding: 10px 15px; font-size: 15px; }


   #headerband .contents { height: 208px; }
   #hero { }

   .panel .head a { font-size: 30px;}
   
   div.wpcf7 form {
       margin: 0 auto;
   }
   input.wpcf7-text, input.wpcf7-captchar, textarea.wpcf7-textarea { }
   
   header #headertext p.phone {
      float: none;
      width: auto;
   }
   header #headertext p.fb {
      float: none;
      width: auto;
      margin-top: 15px;
      text-align: right;
   }
   
   .panel .body {
      min-height: 180px;
   } 
   
}

/* MEDIUM-SMALL SCREEN */
/* width 500px - 800px */
@media screen and (max-width: 800px) {

   html,body { font-size: 16px; }
   .contents { width:95%; }
   
   h1 { font-size: 30px; }
   h2 { font-size: 26px; }
   h2 { font-size: 22px; }
   
   nav a, #subnav a { margin: 0 5px; padding: 10px 5px; font-size: 14px; }
   .leftcol, .rightcol, .halfcol, .thirdcol { float: none; width: auto;}
   .quartercol { width: 50%; margin-top: 20px; }
   .halfcol { text-align: center;}
   #footerlogo {float: none; margin: 0 auto;}

   #headerband .contents { height: 135px; }
   #hero { padding: 0; }
   #hero .contents {
      height: 375px;
   }
   #cta-btn {
      bottom: 75px;
      right: 10px;
      font-size: 20px;
      padding: 10px 15px;
      border-radius: 10px;
   }
   #cta-text {
      width: 360px;
      height: 90px;
      padding: 20px 30px;
      font-size: 18px;
   }   

   .panel, #panel1 {
      float: none;
      width: 400px;
      max-width: 94%;
      margin: 20px auto;
      padding: 30px;
      background-color: white;
   }
      
   div.block { padding: 10px 20px; }

   div.wpcf7 form {  }
   input.wpcf7-text, input.wpcf7-captchar, textarea.wpcf7-textarea { }


   header #headertext {
      display: none;
   }
   
   /* Gutenberg ctweaks */
   div.wp-block-columns div.wp-block-column {
      flex-basis: 100%;
   }

}

/* SMALLEST SCREEN */
/* width 320px - 500px */
@media screen and (max-width: 500px) {	

   .contents { width:95%; }
   /*header #headertext { padding: 20px 20px 20px 0; }*/
   header { padding: 0; }
   header #headertext { display:none; }
   #mobile-menu-btn { 
      display: inline-block;
      width: 32px;
      height: 32px;
      background: url(images/menu-icon.png) 0 0 no-repeat;
      padding: 4px;
      cursor: pointer;
   }
   #topnav { float: none; width: auto; min-height: 40px; text-align: right; clear: both; }
   #topnav ul { display:none; }
   #topnav ul.open {  
     width: 100%;  
     display: block;  
     height: auto;  
     padding-top: 0;
     margin-top:0;
   }  
   #topnav li {  
     width: auto;  
     float: none;  
     position: relative;  
   }  
   #topnav li a {  
     display: block;
     margin: 0;
     padding: 3px 0px;
     border-bottom: 1px solid #d0d0d0;  
     text-align: left;  
     width: 100%;  
     text-indent: 25px;  
     line-height: 30px;
   }

   .quartercol { float: none; width: auto; margin: 20px 0 0 0;}  
   
   section { padding: 40px 0; }

   div.block div.image img { float: none !important; display:block; margin: 30px auto; }   
   
   nav#footernav ul.menu li, nav#footernav div.quartercol {
      text-align: center;
   }
   
   #headerband .contents { height: 90px; }
   #hero .contents {
      height: 300px;
   }
   #cta-text {
      width: 100%;
      padding: 20px 15px;
   }
  
   /* Contact Form 7 */
   div.wpcf7 form { padding: 0 25px; }
   input.wpcf7-text, input.wpcf7-captchar, textarea.wpcf7-textarea { height: 20px; }
   textarea.wpcf7-textarea { height: 120px; }     
}


