/*
Theme Name: Dynamic Door Service Inc.
Description: A custom theme developed for Dynamic Door Service Inc.
Version: 1.0
Author: DreamCo Design
Author URI: http://www.dreamcodesign.com/
*/


html, body {
	font-size: 1.125vw;
	font-family: 'Libre Franklin', sans-serif;
	overflow-x: hidden;
	background-color: #21262c;
}

.wrapper {
	width: 100%;
	overflow: auto;
	overflow-x: hidden;
	background-color: #f7f7f7;
}

.wrapper hr:last-child {
	display: none;
}

/* mobile menu */

.mobile-nav-bar {
	display: block;
	z-index: 100;
	width: 100%;
	padding: 15px 2px;
	text-align: right;
	background-color: white;
	border-bottom: solid 1px rgba(200, 200, 200, .5);
}

.mobile-nav-bar .menu-right{
	background-color: transparent;
	border: none;
	outline: none;
}

.cbp-spmenu {
	z-index: 9999;
	background-color: rgba(37,46,53,.95);
}

.cbp-spmenu-right.menu-open {
	overflow: -webkit-paged-x;
}

.cbp-spmenu .close-nav {
	background: #252e35;
	color: white;
	font-size: 32px;
	border: 0;
	padding: 10px 20px;
	margin: 0;
}

.cbp-spmenu .close-nav:hover {
	background: #252e35;
	color: #cecece;
	cursor: pointer;
}

.cbp-spmenu .close-nav:active {
	color: white;
}

.cbp-spmenu ul {
	list-style: none;
	padding: 0;
	text-align: center;
	text-transform: uppercase;
	width: 100%;
}

.cbp-spmenu ul li {
	display: block;
	float: none;
	text-align: left;
	border-bottom: 1px solid #21262c;
}

.cbp-spmenu ul li:last-child {
	border: none;
}

.cbp-spmenu ul li a{
	margin: 10px 1.5rem;
	color: white;
	transition: all .3s;
	font-weight: 200;
	border: 0;
	font-size: 14px;
}

.cbp-spmenu ul li a:active{
	background: transparent;
	color: white;
}

.cbp-spmenu ul li a:hover{
	background: transparent;
	color: #cecece;
	text-decoration: none;
}

.fa-lg {
	font-size: 42px !important;
	color: white;
}

.mobile-social-icons li a {
	padding: 8px 0;
}

.mobile-social-icons .fa-facebook {
    -o-transition:.5s;
    -ms-transition:.5s;
    -moz-transition:.5s;
    -webkit-transition:.5s;
    transition: .5s;
    box-shadow:inset 0px 0px 0px 100px white;
    border-radius: 50%;
    color: #333;
    
}
.mobile-social-icons .fa-facebook:hover {
	cursor: pointer;
}

.mobile-social-icons .fa-pinterest-p {
    -o-transition:.5s;
    -ms-transition:.5s;
    -moz-transition:.5s;
    -webkit-transition:.5s;
    transition: .5s;
    box-shadow:inset 0px 0px 0px 100px white;
    border-radius: 50%;
    color: #333;
}
.mobile-social-icons .fa-pinterest-p:hover {
	cursor: pointer;
}

.mobile-social-icons .fa-instagram {
    padding: 9px 10px;
    -o-transition:.5s;
    -ms-transition:.5s;
    -moz-transition:.5s;
    -webkit-transition:.5s;
    transition: .5s;
    box-shadow:inset 0px 0px 0px 100px white;
    border-radius: 50%;
    color: #333;
}
.mobile-social-icons .fa-instagram:hover {
	cursor: pointer;
}

/*  */

/* header */

nav {
	background-color: white;
	border-bottom: solid 1px rgba(200, 200, 200, .5);
	display: none;
}

.active a{
  	color: #4c80cb !important;
}

.navbar-brand {
    padding: 0;
    margin: 0;
    top: 12px;
    left: 0;
    width: 190px;
    position: absolute;
    opacity: 1;
	transition: all .3s;
}
.navbar-brand img {
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
}
.navbar-brand:hover {
	opacity: .7;
}

.navbar-brand-mobile {
    padding: 0;
    margin: 0;
    left: 2rem;
    width: 150px;
    position: absolute;
    top: 7px;
    color: white;
    font-size: 16px;
}
.navbar-brand-mobile img {
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
}
i
.mobile-nav-bar {
	display: block;
	position: absolute;
	z-index: 100;
	width: 100%;
	padding: 15px 2px;
	text-align: right;
	background-color: transparent;
}

