/*  
Theme Name: Stellar Web Works 2019
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/


COLOURS:

red orange: #DB4C07
chocolate orange: #B33B01
green: #88A24B
charcoal: #4B4B4B

*/
html,body {
	margin:0;
	padding:0;
   background-color: #fffffff;
   font-family: 'Raleway', sans-serif;
   font-size: 20px;
   color: #444444;
}
body {
}
h1, h2, h3, h4 {
}
h1 {
   font-size: 36px;
   color: #444444;
}
h2 {
   font-size: 28px;
   color: #DB4C07;
}
h3 {
   font-size: 24px;
   color: #DB4C07;
}
h4 {
   font-size: 20px;
}
a {
   color: #DB4C07;
}
a:hover {
   color: red;
}
h1 a, h2 a {
   text-decoration: none;
} 
img {
   border: 0;
}
.profile img {
   width: 200px;
   height: 200px;
   border-radius: 100px;
   display: block;
   margin: 10px auto;
}
div, section {
   text-align: left;
}
section {
   /*overflow: hidden;*/
   padding: 50px 0 70px 0;
}
section:last-child {
   padding-bottom: 100px;
}
section:after{
    content:" ";
    display:block;
    clear:both;
}

section.even,
#section2,#section4,#section6,#section8,#section10,#section12 {
   background-color: #F0F0F0;
}
ul {
   list-style-type: none;
   padding: 0px;
   margin: 7px 0 7px 15px;
}
ul li {
   background-image: url(images/star.png);
   background-repeat: no-repeat;
   background-position: 0px 2px;
   line-height: 30px;
   padding-left: 30px;
   margin: 5px 0;
}
ul.dark li {
   background-image: url(images/star-wh.png);
}

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: 15px 15px 0 15px;
   max-width: 140px;
   height: auto;
}
header #headertext {
   float: right;
   padding: 20px 0 60px 0;
   color: #969292;
   font-size: 20px;
}
header #headertext a {
   text-decoration: none;
   color: #969292;
}
header #headertext a:hover {
   color: #000;
}
header #headertext p {
   display: inline-block;
   padding-left: 20px;
   margin: 0;
}
header #headertext .phone {
   font-weight: bold;
}
header #headertext .email {
}
header #headertext .social {
   text-align: right;
}

.contents {
   margin: 0 auto;
}
main {
   background: transparent;
   line-height: 160%;
}

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: 500;
   display: inline-block;
   color: #444444;
}
#topnav a:hover, nav a.current, nav li.current_page_item a, nav li.current_page_parent a {
   color: #DB4C07;
}
#topnav a.current, #topnav li.current_page_item a, #topnav li.current_page_parent a {
   border-bottom: 5px solid #DB4C07;
}
nav ul, #subnav ul, footer nav ul {
   list-style: none;
   margin: 0;
   padding: 0;
}
nav li, #subnav li, footer nav 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;
   display: inline-block;
   padding: 10px 20px;
   text-transform: lowercase;
}
#subnav a:hover, #subnav li.current_page_item a, #subnav li.current_page_parent a, #subnav li.current-page-ancestor a {
   color: #cc0000;
}

.clear {
   clear:both;
}
.centered {
   text-align:center;
}
article {
   margin-bottom: 50px;
   padding-bottom: 50px;
   border-bottom: 1px dashed #DB4C07;
}
div.underline {
   clear: both;
   margin: 0;
   border-bottom: 5px solid #DB4C07;
   width: 50px;
}
div.underline-cen-dk {
   clear: both;
   margin: -4px auto 0 auto;
   border-bottom: 5px solid #4B4B4B;
   width: 50px;
}
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;
}

.services-list a {
   color: #444444;
   text-decoration: none;
}
.services-list a:hover {
   color: #DB4C07;
}

