/*
Theme Name: Geelong Drain Specialists
Theme URI: http//dobble.com.au
Description: Geelong Drain Specialists - WordPress Theme
Author: Dobble Pty Ltd
Author URI: http://dobble.com.au
Version:1.0
*/
@font-face {
	font-family:'Patua One';
	src:url(fonts/PatuaOne-Regular.woff2) format("woff2"),url(fonts/PatuaOne-Regular.woff) format("woff");
	font-weight:400;
	font-style:normal;
	font-display:swap;
}
@font-face {
  font-family: "Roboto";
  src: url(fonts/Roboto-Light.woff) format("woff"), /* Modern Browsers */
    url(fonts/Roboto-Light.woff2) format("woff2"); /* Modern Browsers */
  font-weight: 300;
  font-style: normal;
  font-display:swap;
}
@font-face {
  font-family: "Roboto";
  src: url(fonts/Roboto-Regular.woff) format("woff"), /* Modern Browsers */
    url(fonts/Roboto-Regular.woff2) format("woff2"); /* Modern Browsers */
  font-weight: 400;
  font-style: normal;
  font-display:swap;
}
@font-face {
  font-family: "Roboto";
  src: url(fonts/Roboto-Bold.woff) format("woff"), /* Modern Browsers */
    url(fonts/Roboto-Bold.woff2) format("woff2"); /* Modern Browsers */
  font-weight: 700;
  font-style: normal;
  font-display:swap;
}
* {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;	
	box-sizing:border-box;
	outline:none;
}
html,
body {
	margin:0;
	padding:0;
}
html {
	scroll-behavior:smooth;
}
/* width */
::-webkit-scrollbar {
  width: 10px;
}

/* Track */
::-webkit-scrollbar-track {
  background: #e8eaee; 
}
 