.mobile-nav-bar .menu-right{
	background-color: transparent;
	border: none;
	outline: none;
}

.fa-bars {
	font-size: 38px !important;
	color: #282828;
}

.phone {
	position: absolute;
	top: 15px;
	right: 30px;
	z-index: 10;
	color: #242424;
	font-size: 14px;
	font-weight: 300;
	letter-spacing: 1px;
}

.phone-mobile {
	position: absolute;
	top: 15px;
	right: 10px;
	z-index: 10;
	color: white !important;
	font-size: 12px !important;
	font-weight: 300;
	letter-spacing: 1px;
	border-bottom: none !important;
}

.phone-mobile:hover {
	text-decoration: none !important;
	color: white;
	background-color: transparent !important;
}

.phone:hover {
	text-decoration: none;
	color: #242424;
}

.relative {
	position: relative;
}

.nav-right {
	float: right;
	font-size: 14px;
}

.nav-right li {
	margin: auto .5rem;
}

.nav-right li:last-child {
	margin: auto 0 auto .5rem;
}

.nav-right li a {
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 300;
	margin-top: 35px;
	margin-bottom: 0;
	color: #242424;
	transition: all .2s;
	font-size: 16px;
}

.nav-right li a:hover {
	background-color: transparent;
	color: #4c80cb;
}

button {
	z-index: 999;
}

ul.dropdown-menu li {
	padding: 15px 0;
}

ul.dropdown-menu a {
	margin: 0;
}

.dropdown-menu>.active>a{
	background-color: transparent !important;
}

/*  */


/* Slider */

.slick-dots {
	bottom: 15px;
}

.slick-dots li button:before {
	font-size: 12px;
	color: white;
}

.slick-dots li.slick-active button:before {
	color: white;
}

.slick-dotted.slick-slider {
	margin-bottom: 0;
}

.slider {
	overflow: auto;
	width: 100%;
}

.slider .image {
	width: 100%;
	height: 55vh;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	background-color: grey;
	-webkit-filter: brightness(90%); /* Safari */
    filter: brightness(90%);	
}

.center {
	background-color: rgba(0,0,0,.5);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 90%;
	text-align: center;
	padding: 15px 0;
}

.center h1 {
	color: white;
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 700;
	font-size: 22px;
	letter-spacing: 1px;
	text-transform: capitalize;
}

.center h2 {
	color: white;
	font-family: 'Libre Franklin', sans-serif;
	font-size: 16px;
}

.banner-buttons .btn {
	box-shadow: inset 0 0 0 50px white;
	color: black;
	font-family: 'Libre Franklin', sans-serif;
	text-transform: uppercase;
	border-radius: 25px;
	padding: 13px 30px 10px 30px;
	margin: 15px;
	transition: all .4s;
}

.banner-buttons .btn:hover {
	box-shadow: inset 0 0 0 3px white;
	color: white;
	background: transparent;
}

/*  */

/* Main */

.about{
	position: relative;
	padding: 7% 0;
	background-color: #4c80cb;
	color: white;
}

.invert{
	position: relative;
	padding: 5% 0;
	background-color: white;
	color: #282828;
}

.about h1 {
	font-size: 20px;
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 500;
}

.about h2 {
	font-size: 16px;
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 500;
}

.about p {
	font-family: 'Libre Franklin', sans-serif;
	font-size: 16px;
	text-align: left;
	text-align: justify;
	margin-top: 30px;
}

.arrow {
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 0;
	left: 0;
	top: 0;
}

/*  */

/* Page */

.title {
	width: 100%;
	padding: 3% 0;
	overflow: auto;
	color: #d1d1d1;
}

.title h1 {
	font-family: 'Libre Franklin', sans-serif;
	font-size: 26px;
	font-weight: 700;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 2px;
}

.title-hr {
	width: 80px;
	border: #005ba2 3px solid;
	display: block !important;
}

.body {
	padding-bottom: 5%;
}

.body h2 {
	font-family: 'Libre Franklin', sans-serif;
	font-size: 24px;
	color: #252e35;
	text-transform: uppercase;
	margin-bottom: 10px;
}