#banner {
   /*background-color: #303030;
   animation: colorchange2 60s; /* animation-name followed by duration in seconds*/
   position: relative;
   overflow: hidden;
}
@keyframes colorchange2
{
   0%   {background: #000;}
   25%  {background: #303030;}
   50%  {background: #f0f0f0;}
   75%  {background: #000;}
   100% {background: #303030;}
}
#banner video { 
  /* make video to at least 100% wide and tall so that it completely covers the section */
  min-width: 100%;
  min-height: 100%;
  
  /* set width & height to auto to prevent browser from stretching or squishing the video */
  width: auto;
  height: auto;

  position: absolute;
  
  /* Center the video */
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);

  /* send to background */
  z-index: -100;
  
  /* alt image */
  background: url('video/hero.jpg') center center no-repeat;
  background-size: cover;
  
  transition: 1s opacity;
}
#mask {
  position: absolute;
  opacity: 0.1;
  width: 100%;
  height: 100%;
  background-color: #000;
  animation: opacitychange 10s;
  z-index: -99;
  top: 0;
}
@keyframes opacitychange {
   0%   {opacity: 1;}
   100% {opacity: 0.1;}
}
@-webkit-keyframes opacitychange {
   0%   {opacity: 1;}
   100% {opacity: 0.1;}
}
#banner .contents {
   color: #fff;
   text-align: center;
   padding-bottom: 100px;
   
   /* background-color: #88A24B;
   animation: colorchange 60s; /* animation-name followed by duration in seconds*/
  /*-webkit-animation: colorchange 60s; /* Chrome and Safari */
}

/*
@keyframes colorchange
{
   0%   {background: #000;}
   50%  {background: #5a3a3a;}
   75%  {background: #db4c07;}
   100% {background: #88A24B;}
}
@-webkit-keyframes colorchange 
{
   0%   {background: #000;}
   50%  {background: #5a3a3a;}
   75%  {background: #db4c07;}
   100% {background: #88A24B;}
}   
*/

#banner_stars {
   width: 350px;
   max-width: 75%;
   padding-top: 80px;
}
#banner_text {
   margin: 0;
   padding-top: 60px;
   padding-bottom: 60px;
   font-size: 90px;
   font-family: Inder;
}
#banner img.imageonly {
   width: 100%;
   max-width: 1200px;
   height: auto;
   display: block;
   margin: 0 auto;
}
#banner img.headerimg {
   width: 100%;
   max-width: 1200px;
   height: auto;
   display: block;
   margin: 0 auto;
}
#banner div#n2-ss-2 {

}

#band {
   padding: 50px 0;
   background: #21120B url('video/hero.jpg') center calc(50% - 100px) no-repeat;
   background-size: 100%;
   /*animation: colourshift 20s infinite linear;*/
   animation: bandbg 4s infinite linear;
   position: relative;
}
@keyframes bandbg {
   0%   {background-size: 100%; background-position: 50% calc(50% - 100px); }
   25% {background-position: 50% calc(50% - 99px);} 
   50%   {background-size: 100.5%; }
   75% {background-position: 50% calc(50% - 101px);} 
   100% {background-size: 100%; background-position: 50% calc(50% - 100px); }
}
#band #mask {
   z-index: 1;
}
#band .contents {
   z-index: 10;
   position: relative;
}
#band h1 {
   color: #fff;
   margin: 0;
   text-align: center;
   font-weight: 400;
}
#band h1 a {
   color: #fff;
}
#band h1 a:hover {
   color: #DB4C07;
}