/* Handle */
::-webkit-scrollbar-thumb {
  background: #888; 
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background: #555; 
}
body {
	font-family: 'Roboto', sans-serif;
	font-weight:300;
	font-size:15px;
	line-height:185%;
}
@-webkit-keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
@-moz-keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
@keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
.fade-in {
  opacity:0;  /* make things invisible upon start */
  -webkit-animation:fadeIn ease-in 2.3s;  /* call our keyframe named fadeIn, use animattion ease-in and repeat it only 1 time */
  -moz-animation:fadeIn ease-in 2.3s;
  animation:fadeIn ease-in 2.3s;

  -webkit-animation-fill-mode:forwards;  /* this makes sure that after animation is done we remain at the last keyframe value (opacity: 1)*/
  -moz-animation-fill-mode:forwards;
  animation-fill-mode:forwards;

  -webkit-animation-duration:1s;
  -moz-animation-duration:1s;
  animation-duration:1s;
}
.content-area {
	width:100%;
	max-width:1200px;
	padding:30px;
	position:relative;
	margin:0 auto;
}
a {
	text-decoration:none;
	color:inherit;
	
	transition:all .2s ease;
	-moz-transition:all .2s ease;
	-webkit-transition:all .2s ease;
	-o-transition:all .2s ease;
}
a:hover {
	color:#4369BC;
}
#mobile-nav-container {
	width:100%;
	max-width:260px;
	height:100%;
	background-color:#4369BC;
	display:block;
	position:fixed;
	right:-260px;
	top:0;
	z-index:9999;
	
	transition: all .5s ease-in-out;
}
#mobile-nav-container ul li {
	width:100%;
	color:#fff;
	font-size:14px;
	line-height:22px;
	font-weight:400;
	outline:none;
}
#mobile-nav-container ul li a {
	padding:12px 18px;
	width:100%;
	height:100%;
	display:block;
}
#mobile-nav-container ul li a:hover {
	color:#fff;
	background-color:#6987C9;
}
.menu-icon {
	width: 30px;
	height: 19px;
	position: absolute;
	top:41px;
	right:30px;
	display:none;
	cursor:pointer;
	z-index:9999;
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: .5s ease-in-out;
	-moz-transition: .5s ease-in-out;
	-o-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
}
.menu-icon:hover span {
	background-color:#6987C9 ;
}
.menu-icon span {
	display: block;
	position: absolute;
	height: 3px;
	width: 100%;
	background: #4369BC;
	border-radius:0px;
	opacity: 1;
	left: 0;
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: .25s ease-in-out;
	-moz-transition: .25s ease-in-out;
	-o-transition: .25s ease-in-out;
	transition: .25s ease-in-out;
}
.menu-icon span:nth-child(1) {
	top: 0px;
}
.menu-icon span:nth-child(2) {
	top: 8px;
}
.menu-icon span:nth-child(3) {
	top: 16px;
}
.menu-icon.open span {
	border-radius:5px;
}
.menu-icon.open span:nth-child(1) {
	top: 9px;
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	-o-transform: rotate(135deg);
	transform: rotate(135deg);
}
.menu-icon.open span:nth-child(2) {
	opacity: 0;
}
.menu-icon.open span:nth-child(3) {
	top: 9px;
	-webkit-transform: rotate(-135deg);
	-moz-transform: rotate(-135deg);
	-o-transform: rotate(-135deg);
	transform: rotate(-135deg);
}
#menuToggle {
	display:none;
}
#menuToggle:checked ~ #mobile-nav-container {
	right:0;
}
#menuToggle:checked ~ header .menu-icon {
	/*position:fixed;*/
	right:270px;
}
#menuToggle:checked ~ header .menu-icon span {
	background-color:#fff;
}
.dimmer {
	width:100%;
	height:100%;
	display:none;
	background-color:rgba(255,255,255,1);
	position:fixed;
	z-index:9998;
	
	transition-delay:all 2s;
	transition:all .5s ease-in-out;
}
@media all and (max-width:960px) {
	#primary-menu {
		display:none;
	}
	.menu-icon {
		display:block;
	}
	#mobile-nav-container {
		display:block;
	}
	#menuToggle:checked ~ .dimmer {
		display:block;
		background-color:rgba(0,0,0,.7);
	}
	#breadcrumb-container {
		display:none;
	}
}
ul {
	margin:0;
	padding:0;
	list-style-type:none;
}
#site-details {
	background-color:#000;
	color:#fff;
	font-size:15px;
	text-align:center;
}
#legal-links ul li {
	display:inline-block;
	border-right:1px solid #fff;
	padding:0px 10px;
	height:20px;
	vertical-align:middle;
	line-height:20px;
}
#legal-links ul li:nth-child(2) {
	border-right:none;
}
#site-author a {
	font-family:"Patua One", cursive;
	font-size:16px;
}
#site-author a:hover {
	color:#6abc9f;
}
@media all and (max-width:480px) {
	#site-details {
		line-height:150%;
	}
	#legal-links ul {
		margin-bottom:20px;
	}
	#legal-links ul li {
		display:block;
		margin:10px auto;		
		height:auto;
		border:none;
	}
}
#top-header {
	background-color:#e8eaee;
}
ul#header-contact-links {
	text-align:right;
}
ul#header-contact-links li {
	display:inline-block;
	margin:0px 20px;
}
.header-contact-icons {
	width:18px;
	height:17px;
	display:inline-block;
	background-image:url(images/header-contact-icons.png);
	background-position:0 0;
	background-size:36px 17px;
	background-repeat:no-repeat;
	margin-right:8px;
}
@media all and (max-width:560px) {
	ul#header-contact-links li:first-child {
		display:none;
	}
	ul#header-contact-links {
		text-align:center;
	}
	ul#header-contact-links li:nth-child(2) a {
		font-weight:400;
		font-size:18px;
	}
}
header {
	background-color:#fff;
	color:#4369BC;
	font-size:0;
	position:relative;
	box-shadow:0px 5px 7px -1px rgba(0,0,0,.1);
}
nav#primary-menu {
	position:absolute;
	top:18px;
	right:30px;
}
nav#primary-menu ul li {
	display:inline-block;
	font-size:16px;
	text-transform:uppercase;
}
nav#primary-menu ul li a {
	width:100%;
	height:100%;
	display:block;
	padding:20px;
	
}
nav#primary-menu ul li a:hover {
	background-color:#6987C9;
	color:#fff;
}
.banner {
	padding:180px 30px;
	background-image:url(images/home-banner.jpg);
	background-size:cover;
	background-position:center center;
	background-repeat:no-repeat;
	text-align:center;
	color:#fff;
}
.banner .heading {
	font-size:48px;
	font-weight:700;
	display:block;
	text-transform:uppercase;
	line-height:150%;
}
.banner .desc {
	font-size:30px;
	font-weight:300;
	display:block;
	margin-bottom:40px;
	line-height:150%;
}
.banner .button {
	font-size:18px;
	padding: 22px 40px;
	text-transform:uppercase;
	letter-spacing:2px;
}
@media all and (max-width:560px) {
	.banner {
		padding:130px 30px;
	}
	.banner .heading {
		font-size:32px;
	}
	.banner .desc {
		font-size:22px;
		margin:20px auto;
	}
	.banner .button {
		letter-spacing:0;
	}
}
section.grey-section {
	background-color:#e8eaee;
	padding:30px;
	text-align:center;
}
ul#services {
	white-space:nowrap;
	overflow-x:auto;
}
ul#services li {
	width:100%;
	max-width:350px;
	padding:30px;
	background-color:#fff;
	text-align:center;
	border:1px solid #ccc;
	position:relative;
	display:inline-block;
	margin:10px;
	white-space:normal;
	border-top:4px solid #4369BC;
	vertical-align:top;
}
ul#services .service-icon {
	width:120px;
	height:90px;
	display:block;
	background-image:url(images/service-icons.png);
	background-size:960px 90px;
	background-repeat:no-repeat;
	margin:0 auto 15px;
}
.blocked-drains {
	background-position: 0 0;
}
.blocked-sewer {
	background-position: -120px 0;
}
.commercial-water-jetting {
	background-position: -240px 0;
}
.domestic-water-jetting {
	background-position: -360px 0;
}
.drain-pipe-locating {
	background-position: -480px 0;
}
.drain-cleaning {
	background-position: -600px 0;
}
.drain-inspection {
	background-position: -720px 0;
}
.drain-repairs {
	background-position: -840px 0;
}
ul#services li h3 {
	font-weight:400;
	font-size:22px;
	line-height:200%;
	margin:7px auto 0px;
}
ul#services li p {
	font-size:14px;
	margin:5px auto 15px;
	line-height:200%;
}
#contact-info-container {
	text-align:center;
}
#contact-info-container h3 {
	font-size:18px;
	margin:0 auto 12px;
}
#contact-info-container .col {
	width:100%;
	max-width:300px;
	margin:10px auto;
	display:inline-block;
	vertical-align:top;
	text-align:center;
}
#contact-info-container p {
	text-align:left;
	margin:0 auto;	
}