.body h3 {
	text-transform: uppercase;
	font-size: 16px;
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 700;
	color: #252e35;
}

.body p {
	font-family: 'Libre Franklin', sans-serif;
	font-size: 18px;
	margin-top: 30px;
}

.serv-body {
	padding: 15px;
}

.serv-body h3{
	text-transform: uppercase;
	font-size: 16px;
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 700;
	color: #252e35;
}

.serv-body p {
	font-family: 'Libre Franklin', sans-serif;
	font-size: 18px;
	margin-top: 30px;
}

.serv-body img {
	width: 100%;
}

/*  */

/* Gallery */

.gallery_filter {
	text-transform: capitalize;
}

.menu-gallery {
	padding: 0 15px;
	float: left;
	width: 100%;
}
.menu-gallery .gallery-item {
	width: 25%;
	float: left;
	min-height: 13rem;
	position: relative;
	overflow: hidden;
	padding: 5px;
}
.menu-gallery .gallery-item .item-container {
	width: 100%;
	height: 100%;
	background-position: center center;
	background-size: cover;
	position: absolute;
}
.gallery_filter, .show_all {
	padding: 10px 15px;
	background-color: #192a37;
	font-size: 12px;
	text-transform: uppercase;
	color: white;
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 700;
	border: none;
	margin: 5px;
}
.gallery_filter.active, .show_all.active {
	color: white;
	background-color: #131c22;
}
.menu-gallery .button-group {
	float: left;
	width: 100%;
}

@media all and (max-width: 768px) {
	.menu-gallery .gallery-item {
		width: 50%;
		min-height: 200px;
	}
}

@media all and (max-width: 360px) {
	.menu-gallery .gallery-item {
		width: 100%;
		min-height: 200px;
	}
}

/*  */

/* Services */

.course-wrap {
	width: 100%;
	overflow: auto;
	box-shadow: 0 1px 1px 0 rgba(0,0,0,0.2);
}

.course-wrap hr{
	margin: 0;
	border-top: 6px solid #252e35;
}

.course-image {
	height: 180px;
	width: 100%;
	background-color: grey;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	position: relative;
}

.service-title {
	width: 90%;
	overflow: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: white;
}

.service-title h3 {
	color: white;
	text-transform: uppercase;
	margin: 0;
	padding: 0;
	font-family: 'Oswald', sans-serif;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.8);
}

.course-wrap .content {
	width: 100%;
	height: 320px;
	padding: 15px;
}

.course-wrap .content h4 {
	font-family: 'Libre Franklin', sans-serif;
	font-size: 18px !important;
	font-weight: 500;
	font-size: 1.7rem;
	color: #005ba2;
}

.course-wrap .content hr {
	margin-top: 1rem;
    margin-bottom: 1rem;
    border: 0;
    border-top: 1px solid rgba(0,0,0,.1);
}

.course-wrap .content p {
	font-family: 'Libre Franklin', sans-serif;
	font-size: 13px;
    line-height: 1.8;
}

.course-wrap .content a {
	color: #005ba2;
}

.course-wrap .content a:hover {
	color: #005ba2;
}

/*  */

/* contact form */

#map {
    height: 350px;
    width: 100%;
    margin-top: 23px;
}

.contact-info {
	text-decoration: none;
	list-style: none;
	margin: 10px 0;
	padding: 0;
	font-size: 16px;
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 300;
}

.contact-info li {
	text-decoration: none;
	padding: 5px;
	font-size: 20px;
    font-weight: 700;
    color: #2c3e50;
}

.contact-info li a{
	text-decoration: none;
	list-style: none;
	font-size: 16px;
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 300;
}

.contact-info li a:hover{
	color: #333;
	text-decoration: none;
	cursor: pointer;
}

.contact-info li .fa {
	margin-right: 8px;
}

.gfield_label {
	font-size: 14px !important;
}

.gfield_checkbox {
	font-size: 14px;
}

.gform_wrapper .gform_footer input.button, .gform_wrapper .gform_footer input[type=submit], .gform_wrapper .gform_page_footer input.button, .gform_wrapper .gform_page_footer input[type=submit] {
	width: auto;
    margin: 5px !important;
    background-color: white !important;
    border: solid 2px #252e35;
    padding: 10px 45px;
    font-size: 16px !important;
    outline: 0 !important;
    color: #252e35;
    border-radius: 25px;
}