@keyframes colourshift {
   0%   {background: #88A24B;}
   50%  {background: #475527;}
   100% {background: #88A24B;}
}

#panelband {
   overflow: hidden;
   padding: 50px 0;
   background-color: #f0f0f0;
}
#panelband .contents {
   display: flex;
}
.panel {
   float: left;
   width: 32%;
   margin-left: 2%;
   position: relative;
   background-color: #4B4B4B;
   color: #fff;
   flex: 1;
}
#panel1 {
   margin-left: 0;
   background-color: #5A5A5A;
   animation: panelcolourswitch1 20s linear infinite;
 /*animation: name duration timing-function delay iteration-count direction fill-mode play-state;*/

}
#panel2 {
   background-color: #343434;
   animation: panelcolourswitch2 20s linear infinite;
}
#panel3 {
   background-color: #343434;
   animation: panelcolourswitch3 20s linear infinite;
}
@keyframes panelcolourswitch1 {
   0%   {background: #DB4C07;}
   32%  {background: #DB4C07;}
   34% {background: #343434;}
   65%   {background: #343434;}
   67%  {background: #343434;}
   98% {background: #343434;}
}
@keyframes panelcolourswitch2 {
   0%   {background: #343434;}
   32%  {background: #343434;}
   34% {background: #DB4C07;}
   65%   {background: #DB4C07;}
   67%  {background: #343434;}
   98% {background: #343434;}
}
@keyframes panelcolourswitch3 {
   0%   {background: #343434;}
   32%  {background: #343434;}
   34% {background: #343434;}
   65%   {background: #343434;}
   67%  {background: #DB4C07;}
   98% {background: #DB4C07;}
}

.panel .head {
   padding: 20px 0;
   font-size: 40px;
   text-align: center;
}
.panel .head a {
   color: #fff;
   text-decoration: none;
}
.panel .picture {
   text-align: center;
}
.panel .picture img {
   width: 100px;
   height: auto;
}
.panel .picture img:hover, .panel .head:hover + .picture img  {
   opacity: 0.9;
}
.panel .body {
   min-height: 100px;
   padding: 20px 15px;
   overflow: hidden;
   color: #fff;
}
.panel li {
   margin: 0;
}
.panel ul {
   margin: 0 0 0 10px;
}
.more {
   text-align: center;
   margin: 40px 0;
}
.panel .more {
   margin: 20px 0;
}
.more a, a.button {
   text-decoration:none;
   padding: 10px 30px;
   border-radius: 20px;
   color: #fff;
   background: #DB4C07;
   font-weight: bold;
}
.more a:hover {
   background: #88A24B;
}
p.btn-round-square {
   padding: 5px;
   margin: 0 auto;
   width: 160px;
}
.btn-round-square a {
   text-decoration:none;
   margin: 0 auto;
   padding: 0;
   width: 150px;
   height: 150px;
   display: flex;
   border-radius: 100px;
   color: #DB4C07;
   border: 5px solid #DB4C07;
   font-weight: bold;
   transition: all 0.2s;
   text-transform: uppercase;
   justify-content: center;
}
p.btn-round-square:hover a {
   border-radius: 0;
   color: #88A24B;
   border-color: #88A24B;
   height: 100px;
   margin: 25px auto;
}
.btn-round-square a span {
   align-self: center;
}
#banner .btn-round-square {
   width: 170px;
}
#banner .btn-round-square a {
   width: 160px;
   height: 160px;
   color: #fff;
   border-color: #fff;
   background-color: rgba(0,0,0,0.1);
   text-transform: none;
}
#banner p.btn-round-square:hover a {
   color: #fff;
   border-color: #fff;
   height: 110px;
   background-color: rgba(255,255,255,0.1);
}

.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%;
}
p.calltoaction {
   font-size: larger;
   margin: 50px 0;
   text-align: center;
   font-weight: bold;
}
p.calltoaction a {
   text-decoration: none;
   color: #B33B01;
}
p.calltoaction a:hover {
   color: #88A24B;
}

footer {
   background-color: #4B4B4B;
   color: #fff;
   padding: 50px 0;
   overflow: hidden;
}
footer .contents {
   position: relative;
}
footer a {
   color: #fff;
   text-decoration:none;
   font-weight: 600;
   display: inline-block;
}
footer nav ul {
   text-align: center;
}
footer nav li {
   display: block;
   vertical-align: top;
   padding: 0;
   text-align: left;
   line-height: 1.5em;
}
footer nav li a {
   padding: 0;
   margin: 0;
   font-weight: normal;
   text-transform: lowercase;
}
footer h4 {
   margin: 0 0 10px 0;
}
#footerlogo a {
   padding: 0;
   margin: 0;
}
#footerlogo img {
   max-width: 150px;
   height: auto;   
   padding: 0;
   margin: 0 0 40px 0;
}
#footerlogo .phone {
}
#footerlogo .email {
}

#credits {
   margin-top: 5px;
   padding: 10px;
   text-align: center;
   font-size: 16px;
   color: #999999;
}
#credits a {
   text-decoration: none;
   color: #999999;
}
#credits 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;
   margin: 0 0 5px 15px;
}
img.centeralign {
   display: block;
   margin: 10px auto;
   text-align: center;
}
.rightalign {
   text-align: right;
}
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;
}
.wrap {
   white-space: pre-wrap; 
   white-space: -moz-pre-wrap;
   white-space: -pre-wrap; 
   white-space: -o-pre-wrap;
   word-wrap: break-word;   
}

/* posts grid */
.display-posts-listing.grid {
	display: grid;
	grid-gap: 16px;
}
.display-posts-listing.grid .title {
	display: block;
}
.display-posts-listing.grid img { 
	display: inline-block; 
	max-width: 100%; 
	height: auto; 
}
.listing-item {
   background: #fff;
   padding: 20px;
   text-align: center;
}
.listing-item a.title {
   text-decoration: none;
}
.listing-item .excerpt {
   text-decoration: none;
   font-size: 16px;
   line-height: 1.2em;
   display: block;
   text-align: left;
}
.listing-item a.readmore {
   text-decoration: none;
   color: #4B4B4B;
   text-transform: lowercase;
}
.listing-item a.readmore::before {
   content: "... ";
}
.listing-item a.readmore::after {
   content: " >";
}
.listing-item a.readmore:hover {
   text-decoration: underline;
   color: #DB4C07;
}
.excerpt-dash, .screen-reader-text {
   display: none;
}

@media (min-width: 600px) {
	.display-posts-listing.grid {
		grid-template-columns: repeat( 2, 1fr );
	}
}
@media (min-width: 1024px) {
	.display-posts-listing.grid {
		grid-template-columns: repeat( 3, 1fr );
	}
}

/* WP Common Styles */
.postmeta {
   color: #999;
}
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:center;
   text-decoration: none;
   font-weight: bold;
}
.more-link:hover {
   text-decoration: underline;
}
.linklove {
   display:none;
}
/* Comments */
#comments {
   margin: 30px 0;
   color: #333;
   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: 16px;
	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: 16px;
	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: 16px;
	margin: 0;
}
#comments .pingback .url {
	font-size: 16px;
	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: 16px;
	font-weight: normal;
}
#respond .required {
	display:none;
}
#respond label {
	color: #888;
	font-size: 16px;
   width: 80px;
   display: block;
   float: left;
   text-align: right;
   padding-right: 10px;
}
#respond input {
	margin: 0 0 9px;
	width: 500px;
}
#respond input[type="checkbox"] {
	margin: 9px;
	width: auto;
   float: none;
}
#respond label[for="wp-comment-cookies-consent"] {
   width: auto;
   float: none;
   display: inline;
}
#respond textarea {
	width: 500px;
}
#respond .form-allowed-tags {
	color: #888;
	font-size: 16px;
}
#respond .form-allowed-tags code {
	font-size: 14px;
}
#respond .form-submit {
	margin: 12px 0;
}
#respond .form-submit input {
	font-size: 16px;
	width: auto;
}