#contact-form-wrapper {
	width:100%;
	max-width:960px;
	margin:0 auto;
	text-align:center;
}
.col-3 {
	width:100%;
	max-width:960px;
	column-count:3;
	-moz-column-count:3;
	-webkit-column-count:3;
	column-gap:30px;
	-moz-column-gap:30px;
	-webkit-column-gap:30px;
	margin:0 auto;
	display:inline-flex;
}
.col-3 span {
	width:100%;
}
input,
button,
textarea,
select {
	width:100%;
	margin: 10px auto 10px;
	border:1px solid #ccc;
	font:inherit;	
	padding:15px;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
}
select {
	height:59px;
}
textarea {
	height:150px;
	resize:none;
	overflow:auto;
}
.button,
button,
input[type="submit"] {
	display:inline-block;
	padding:12px 50px;
	background-color:#4369BC;
	color:#fff;
	margin:4px 0;
}
input[type="submit"],
button {
	width:auto;
	color:#fff;
	font-size:15px;
	border:0;
	cursor:pointer;
	display: block;
	transition: background-color .2s ease-in-out;
	-moz-transition: background-color .2s ease-in-out;
	-webkit-transition: background-color .2s ease-in-out;
}
.button:hover,
button:hover,
input[type="submit"]:hover {
	background-color:#6987C9;
	color:#fff;
}
.button.book-now {
	-webkit-border-radius:6px;
	-moz-border-radius:6px;
	border-radius:6px;
	font-weight:600;
	font-size:1.8rem;
}
.reverse-colour {
	background-color:#6987C9 !important;
}
.reverse-colour:hover {
	background-color:#4369BC !important;
}
#contact-form-wrapper input {
	display:inline-flex;
}
@media all and (max-width:825px) {
	#contact-form-wrapper {
		max-width:none;
	}
	#contact-form-wrapper .col-3 {
		column-count:1;
		-moz-column-count:1;
		-webkit-column-count:1;
		display:inline-block;
	}
	#contact-info-container {
		margin-bottom:30px;
	}
	#contact-info-container .col {
		max-width:none;
		text-align:center;
	}
}
#top-footer {
	border-top:4px solid #e8eaee;
}
#top-footer h4 {
	font-size:18px;
	margin:20px auto;
}
#footer-widget-container {
	text-align:center;
}
.footer-widget {
	width:100%;
	max-width:300px;
	padding:0px;
	margin:0 auto;
	display:inline-block;
	vertical-align:top;
	text-align:center;
	margin-right:20px;
}
.footer-widget p {
	 font-size:15px;
}
@media all and (max-width:1260px) {
	.footer-widget {
		max-width:480px;
		margin-bottom:20px;
	}
}
#project-details-container {
	text-align:center;
	font-size:0;
}
.project-details {
	width:100%;
	display:inline-block;
	margin:0 auto;
	vertical-align:top;
	text-align:left;
	font-size:16px;
}
.project-details p {
	margin:0 auto;
}
.w70 {
	max-width:700px;
	margin-right:88px;
}
.w30 {	
	max-width:342px;
}
@media all and (max-width:1200px) {
	.project-details {
		max-width:none;
		margin:0 auto 30px 0;
	}
}
.svg-icons {
	width:20px;
	height:20px;
	margin-top:4px;
	margin-bottom:-4px;
	margin-right:8px;
}
.contact-svg {
	fill:#e8eaee;
	margin-right:2px;
}
.header-svg {
	fill:#4369BC;
}
.button-svg {
	fill:#fff;
	
}
h2.heading-tagline {
	color:#4369BC;
}
fieldset {
    border: 1px solid #eaeaea;
	padding:36px;
	margin:30px auto 10px;
}
fieldset legend {
    padding: 7px 20px;
    background-color: #4369BC;
    color: #fff;
    margin: 8px;
    font-weight: 400;
}
.half-input {
	column-count:2;
	-moz-column-count:2;
	-webkit-column-count:2;
}
@media all and (max-width:640px) {
	.half-input {
		column-count:1;
		-moz-column-count:1;
		-webkit-column-count:1;
	}
}
#map {
	width:100%;
	height:400px;
	display:block;
}
#mvv-container {
	width:100%;
	display:block;
	text-align:center;
	margin:60px auto;
}
.mvv {
	width:100%;
	max-width:370px;
	vertical-align:top;
	padding:10px;
	display:inline-block;
}
.mvv h2 {
	margin:30px auto;
	color:#4369BC;
}
.mvv-icon {
	width:180px;
	height:120px;
	margin:0 auto 30px;	
	background-image:url(images/mvv-icons.png);
	background-size: 525px 140px;
	background-repeat:no-repeat;
}
.mission {
	background-position:0 0;
}
.vision {
	background-position:-175px 0;
}
.values {
	background-position:-350px 0;
}
.service-list-items li {
	margin-bottom:20px;
}
.service-list-items li:before {
	content: "■";
	color: #4369BC;
	display: inline-block;
	width: 20px;
}
.tabs {
  overflow: hidden;
} 
.tab {
  width: 100%;
  overflow: hidden;
}
.tab-label {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
  padding: 0px;
  border-bottom:1px solid #000;
  cursor: pointer;
  margin:5px auto;
}
.tab-label::after {
  content: "+";
  font-weight:400;
  font-size:20px;
}
.tab-content {
  max-height: 0;
  color: #2c3e50;
  padding:0;
  margin:0;
  font-size:13px;
  -webkit-transition: all .5s;
  transition: all .5s;
  
  line-height:200%;
  overflow:auto;  
}
.tabs input:checked + .tab-label::after {
	content: "-";
}
.tabs input:checked ~ .tab-content {
  max-height: 220px;
  border-bottom:1px solid #000;
  padding-bottom:20px;
  
  
  transition: all 1s ease-in-out;
	-webkit-transition: all .35s linear; 	
	-moz-transition:all .35s linear;
	-o-transition:all .35s linear;
}
.tabs input {
	  position: absolute;
	  opacity: 0;
	  z-index: -1;
	  width:auto;
}
h2 {
	text-align:center;
	color:#4369BC;
	margin:50px auto 30px;
}
.flexi-col50-100 {
  float: left;
  width: 50%;
  padding: 5px;
}

/* Clearfix (clear floats) */
.row::after {
  content: "";
  clear: both;
  display: table;
}
.heading-bg {
	display:inline-block !important;
	background-color:rgba(0,0,0,.65);
	padding:1.25rem;
}
@media all and (max-width:720px) {
	.flexi-col50-100 {
	  width: 100%;
	}
}
.footer-heading {
	font-weight:600;
	font-size:18px;
	text-align:center;
	margin-bottom:12px;
}