.gform_wrapper .gform_fileupload_multifile .gform_drop_area {
    border: 1px dashed #CCC;
    width: auto;
    margin: 5px !important;
    background-color: transparent;
    border: solid 2px #333;
    text-transform: uppercase;
    padding: 8px 36px;
    font-size: 16px !important;
    outline: 0 !important;
 }
 
 .gform_drop_instructions {
	color: #333 !important;
 }
 
 .gform_confirmation_message_3 {
	font-size: 16px;
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 400;
 }
 
 .ginput_preview {
	color: #333 !important;
	font-size: 14px;
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 300;
 }
 
 .screen-reader-text {
	color: red !important;
	font-size: 14px;
	font-family: 'Libre Franklin', sans-serif;
	font-weight: 300;
 }

.gform_wrapper textarea {
	padding: 15px !important;
    letter-spacing: normal;
    background-color: #F2F2F3;
    border: 0;
    font-weight: 300;
    line-height: 1.5;
    resize: none;
    margin: 5px;
    font-size: 14px !important;
    outline: 0 !important; 
}

.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]){
    padding: 15px !important;
    letter-spacing: normal;
    background-color: #F2F2F3;
    border: 0;
    font-weight: 300;
    margin: 5px;
    font-size: 14px !important;
    outline: 0 !important;
}

.gform_wrapper .gform_footer {
	padding: 0 !important;
	margin-top: 16px !important;
	text-align: center;
}

.gform_footer .top_label {
	text-align: center;
}

/*  */

.location-section h2{
	font-family: 'Libre Franklin', sans-serif;
	font-size: 20px;
	color: #252e35;
	margin-bottom: 10px;
}

.location-section p{
	font-family: 'Libre Franklin', sans-serif;
	font-size: 18px;
}

.connect {
	padding: 15px 25px;
	background-color: #182429;
	color: white;
	position: fixed;
	right: 3rem;
	bottom: 0;
	box-shadow: 0 1px 1px 0 rgba(0,0,0,0.2);
	z-index: 9999;
}

.connect p{
	font-family: 'Libre Franklin', sans-serif;
	font-size: 16px;
	text-transform: uppercase;
	padding: 0;
	margin: 0;
}

/* footer */

footer {
	padding: 1rem 0 0 0;
	z-index: 5;
	background-color: #252e35;
}

.footer .container {
	position: relative;
}
.footer a {
	color: white;
}

.footernav {
	padding: 0;
	clear: both;
	text-align: center;
	width: 100%;
}
.footernav li {
	list-style-type: none;
	padding: 2rem 3rem;
	text-align: left;
	display: block;
}
.footernav li a {
	font-weight: 300;
	color: white;
	font-size: 12px;
	letter-spacing: 1px;
	padding: 0.5rem 1.4rem;
    border-radius: 0;
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -o-transition: all .3s ease;
    transition: all .3s ease;
}

.footernav li a:hover {
	text-decoration: none;
	cursor: pointer;
	opacity: .5;
}
.footmenu {
	text-align: center;
	border-bottom: 1px solid #333;
}

.coverage {
	padding: 0;
	clear: both;
	width: 60%;
	margin: 0 auto;
	text-align: center;
	font-size: 12px;
}

.coverage li{
	color: grey;
	list-style-type: none;
	padding: 0.8rem 0;
	text-align: center;
	display: inline-block;
	padding: 0.5rem 1rem;
}

.copyright-wrap {
	background-color: #21262c;
}

.copyright {
	font-size: 11px;
}

.copyright p, .copyright a{
	margin: 15px 0;
	color: white;
	font-weight: 400;
}

.copyright a:hover {
	text-decoration: none;
}

/* social icons */

.footer-social-icons {
    display:block;
    margin: 0 auto;
}