/* testimonials */
section .strong-view.modern .readmore-page {
    background: #fff;
}
section .strong-view.modern a {
    text-decoration:none;
}
section .strong-view.modern a:hover {
    text-decoration:underline;
}

/* portfolio */
#portfolio-container .portfolio-parallax-number-layout-01 {
   top: -15%;
}
#portfolio-container .portfolio-parallax-number-layout-02 {
   top: 40%;
}
div.portfolio-single-container div.single-portfolio-header p > strong {
   display: none; /* hide date */
}
div.portfolio-projects-nav a div.icon {
   text-align: center;
}

/* business listings */
article.business-listing {
   border: none;
   padding: 50px;
   -webkit-box-shadow: 10px 10px 19px 10px rgba(0,0,0,0.29);
   -moz-box-shadow: 10px 10px 19px 10px rgba(0,0,0,0.29);
   box-shadow: 10px 10px 19px 10px rgba(0,0,0,0.29);
}
article.business-listing h3 {
   margin-top: 0;
}
article.business-listing h3 a {
   text-decoration: none; 
}
article.business-listing dl {
   font-size: smaller;
   margin-left: 50px;
}
article.business-listing dt {
   font-weight: bold;
   display: inline-block;
   min-width: 100px;
}
article.business-listing dd {
   margin: 0;
   display: inline; 
}
article.business-listing dd:after { 
   content: '\A'; 
   white-space:pre; 
}
article.business-listing img.logo {
   max-width: 160px;
   float: right;
   margin-left: 30px;
}

/* Contact Form 7 */
div.wpcf7 {
   clear: both;
   overflow: hidden;
   background-color: #e6e6e6;
   border-radius: 5px;
   width: 600px;
   padding: 0 50px !important;
   box-sizing: border-box;
   max-width: 100%;
   margin: 30px auto !important;
}
div.wpcf7 form {
   padding: 0;
   margin: 0;
}
div.wpcf7-response-output {
   background: #fff;
}
span.wpcf7-not-valid-tip {
   font-size: 0.750em !important;
}
input.wpcf7-submit {
   background: #666;
   color: #fff;
   font-size: 1.1em;
   border-radius: 3px;
   border: 1px solid #555;
   padding: 5px 20px;
}
input.wpcf7-submit:hover {
   background: #555;
}
input.wpcf7-text, input.wpcf7-captchar, textarea.wpcf7-textarea {
   border: 1px solid #aaa;
   width: 600px; 
   max-width: 100%;  
   height: 30px;
   font-size: 16px;
}
textarea.wpcf7-textarea {
   height: 180px;
}
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;
}


/* ------------------------------------------------- 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; }
   
   .mobile {display: none; }
   
   
/* MEDIUM-WIDE SCREEN */
/* width 750px - 1000px */
@media screen and (max-width: 1000px) {
   html,body { font-size: 18px; }

   nav a, #subnav a { margin: 0 5px; padding: 10px 15px; font-size: 16px; }
   
   #banner .contents {
      padding-bottom: 120px;
   }
   #banner_text { 
      font-size: 60px 
   }
   
   #panelband .contents {
      width: 100%;
   }
   .panel ul {
      margin: 0;
   }
   .panel .head { font-size: 30px;} 
   
   div.wpcf7 {
      padding: 0 30px !important;
   }   
   div.wpcf7 form {
       margin: 0 auto;
       max-width: 360px;
       width:auto;
   }
   
   input.wpcf7-text, input.wpcf7-captchar, textarea.wpcf7-textarea { width: 350px;}
}

/* MEDIUM-SMALL SCREEN */
/* width 500px - 750px */
@media screen and (max-width: 750px) {

   html,body { font-size: 16px; }
   .contents { width:90%; }
   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; }

   
   h1 { font-size: 28px; }
   h2 { font-size: 24px; }
   h3 { font-size: 22px; }
   h4 { font-size: 18px; }

   /*header #headertext { padding: 20px 20px 20px 0; }*/
   header { padding: 0; }
   header #headertext { display:none; }
   
   header #logo {
      padding: 0 20px;
      max-width: 100px;
   }
      
   #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 { width: 100%; min-height: 40px; text-align: right; margin: -40px 0 0 0; }
   #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;
   }

   #band {
      padding: 35px 0;
      background: #21120B url('video/hero.jpg') center center no-repeat;
      animation: bandbg2 4s infinite linear;
   }
   @keyframes bandbg2 {
      0%   {background-size: 100%; background-position: 50% center; }
      50%   {background-size: 100.5%; }
      100% {background-size: 100%; background-position: 50% center; }
   }
      
   #banner .contents {
      padding-bottom: 100px;
   }
   #banner_text { font-size: 46px }

   #panelband .contents {
      display: block;
   }
   .panel, #panel1 {
      float: none;
      width: 280px;
      margin: 10px auto;
      padding: 10px;
   }
      
   div.block { padding: 10px 20px; }
 
   div.wpcf7 form { width: 310px; }
   input.wpcf7-text, input.wpcf7-captchar, textarea.wpcf7-textarea { width: 300px;}

   footer h4 {
       margin: 30px 0 5px 0;
       text-align: center;
   }
   footer nav ul li, footer div.quartercol {
      text-align: center;
   }
   #footerlogo {
      text-align: center;
      margin-top: 30px;
   }
   #footerlogo img {
      max-width: 120px;
   }
   #credits {
      font-size: 14px;
   }
   
   /* comment form */
   #respond label {
      width: auto;
      float: none;
      text-align: left;
   }
   #respond input, #respond textarea {
   	width: 95%;
      max-width: 500px;
   }
   
   .wp-block-column {
       flex-basis: 100% !important;
       flex-grow: 1 !important;
   }   
}