ul.contact-icons {
	padding: 0;
    padding-bottom: 1rem;
    padding-top: .5rem;
    text-align: left;
    font-size: 14px;
    width: 100%;
}
.contact-icons li {
    vertical-align: top;
    display: inline;
    height: 100px;
}
.contact-icons a {
    color: #fff;
    text-decoration: none;
    margin: 0 13px;
    font-size: 1em;
}
.contact-icons a .fa-phone{
	 padding: 8px 11px 8px 12px;
    -o-transition:.5s;
    -ms-transition:.5s;
    -moz-transition:.5s;
    -webkit-transition:.5s;
    transition: .5s;
    box-shadow:inset 0px 0px 0px 100px white;
    border-radius: 50%;
    color: #263238;
    font-size: 1.5em;
}
ul.social-icons {
	padding: 0;
    padding-bottom: 1rem;
    padding-top: .5rem;
    text-align: right;
    font-size: 14px;
    width: 100%;
}
.social-icons li {
    vertical-align: top;
    display: inline;
    height: 100px;
}
.social-icons a {
    color: #fff;
    text-decoration: none;
    margin: 0 13px;
    font-size: 1.5em;
}

.fa-facebook {
    padding: 8px 13px;
    -o-transition:.5s;
    -ms-transition:.5s;
    -moz-transition:.5s;
    -webkit-transition:.5s;
    transition: .5s;
    box-shadow:inset 0px 0px 0px 1px white;
    color: white;
    
}
.fa-facebook:hover {
	cursor: pointer;
	color: white;
	box-shadow:inset 0px 0px 0px 100px #3d5b99;
}
.fa-google-plus {
    padding: 8px 5px;
    -o-transition:.5s;
    -ms-transition:.5s;
    -moz-transition:.5s;
    -webkit-transition:.5s;
    transition: .5s;
    box-shadow:inset 0px 0px 0px 100px white;
    border-radius: 50%;
    color: #263238;
    
}
.fa-google-plus:hover {
	cursor: pointer;
	color: #fff;
	box-shadow:inset 0px 0px 0px 100px #e05040;
}
.fa-instagram {
    padding: 9px 10px;
    -o-transition:.5s;
    -ms-transition:.5s;
    -moz-transition:.5s;
    -webkit-transition:.5s;
    transition: .5s;
    box-shadow:inset 0px 0px 0px 100px white;
    border-radius: 50%;
    color: #263238;
}
.fa-instagram:hover {
	cursor: pointer;
	color: #fff;
    box-shadow:inset 0px 0px 0px 100px #9653b2;
}
.fa-twitter {
    padding: 9px 10px;
    -o-transition:.5s;
    -ms-transition:.5s;
    -moz-transition:.5s;
    -webkit-transition:.5s;
    transition: .5s;
    box-shadow:inset 0px 0px 0px 100px white;
    border-radius: 50%;
    color: #263238;
}
.fa-twitter:hover {
	cursor: pointer;
	color: #fff;
	box-shadow:inset 0px 0px 0px 100px #00aced;
}
.fa-pinterest-p {
    padding: 9px 12px;
    -o-transition:.5s;
    -ms-transition:.5s;
    -moz-transition:.5s;
    -webkit-transition:.5s;
    transition: .5s;
    box-shadow:inset 0px 0px 0px 100px white;
    border-radius: 50%;
    color: #263238;
}
.fa-pinterest-p:hover {
	cursor: pointer;
	color: #fff;
	box-shadow:inset 0px 0px 0px 100px #BF2026;
}

/* social icons end */

/* footer end */

@media screen and (min-width: 760px) {	
	
.center {
	background-color: rgba(0,0,0,.4);
	width: 100%;
}
	
.center h1 {
	font-size: 3.5rem;
}

.center h2 {
	font-weight: lighter;
	font-size: 2.5rem;
}

.center p, .center a{
	font-size: 14px;
	font-family: 'Lato', sans-serif;
}

.center a:hover{
	color: white;
}

.title h1 {
	font-size: 2.2rem;
}

.footernav li {
	list-style-type: none;
	padding: 1rem 0;
	text-align: center;
	display: inline-block;
}

}

@media screen and (min-width: 968px) {
	
.mobile-nav-bar {
	display: none;
}

nav {
	display: block;
}

.course-wrap .content p {
	font-size: 15px;
}

}

@media screen and (min-width: 1300px) {
	
.about h1 {
	font-size: 1.5rem;
}

.about h2 {
	font-size: 1rem;
}

.about p {
	font-size: .9rem;
}
	
}

.location {
    background: #182429;
    width: 100%;
    padding: 30px;
    text-align: center;
    overflow: auto;
}

.location p {
	color: white;
	font-family: 'Libre Franklin', sans-serif;
    font-weight: 500;
    font-size: 16px;
    margin: 0;
    padding: 0;
}

span {
	text-decoration: underline;
}