/* SMALLEST SCREEN */
/* width 320px - 500px */
@media screen and (max-width: 500px) {	


   h1 { font-size: 25px; }
   h2 { font-size: 22px; }
   h3 { font-size: 20px; }
   h4 { font-size: 17px; }
      
      

   
   /*
   #banner .contents {
      background-color: #000000;
      animation: colorchangemobile 20s; 
   }
   @keyframes colorchangemobile
   {
      0%   {background: #444444;}
      100% {background: #000000;}
   }
   @-webkit-keyframes colorchangemobile 
   {
      0%   {background: #444444;}
      100% {background: #000000;}
   }
   */
   #banner video {
      height: 100%;
      width: auto;
   }
   #banner_stars {
      width: 100px;
      padding-top: 20px;
   }
   #banner_text {
      padding-top: 20px;
      padding-bottom: 20px;
      font-size: 25px;
   }
   #banner .contents {
      width: 100%;
      padding-bottom: 30px;
   }
   #banner .btn-round-square {
      width: 160px;
   }
   #banner .btn-round-square a {
      width: 150px;
      height: 150px;
   }
   #banner p.btn-round-square:hover a {
      height: 100px;
   }
   
   
   #panelband {
      padding: 0;
   }
   #panelband .contents {
      width: 100%;
   }
   .panel, #panel1 {
      width: 100%;
      margin: 0;
      padding: 10px;
      box-sizing: border-box;
   }
   .panel .head {
      padding: 10px 0;
      font-size: 30px;
      width: 75%;
      float: left;
      text-align: left;
      padding-left: 25px;
      box-sizing: border-box;
   }   
   .panel .picture {
       width: 25%;
       float: right;
   }
   .panel .picture img {
      width: 50px;
   }
   .panel .body {
      clear: both;
      padding: 5px 15px;
   }

   .quartercol { float: none; width: auto; margin: 20px 0 0 0;}  
   
   section { padding: 20px 0; }
   section:last-child {
      padding-bottom: 50px;
   }   
   
   div.block div.image img { float: none !important; display:block; margin: 30px auto; }   
   
   div.portfolio-filter-row {
      display:none;
   }
   .portfolio-image-holder {
      margin-bottom: 50px;
   }
   .portfolio-parallax-section {
      top: 0 !important;
   }


   /* business listings */
   article.business-listing {
      border: none;
      padding: 30px;
   }
   article.business-listing dl {
      margin-left: 20px;
   }
   article.business-listing dt {
      min-width: 60px;
   }
  
   /* Contact Form 7 */
   div.wpcf7 { margin: 10px auto !important; padding: 0 !important; width: 300px; }
   div.wpcf7 form { padding: 0 25px; width: auto;}
   input.wpcf7-text, input.wpcf7-captchar, textarea.wpcf7-textarea { width: 246px; height: 30px; }
   textarea.wpcf7-textarea { height: 120px; }     
   form.wpcf7-form div.wpcf7-response-output { margin: 2em 0 1em; padding: 0.2em 7px;}
   

}


