/*
Theme Name:         Canandaigua Lady
Theme URI:          http://cdgalady.com/
Description:        Custom WordPress Design
Version:            1.0
Author:             Managed Services Team
Author URI:         https://www.go-mst.com/
Text Domain:        Roots

License:            MIT License
License URI:        http://opensource.org/licenses/MIT
*/

/** FONTS **/
@import url("https://fonts.googleapis.com/css?family=Cabin:400,700");
@font-face {
    font-family: 'Futura';
    src: url('http://cdgalady.com/dev/wp-content/themes/canandaiguaLady/assets/fonts/futura-medium-webfont.woff2') format('woff2'),
         url('http://cdgalady.com/dev/wp-content/themes/canandaiguaLady/assets/fonts/futura-medium-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
/** General WP **/
body {
	font-size: 18px;
	color: #666666;
	font-family: 'Cabin', sans-serif;
	line-height: 1.7em;
	font-weight: 400;
	background: #fff;
}
.wow {
  visibility: hidden;
}
.absolute {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
}
.absolute-bottom {
    position: absolute;
    bottom: 15px;
    width: 100%;
    left: 0;
}
.bordered {
    border:double 10px;
}
hr {
    margin-top: 2rem;
    margin-bottom: 2rem;
}
hr.double {
    border-bottom: double 7px;
}
hr.white {
    background: #fff;
}
a, a:hover {
    color: #4f4f4f;
    text-decoration: none;
}
.large-margin-bottom {
    margin-bottom: 30px;
    overflow: hidden;
}
.videoWrapper {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    height: 0;
}
.videoWrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
@media(max-width:767px) {
    .no-margin-bottom-xs {
        margin-bottom: 0px;
    }
}
.wrap a, a:hover {
    color: #4f4f4f;
    transition: all .2s ease-in;
}
.wrap a:hover {
    opacity: .9;
}
.main li {
    margin-bottom: .5em;
}
.wrap {
    padding-top: 0px;
}
ul.no-padding-left {
    padding-left: 20px;
}
ul.centered {
    text-align: center;
    padding-left: 0px;
}
ul.centered li {
    border-bottom: solid 1px #ccc;
    list-style: none;
    padding-bottom: 5px;
}
.overflow-hidden {
    overflow: hidden;
}
.border-primary {
    border: solid 10px #314389!important;
}
.border-primary-y {
    border-top: solid 10px #314389!important;
    border-bottom: solid 10px #314389!important;
}
@media (max-width:767px) {
    .border-primary-y {
        background: transparent!important;
        border: 0px!important;
    }
}
.border-white {
    border:solid 10px #fff;
}
img {
    max-width: 100%;
}
img.alignright {
	margin-left: 30px;
	margin-bottom: 0px;
}
@media (max-width:767px) {
	img.alignright {
		margin-left: 0px;
		margin-bottom: 0px;
		width: 100%;
	}
}
h1, .h1, h3, .h3 {
    font-family: 'Futura' ,sans-serif;
    color: #314389;
    font-weight: 700;
    text-transform: uppercase;
}
.h2, h2 {
    font-size: 2.75em;
    font-weight: normal;
    font-family: 'Futura' ,sans-serif;
    color: #314389;
    font-weight: bold;
    text-transform: uppercase;
    position: relative;
}
@media (max-width:1199px) {
    h2, .h2 {
        font-size: 2em;
    }
}
@media (max-width:767px) {
    h2, .h2 {
        font-size: 1.5em;
    }
	.h2.smaller-sm,
	h2.smaller-sm {
		font-size: 1.25em;	
	}
}
h2.no-underline,
.h2.no-underline {
    margin-bottom: 15px!important;
}
.no-underline:after {
    display: none;
}
.interior-page h2,
.interior-page .h2 {
    text-transform: none;
    color: #314389;
}
.interior-page h3,
.interior-page .h3 {
    text-transform: none;
    color: #314389;
}
.h1, h1 {
    font-size: 2.75rem;
}
h3, .h3 {
    font-family: 'Futura' ,sans-serif;
    color: #314389;
    font-size: 1.35em;
    font-weight: bold;
}
@media (max-width:1199px) {
    h3, .h3 {
        font-size: 1.25em;
    }
}
@media (max-width:991px) {
    h3, .h3 {
        font-size: 1em;
    }
}
.h3.alt, h3.alt {
    font-family: 'Futura' ,sans-serif;
    color: #4f4f4f;
    font-size: 1.65em;
    font-weight: normal; 
}
h4, .h4 {
    font-family: 'Futura' ,sans-serif;
    color: #000;
    font-size: 1em;
    font-weight: bold;
}
.h4.alt, h4.alt {
    font-family: 'Futura' ,sans-serif;
    color: #4f4f4f;
    font-weight: normal; 
    font-size: 1.15em;
}
.sub-heading {
    font-family: 'Futura' ,sans-serif;
    color: #ca1117;
    font-size: 1.25em;
    text-transform: normal;
    letter-spacing: 0px;
}
.bold-sub-heading .sub-heading, .sub-heading.bold {
    font-weight: bold;
}
.light-grey-bkg {
    background: #f4f4f6;
}
.light-grey-bkg-2 {
    background: #DCDCDC;
}
.light {
    font-weight: normal!important;
}
.background_right {
    background: linear-gradient(90deg, #fff 75%, #03395a 75%);
}
@media (max-width:991px) {
    .background_right {
        background: linear-gradient(90deg, #fff 90%, #03395a 90%);
    }
}
.background_left {
    background: linear-gradient(90deg, #03395a 25%, #fff 25%);
}
@media (max-width:991px) {
    .background_left {
        background: linear-gradient(90deg, #03395a 8%, #fff 8%);
    }
}
h2, h4 {
    color: #314389;
    font-weight: bold;
}
h1,h2,h3,h4,
.h1,.h2,.h3,.h4 {
    margin-bottom: 15px;
    line-height: 1.5em;
}
.h2-blue h2 {
    font-weight: 700;
    color: #314389;
}
@media (max-width:767px) {
    .text-center-sm {
        text-align: center!important;
    }
}

.small {
    font-size: 15px;
    line-height: 1.5em;
}
.bold-italic {
    font-family: 'Futura', sans-serif;
    font-style: italic;
    font-weight: bold;
}
.italic {
    font-style: italic;
}
.pad {
    padding: 15px!important;
}
.margin {
    margin: 15px!important;
}
.margin-right {
    margin-right: 15px;
}
.content-padding {
    padding-top: 50px;
    padding-bottom: 50px;
}
.content-padding-smaller {
    padding-top: 30px!important;
    padding-bottom: 30px!important;
}
.no-margin-bottom {
    margin-bottom: 0px!important;
}
@media (max-width:991px) {
    .content-padding-md {
        padding-top: 30px;
        padding-bottom: 30px;
    }
    .no-padding-md {
        padding-left: 0px!important;
        padding-right: 0px!important;
    }
    .no-vert-padding-md {
        padding-top: 0px!important;
        padding-bottom: 0px!important;
    }
    .no-padding-bottom-md {
        padding-bottom: 0px!important;
    }
    .no-padding-top-md {
        padding-top: 0px!important;
    }
}
.mejs-mediaelement {
    box-shadow: 5px 5px 10px rgba(0,0,0,0.35);
}
.larger, .larger * {
    font-size: 1.15em;
    line-height: 1.5em;
}
a.primary-btn {
    border-radius: 200px;
    padding: .5em 2.5em .5em 1.5em!important;
    font-size: 18px!important;
    font-weight: normal!important;
    display: inline-block;
    text-decoration: none;
    background: #314389!important;
    color: #fff!important;
    text-transform: uppercase;
    font-family: 'Futura', sans-serif;
}
@media (max-width:767px) {
    a.primary-btn {
        font-size: 15px!important;
    }
}
.primary-btn.small {
    font-size: 13px!important;
}
a.primary-btn.dark-btn {
    background: #314389!important;
    color: #fff;
}
a.primary-btn.white-btn {
    background: #fff!important;
    color: #314389!important;
}
a.primary-btn.accent {
    background:linear-gradient(#fbd796,#fdcc6a)!important;
    color: #314389!important;
}
a.primary-btn.secondary {
    background: linear-gradient(#cc534f, #a41620, #ab3a36)!important;
    color:#fff!important;
}
a.primary-btn.accent i {
	color: #fff!important;
}
@media (max-width:767px) {
    .sidebar {
        flex: auto;
        max-width: 100%;
    }
}
.sticky {
	position:sticky;
	top: 180px;
}
.sidebar .sticky {
	position:sticky;
	top: 155px;
}
.sidebar .widget a.primary-btn {
    background: #314389;
    color: #fff;
}
.primary-button:after, .search-form .search-submit:after, input[type="submit"]:after, .primary-btn:after, .btn-primary:after, .cta.nav-item a:after {
    content: '\f054';
    font-family: "Font Awesome 5 Pro";
    margin-left: 10px;
    position: absolute;
    -webkit-transition: all .2s ease-in;
    -o-transition: all .2s ease-in;
    transition: all .2s ease-in;
}
.cta.menu-item a {
    background: linear-gradient(#cc534f, #a41620, #ab3a36);
    color:#fff!important;
    border-radius: 100px;
}
.primary, .primary * {
    color: #1a3a8b!important;
}
.secondary, .secondary * {
    color: #a41620!important;
}
.primary-bkg {
    background:#314389;
}
@media (min-width:992px) {
	.primary-bkg-right {
		background: linear-gradient(115deg, #fff 75%, #e6e6e9 75%);
	}
}
.trans-white-bkg {
    background: rgba(255,255,255,0.95)!important;
}
.primary-bkg-trans {
	background: rgba(10, 36, 66, 0.85);
}
.secondary-bkg, .dark-bkg {
    background:#a41620;
}
.trans-white-bkg {
    background: rgba(255,255,255,0.85);
}
.grey-fade-bkg {
    background: linear-gradient(#efefef, #eeede8);
}
.grey-bkg {
    background: #f6f6f6;
}
.grey-blue-vert-bkg {
    background: linear-gradient(#eeede8 25%, #314389 25%);
}
@media (max-width:767px) {
    .grey-blue-vert-bkg {
        background: linear-gradient(#eeede8 33%, #314389 33%);
    }
}
.square-padding {
    padding-top:50vw;
}
@media (min-width:768px) {
    .square-padding {
        padding-top:25vw;
    }
}
strong, .bold, bold * {
    font-weight: 700;
}
.no-padding {
    padding-left:0px!important;
    padding-right:0px!important;
}
.vertical-padding {
    padding-top: 80px;
    padding-bottom: 80px;
}
.no-padding-bottom {
    padding-bottom:0px;
}
.logo-circle {
    max-height: 250px;
    margin: 0 auto;
    display: block;
    width: auto;
}
.full-height {
    height: 100%;
}
.min-height-all {
   height: 20vw;
}
@media (max-width:991px) {
    .min-height, .min-height-all {
        height: 50vw;
    } 
    .min-height-50 {
        height: 50vw;
    }  
}
@media (max-width:767px) {
    .min-height, .min-height-all {
        height: 250px;
    } 
}
.flex {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
}
.flex-center {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}
.flex-end {
    justify-content: flex-end;
    flex: 1;
}
@media (max-width:991px) {
    .flex-end-md-down {
        justify-content: flex-end;
        flex: 1;
    }
}
.flex-start {
    justify-content: flex-start;
    flex: 1;
}
.horizontal-padding {
    padding-left: 25px;
    padding-right: 25px;
}
.relative {
    position: relative;
    width: 100%;
}
.center-row {
    justify-content: center;
}
.box-shadow {
    box-shadow: 15px 15px 120px -24px rgba(0,0,0,0.5);
}
.service-shadow {
    box-shadow: 0px 0px 30px -19px rgba(0,0,0,0.5);
}
.bkg-right {
    background-image: linear-gradient(90deg,#f6f6f6 85%,#314389 85%)!important;
}
.bkg-clip-top {
    clip-path: polygon(0% 0%, 50% 11%,100% 0%, 100% 100%, 0% 100%);
    margin-top: -80px;
    padding-top: 65px;
}
.negative-top {
    margin-top: -150px;
}
.negative-margin {
    margin-top:-100px;
    margin-bottom: -100px;
}
.title-text {
    font-size: 2em;
    color: #fff;
    font-weight: 700;
    margin-bottom: 1.25em;
}
.white-bkg {
    padding: 30px;
    background: #fff;
}
.white, .white * {
    color: #fff!important;
}
.accent, .accent * {
    color: #a41620!important;
}
hr.accent {
    border-color:#a41620!important;
}
.border-left {
	border-left: solid 5px #a41620;
}
.white-border-left {
	border-left: solid 5px #fff;
}
hr.small {
    margin: 15px 0px;
}
.primary, .primary * {
    color: #314389!important;
}
.dark, .dark * {
    color: #314389!important;
}
hr.small {
    width: 100px;
    border:solid 1px #F58020;
}
hr.left {
    margin: 40px 0px;
}
a.absolute-link {
    position: absolute;
    width: calc(100% - 30px);
    height: calc(100% - 15px);
    z-index: 1;
    left: 15px;
    top: 15px;
    bottom: -15px;
}
@media (max-width:991px) {
    a.absolute-link {
       left: 15px;
    }
}
/** hover animations **/
#zoom .zoom-bkg {
    padding-top: 67%!important;
    background-size: 150%!important;
    background-position: center;
    transition: all .5s linear;
}
#zoom:hover .zoom-bkg {
    background-size: 160%!important;
    transition: all .5s linear;
}
@media (max-width:1199px) {
    #zoom a {
        font-size: 16px;
    }
}
@media (max-width:991px) {
    #zoom a {
        font-size: 14px;
    }
}
@media (max-width:767px) {
    #zoom a {
        font-size: 1em;
    }
}
.scale-down {
    transition: all .2s ease-in;
}
.scale-down {
    transform: scale(.98);
    transition: all .2s ease-in;
}

.grey-box-title {
    background: #eeeeeeb3;
    padding: 15px;
    text-align: center;
    text-transform: uppercase;
    font-size: 1.25em;
}
.grey-box-title p {
    margin-bottom: 0px;
    text-decoration: none!important;
}
.grey-box-title a, .grey-box-title a:hover {
    text-decoration: none!important;
}
.slim-grey-section {
    padding: 25px;
    background: #eeeeee;
    border-top: solid 1px #ccc;
    font-family: 'Futura', sans-serif;
}
.slim-grey-section * {
    margin-bottom: 0px;
    font-family: 'Futura', sans-serif;
}
.no-padding-top {
    padding-top:0px!important;
}
.uppercase {
    text-transform: uppercase;
}
.normal {
    text-transform: none;
}
.container {
    max-width: calc(100% - 30px);
}
@media (min-width: 1200px) {
    .container {
        max-width: 1200px;
    }
}
@media (max-width: 991px) {
   .container {
        max-width: 100%!important;
    } 
    .bkg-clip-top {
        padding-right: 15%;
    }
    .vertical-padding {
        padding-top: 40px;
        padding-bottom: 40px;
    }
}
@media (max-width:767px) {
    .bkg-right {
        background-image: linear-gradient(90deg,rgba(218, 218, 218, .2) 95%,#314389 95%)!important;
    }
    .bkg-clip-top {
        padding-right: 10%;
    }
    .bkg-clip-top, .hero {
        clip-path: none!important;
    }
    h1 {
        font-size: 1.75em;
    }
    h2 {
        font-size: 1.35em;
    }
    h3 {
        font-size: 1.1em;
        font-weight: 700;
    }
    .no-padding-bottom-xs {
       padding-bottom: 0px!important; 
    }
    .left-xs {
        text-align: left;
        display: block;
        width: 100%;
    }
    .wp-video {
        max-width: 320px!important;
    }
}

/** Header **/
.menu-bar .nav-primary .menu-item:last-child a {
    padding-right: 15px;
}
header.banner {
    z-index: 9999999!important;
    position: fixed!important;
    top: 0px;
}
header.banner.fixed {
    position: fixed;
}
header.banner.relative {
    position: relative;
}
.absolute-menu-btn {
    position: absolute;
    top: 12px;
    right: 0px;
    font-size: 21px;
    z-index: 999999999;
    cursor: pointer;
    padding: 0px 10px;
    border-radius: 100px;
    color: #a41821;
}
@media (min-width:992px) {
    .absolute-menu-btn {
        display: none;   
    }
} 
.banner a {
    color: #000;
}
.top-bar {
    background: #fff;
    padding: 5px 0px;
}
.top-bar [class*=col-] {
    padding-left: 15px;
    padding-right: 15px;
}
.top-bar .top-btn {
    background: #314389;
}
.top-bar a:hover {
    text-decoration: none;
}
.nav-container {
    padding: 0px 15px 0px;
}
@media (min-width:992px) {
    .nav-container {
        border-top: solid 1px #ccc;
        padding: 15px 15px 0px;
        margin-top: 15px;
    }
}
@media (max-width:767px) {
    .top-bar p {
        margin-bottom: 0;
        font-size: 12px;
    }
}
.menu-bar .nav-primary .menu-item.menu-item-has-children>a:after {
    content: "\f0d7";
    font-family: Font Awesome\ 5 Pro;
    font-weight: 900;
    color: #000000;
    margin-left: 5px;
    font-size: .9em;
    display: none;
}
.menu-bar .nav-primary {
    float: right;
}
.menu-bar .nav-primary .menu-item:hover .sub-menu {
    background: #fff;
}
@media (min-width:992px) {
    .menu-bar .nav-primary .menu-item:hover .sub-menu {
        margin-top: 50px;
        box-shadow: 0px 0px 20px rgba(0,0,0,0.15);
        padding: 0px 0px 15px;
    }
}
.menu-bar .nav-primary .menu-item a,
.menu-bar .nav-primary .menu-item .sub-menu li a {
    color: #fff;
    font-family: 'Futura';
    font-size: 18px;
    padding: 10px 5px;
    font-weight: normal;
    line-height: 1.7em;
}
@media (min-width: 992px) {
    .menu-bar .nav-primary .menu-item a {
        font-size: 14px;
        padding: 10px 15px;
    }
}
@media (min-width: 1200px) {
    .menu-bar .nav-primary .menu-item a {
        font-size: 20px;
        padding: 12px 20px!important;
        font-weight: normal;
        line-height: 1em!important;
    }
}
@media (max-width:991px) {
    .menu-bar .nav-primary .menu-item a,
    .menu-bar .nav-primary .menu-item .sub-menu li a {
        padding: 0px 10px;   
    }
    .menu-bar .nav-primary .menu-item .sub-menu {
        padding-top: 0px;   
    }
}
.menu-bar .nav-primary .menu-item a:hover {
    color: #fff;
    opacity: .8;
}
.menu-bar {
    padding: 5px 15px;
    background:transparent;
    border-top: solid 1px #ccc;
}
@media (max-width:991px) {
    #menu-primary-navigation {
        max-height: 100vh;
        padding-bottom: 150px!important;
        overflow-y: scroll;
    }
    .sub-menu.expand {
        display: block!important;
    }
    .sub-menu.collapse {
        display: none!important;
    }
}
@media(min-width:992px) {
    .menu-item-has-children:after {
        content: '\f0d7';
        font-family: "Font Awesome 5 Pro";
        color: #fdcc6c;
        background-size: 15px;
        height: 15px;
        width: 15px;
        background-repeat: no-repeat;
        position: absolute;
        top: 50%;
        right: -7px;
        margin: auto;
        font-weight: bold;
        font-size: 15px;
        transform: translateY(-100%);
	}
	.sub-menu.collapse {
		display:!important;
	}
}

.menu-item * { 
    transition: none!important;
}
.banner .menu-bar .menu-btn {
    color: #fff;!important;
    display: inline-block;
    padding: 0px 5px;
    margin-top: -10px;
    font-size: 24px!important;
}
.scrolling .menu-bar .menu-btn {
    color: #314389;!important;
    display: inline-block;
    padding: 0px 5px;
    margin-top: 0px;
    font-size: 24px!important;
}
.current_page_item a {
    font-weight: normal;
    color: #d1242c;
}
.menu-bar .logo {
    max-height: 145px;
    margin-bottom: 0px;
    width: auto;
    transition: all .2s linear;
}
.menu-bar .nav-primary .menu-item {
    display: inherit;
}
#menu-primary-navigation li {
    transition: all .2s ease-in;
}
#menu-primary-navigation:hover > *:not(:hover) {
    opacity: .5;
}
.menu-bar .nav-primary .menu-item .sub-menu li {
    list-style: none;
    margin-bottom: 0px;
    background: #1a3a8b;
    border-radius: 15px;
    padding: 10px;
    box-shadow: none;
    text-align: center;
    margin-bottom: 10px;
}
@media (min-width: 992px) {
    .menu-bar .nav-primary .menu-item .sub-menu {
        width: 250px;
        position: absolute;
        -webkit-transform: translateY(25px);
        transform: translateY(25px);
        padding: 0px;
        background: #1a3a8b!important;
        border-radius: 15px;
        padding: 0px!important;
        border: solid 5px #1a3a8b;
        top:-6px;
    }
    .menu-bar .nav-primary .menu-item .sub-menu li {
        background: #1a3a8b;
    }
    ul#menu-primary-navigation li:last-child .sub-menu {
        right: 0px;
        margin-top: 45px;
    }
    ul#menu-primary-navigation li .sub-menu  li a {
        padding: 0px 10px;
    }
}
@media (max-width: 991px) {
    .menu-bar .nav-primary.open {
        width: 100%!important;
        padding-bottom: 200px;
        min-height: 100vh;
        overflow: scroll;
    }
    .menu-bar .menu-btn {
        color: #000;!important;
    }
    .menu-bar .nav-primay.mobile.open .menu-item a {
        padding: 20px 0;
    }
    .menu-bar .nav-primay.mobile.open .sub-menu .menu-item a {
        padding: 0px;
    }
    .menu-bar .nav-primay.mobile .menu-item .sub-menu {
        padding-top: 0px;
    }
    .menu-bar .nav-primay.mobile .menu-item .sub-menu li:last-child {
        padding-bottom: 15px;    
    }
    .menu-bar .menu-btn {
        padding-top: 5px;
        margin-top: 0px;
        position: relative;
        display: block;
        top: auto;
        left: auto;
        right: auto;
        bottom: auto;
    }
}

/** scrolling nav styles **/
.scrolling .menu-bar {
    background: rgba(255,255,255,0.95);
}
.scrolling .menu-bar .nav-primary .menu-item a, .scrolling .menu-bar .nav-primary .menu-item a:hover {
    color: #304286;
}
.scrolling .menu-bar .nav-primary .menu-item .sub-menu li a {
    color: #fff;
}
.scrolling .menu-bar .logo {
    max-height: 100px;
    transition: all .2s linear;
}
@media (min-width:992px) {
    .scrolling .menu-item-has-children:after { 
        color: #aa3835;
    }
}

@media (max-width:767px) {
    .top-bar {
        font-size: 14px;
    }
    .banner .menu-bar .logo {
        max-height: 100px;
        margin-bottom: 0px;
    }
    .scrolling .menu-bar .logo {
        max-height: 60px!important;
        margin-bottom: 0px;
    }
    .menu-bar .menu-btn {
        padding-top: 0px;
        margin-top: 0px;
    }
}

/** Page Banner **/
/** interior page header **/
.page-header {
    padding-top: 25vw;
    padding-bottom: 15px;
    background-size: cover;
    background-position: center;
    font-size: 20px;
    line-height: 1.73em;
    background: linear-gradient(rgba(49,67,137, .85), rgba(49,67,137, 0.4)), url(http://cdgalady.com/dev/wp-content/uploads/2021/05/hero.jpg);
    background-size: cover;
    background-position: center;
}
@media (max-width:991px) {
    .page-header{
        padding-top: 33vw;
    }
}
.page-header h1, .page-header .h1 {
    color: #fff;
    font-family: 'Futura', sans-serif;
    font-weight: normal;
    font-size: 2.75em;
    font-weight: bold;
    text-transform: uppercase;
}
@media (max-width:991px) {
    .page-title .h1,
    .page-title h1,
    .page-header h1, .page-header .h1 {
        font-size: 2.25em;
    }
}
@media (max-width:767px) {
    .page-title .h1,
    .page-title h1,
    .page-header h1, .page-header .h1 {
        font-size: 1.25em;
    }
    .page-header {
        padding-top: 50vw;
    }
}
.page-header h3, .page-header .h3 {
    color: #fff;
    text-shadow: 0px 5px 15px rgba(0,0,0,0.5);
    font-family: 'Futura', sans-serif;
    text-shadow: rgb(66, 66, 66) 2px 2px 2px;
    font-weight: normal;
    font-size: 2.25em;
}

/** home banner **/
.home .page-header {
    padding-top: 80px;
    padding-bottom: 80px;
    min-height: 66vh;
}
.home .page-header h1, .home .page-header .h1 {
    color: #fff;
    text-shadow: rgb(66, 66, 66) 2px 2px 2px!important;
    font-family: 'Futura', sans-serif;
    text-shadow: rgb(66, 66, 66) 2px 2px 2px;
    font-weight: normal;
    font-size: 3.5em;
}
.home .page-header h3, .home .page-header .h3 {
    color: #fff;
    text-shadow: 0px 5px 15px rgba(0,0,0,0.5);
    font-family: 'Futura', sans-serif;
    text-shadow: rgb(66, 66, 66) 2px 2px 2px;
    font-weight: normal;
    font-size: 2.25em;
}


/** Services **/
.service-container {
    background: #fff;
    border-radius: 3px;
    box-shadow: 0px 15px 50px -15px rgba(0,0,0,.2);
    margin: 15px 0px;
}
.service-content, .service-container h3 {
    padding: 15px;
}
.service-container h3 {
    background: #3dba83;
    color: #fff;
    border-radius: 3px 3px 0px 0px;
    font-size: 18px;
    letter-spacing: 1px;
    font-weight: 700;
}
.service-container p {
    font-size: 16px;
}
@media (max-width:767px) {
    .service-container {
        text-align: center;
    }
}
/** full width img **/
.full-width-bkg {
    padding: 270px 0px;
    background-size: cover!important;
    background-position: center!important;
}

/** reviews **/
.review-container {
    padding: 10px 25px;
    border: solid 1px #4f4f4f;
    margin-bottom: 10px;
    background: #EEEEEE;
}

/** brands **/
img.brand-img {
    max-height: 130px;
    padding: 15px;
}

/** gallery **/
.gallery-title {
    font-size: 1.25em;
    font-weight: bold;
    font-family: 'Futura', sans-serif;
    display: block;
    color: #4f4f4f;
}
.grey-border {
    border: solid 1px #efefef;
}
img.wp-smiley, img.emoji {
    display: inline !important;
    border: none !important;
    box-shadow: none !important;
    height: .5em !important;
    width: .5em !important;
    margin: 0 .07em !important;
    vertical-align: -0.1em !important;
    background: none !important;
    padding: 0 !important;
}
.col-xs-5ths,
.col-sm-5ths,
.col-md-5ths,
.col-lg-5ths {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}

.col-xs-5ths {
    width: 20%;
    float: left;
}

@media (min-width: 768px) {
    .col-sm-5ths {
        width: 20%;
        float: left;
    }
}

@media (min-width: 992px) {
    .col-md-5ths {
        -webkit-box-flex: 0;
        flex: 0 0 20%;
        max-width: 20%;
        float: left;
    }
}

@media (min-width: 1200px) {
    .col-lg-5ths {
        width: 20%;
        float: left;
    }
}

/** Conctact **/
.contact-container {
    background: #fff;
    border-radius: 3px;
    box-shadow: 0px 15px 50px -15px rgba(0,0,0,.2);
    margin: 0px;
}
.contact-container h3 {
    padding: 15px;
}
.contact-container h3 {
    background: #3dba83;
    color: #fff;
    border-radius: 3px 3px 0px 0px;
    font-size: 18px;
    letter-spacing: 1px;
    font-weight: 700;
}
.contact-container p {
    font-size: 16px;
    padding: 15px 15px 30px;
}
.center-block {
    display: block;
    margin-right: auto;
    margin-left: auto;
}
/** Forms **/
.no-label label {
    display: none!important;
}
media only screen and (max-width: 761px), (max-device-width: 1023px) and (min-device-width: 768px)
.gform_wrapper table.gfield_list tr, .gform_wrapper table.gfield_list tr.gfield_list_row_odd:first-child {
    padding-top: 0px;
    background: #d7d4ca;
}
.gform_wrapper table.gfield_list input {
    background: #eeede8;
}
body .ginput_container_list table.gfield_list tbody tr td.gfield_list_icons img {
    margin-top: 10px;
}
.gform_wrapper select {
    line-height: 1.5;
    background: #efefef;
    padding: 10px!important;
    border: 0;
    border-radius: 0px;
}
body .ginput_container_list table.gfield_list tbody tr td.gfield_list_icons {
    vertical-align: middle !important;
    background: #cecbc0;
}
.gform_wrapper .field_description_below .gfield_consent_description, .gform_wrapper .gfield_consent_description {
    font-size: 16px!important;
}
.gform_wrapper .top_label .gfield_label {
    display: -moz-inline-stack;
    display: inline-block;
    line-height: 1.3;
    clear: both;
    color: #314389;
}
.gform_wrapper input, .gform_wrapper textarea {
    border: 0;
    outline: 0;
    padding: 10px!important;
    background: #efefef;
    letter-spacing: .05em!important;
}
.gform_wrapper.gf_browser_chrome .gfield_checkbox li input, .gform_wrapper.gf_browser_chrome .gfield_checkbox li input[type=checkbox], .gform_wrapper.gf_browser_chrome .gfield_radio li input[type=radio] {
    margin-top: 3px!important;
    margin-right: 5px;
}
.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] {
    font-size: 1em;
    width: auto;
    margin: 0 16px 0 0;
    background: #314389;
    color: #fff;
    padding: 10px 30px!important;
    display: inline-block;
    border-radius: 3px;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 1px;
}
body .gform_wrapper ul li.field_description_below div.ginput_container_checkbox, body .gform_wrapper ul li.field_description_below div.ginput_container_radio {
    margin-top: 0px;
    margin-bottom: 0;
}
input#gform_submit_button_1 {
    width: calc(100% - 15px);
    background: #314389;
    color: #fff;
    border-radius: 5px;
    border: none;
}
#gform_fields_3 input#input_3_5 {
    width: 100%!important;
}
.half-width {
    width: 50%;
    padding-right: 15px;
    display: inline-block;
}
.gform_wrapper textarea.large {
    height: 150px!important;
    width: 100%;
}
input#gform_submit_button_2 {
    background: #314389;
}
@media (max-width:767px) {
    .copyright {
        font-size:14px;
    }
    .textwidget {
        font-size: 14px;
    }
}

/** hero / Slider **/
@media (min-height:760px) {
    .screen-height {
        height: calc(95vh - 152px);
    }
}

.hero-bkg-slider.slick-slider, .hero-bkg-slider .slick-list, .hero-bkg-slider .slick-track, .hero-bkg-slider .slick-slide {
    height: 100%;
}
@media (min-width:1200px) {
    .hero-bkg {
        background-position: 135%; background-repeat: no-repeat; background-size: contain;
    }   
}
@media (max-width:1199px) {
    .hero-bkg {
        background-position: center; background-repeat: no-repeat; background-size: cover;
    }   
}
@media (max-width:767px) {
	.hero-bkg-slider:after {
		content: '';
		position: absolute;
		top: 0px;
		bottom: 0px;
		left: 0px;
		right: 0px;
		height: 100%;
		width:100%;
		background: linear-gradient(rgba(49, 67, 137, 0.25),rgba(49, 67, 137, 0.25));
	}
}
.hero {
    height: auto;
    background-position: center;
    background-size: cover;
    position: relative;
    padding-top: 130px;
}
.hero * {
    color: #fff;
}
.hero .h2,
.hero h2 {
	font-size: 3em;
	line-height: 1.25em;
}
@media (max-width: 767px) {
	.hero .h2,
	.hero h2 {
		font-size: 1.4em;
	}
	.hero-content .sub-heading {
    font-size: 1.25em;
	}
}
.hero a:hover {
    text-decoration: none;
}
@media (max-width: 1199px) {
    .mx-auto-lg {
        margin-right: auto!important;
        margin-left: auto!important;
    }
}
.border-radius {
    border-radius: 15px;
}
.large-icon {
    font-size: 3em;
    color: #033452;
}
p.five-stars.accent i {
    color: #dfc90f;
}
.reviews-slick {
    padding: 15px;
    border: solid #314389;
    margin: 0px 15px;
    background: #fff;
}
@media (max-width:767px) {
    .reviews-slick {
        margin: 0px;
    }
}
.fa-arrow-left.slick-arrow {
    position: absolute;
    z-index: 9999;
    color: #314389;
    left: 0px;
    bottom: -25px;
    margin: auto;
    height: 50px;
    font-size: 25px;
    cursor: pointer;
    transition: all .2s ease-in;
    background: #fff;
    width: 50px;
    display: flex!important;
    justify-content: center;
    align-items: center;
    border: solid;
    right: 60px;
}
.fa-arrow-right.slick-arrow {
    position: absolute;
    z-index: 9999;
    color: #314389;
    left: 60px;
    bottom: -25px;
    margin: auto;
    height: 50px;
    font-size: 25px;
    cursor: pointer;
    transition: all .2s ease-in;
    background: #fff;
    width: 50px;
    display: flex!important;
    justify-content: center;
    align-items: center;
    border: solid;
    right: 0px;
}
.slick-slide {
    background-size:cover; 
    background-position:center;
    line-height: 2.5em;
    background-position: top center;
}
.slide-content {
    position: absolute;
    bottom: 15vh;
    left: 10%;
    max-width: 700px;
    margin: auto;
    padding: 0px 15px;
    font-size: 38px;
    font-weight: bold;
    color: #ffffff;
    text-shadow: 0px 0px 10px rgba(0,0,0,0.8);
}
.spacer {
   background-image: url(/wp-content/uploads/2018/06/window-repair-1.jpg);
    background-size: cover;
    background-position: center 22%;
    height: 400px;
    box-shadow: inset 0 0 0 2000px rgba(6, 28, 93, 0.5); 
}
@media (max-width:767px) {
    .hero h2 {
        font-size: 28px;
    }
    .hero h1 {
        font-size: 36px;
    }
}
/** Sidebar **/
.sidebar .widget {
    padding-bottom: 30px;
}
.sidebar .widget:last-child {
    padding-bottom: 0px;   
}
.sidebar .widget h3 {
    text-align: center;
    text-transform: uppercase;
    border-bottom: solid;
    padding-bottom: 15px;
    font-size: 1.25em;
}
.sidebar .widget ul, ul#menu-steps {
    padding-left: 0px;
}
.sidebar .widget ul li, ul#menu-steps li {
	list-style: none;
	border-bottom: solid 1px #f4f4f6;
	margin-bottom: 0px;
}
.sidebar .widget ul li a, ul#menu-steps li a {
  padding: 10px;
	display: block;
	font-family: "Futura";
	font-weight: bold;
	font-size: .9em;
}

/** Footer **/
@media (max-width:767px) {
  .text-center-xs {
        text-align: center!important;
    }  
}
.border-top {
    border-top: solid 1px #ccc;
}
.copyright {
    background: #1a3a8b;
    padding: 15px;
    color: #fff;
}
footer.content-info {
    background: #fff;
    padding: 15px 0px 0px;
}
footer.content-info a { 
    /*color: #fff;
    padding: 5px 0px;
    display: block;
    text-transform: uppercase;
    color: #8ea6d0;
    font-weight: bold;
    letter-spacing: .05em;
    font-size: .9em;*/
}
footer .widget {
    width: 30%;
    float: left;
    margin-bottom: 25px;
    margin-right: 3%;
    margin-top: 15px;
}
footer .widget h3 {
    color: #3dba83;
    font-weight: 700;
    text-transform: uppercase;
    border-bottom: solid 3px #3f5273;
    padding-bottom: 15px;
    margin-bottom: 15px;
}
@media (max-width:767px) {
    footer img.logo {
        max-width: 250px;
    }
}
/** footer widgets **/
footer .underline:after {
    content: '';
    height: 3px;
    width: 50px;
    margin-top: 10px;
    margin-bottom: 5px;
    display: block;
    background: #a81c24;
}
@media (max-width:767px) {
    footer .text-center-sm .underline:after {
        margin-top: 10px;
        margin-bottom: 5px;
        margin-left: auto;
        margin-right: auto;
    }
}
footer ul  {
    padding-left: 0px;
}
footer ul li {
    list-style: none;
}
footer .sub-heading {
    font-weight: bold;
    text-transform: uppercase;
    border-bottom: solid 1px #537f9a;
    padding-bottom: 15px;
    margin-bottom: 15px;
    font-size: 1em;
    letter-spacing: .1em;
}
.social-circle {
    font-size: 24px;
    padding: 1px;
    border-radius: 50%;
    border: 7px double;
    color: #fff;
    height: 50px;
    width: 50px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-decoration: none!important;
}
@media (max-width:767px) {
    .social-circle.hero-scroll {
        background: #314389;
    }
}
.social-circle.small {
    font-size: 16px;
    padding: 1px;
    border-radius: 50%;
    border: 5px double #fff;
    color: #fff;
    height: 40px;
    width: 40px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-decoration: none!important;
}
@media (max-width: 767px) {
    footer .widget {
        width: 100%;
        float: left;
        margin-bottom: 25px;
        margin-right: 0%;
        margin-top: 15px;
    }
}
@media (min-width:576px) {
    .card-columns {
        columns: 2;
    }
}
.accordion .card-header {
	cursor: pointer;
	background: linear-gradient(90deg, #e6e6e9, #f4f4f6);
	border-left: 5px solid #f58022;
	border-radius: 0px;
	border-bottom: 0px;
}
.accordion .card {
    border-radius: 0;
    border: 0;
}
/** MENU/Woo lightbox */
.xoo-qv-opac {
    z-index: 9999999;
}
.xoo-qv-panel-active {
    opacity: 1;
    top: 20px;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999999;
    position: fixed;
    min-height: 500px;
    overflow: scroll;
}
.xoo-qv-images, .xoo-qv-plink {
    display: none;
}
.xoo-qv-summary {
    width: 100%!important;
    padding: 15px;
    overflow: scroll;
}
@media (max-height:700px) {
    .xoo-qv-summary {
        padding-bottom: 200px!important;
    }
}
.product-addon .form-row {
    display: inline-block;
    margin-right: 10px;
}
.product-addon {
    margin-bottom: 15px;
}
.xoo-wsc-container, .xoo-wsc-slider {
    top: 118px;
}
@media (min-width:768px) {
    top:123px;
}
.xoo-qv-container {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    background: transparent;
    position: relative;
    bottom: auto;
    left: auto;
    right: auto;
    margin: auto;
    width: 100%;
    display: flex;
    justify-content: center;
    top: 50%;
    transform: translateY(-50%);
}
.xoo-qv-close.xoo-qv.xooqv-cross {
    background: #000;
    height: 50px;
    width: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 30px;
    border: double 7px #fff;
    z-index: 1;
}
.xoo-qv-top-panel {
    position: absolute;
    top: 0;
    right: auto;
    left: auto;
}
@media (max-width:767px) {
    .xoo-qv-container {
        align-items: inherit!important; 
        display: block;
    }
    .xoo-qv-nxt.xooqv-chevron-right.xoo-qv,
    .xoo-qv-prev.xooqv-chevron-left.xoo-qv {
        display: none;
    }
    .xoo-qv-top-panel {
        position: absolute;
        top: 15px;
        left: auto;
        right: 0px;
        z-index: 9999999;
    }
}
.xoo-qv-main {
    overflow: auto;
    position: relative;
    top: 0;
    height: auto;
    background-color: #fff;
    border: double 7px;
    max-width: 800px;
    max-height: 100vh;
}
.xoo-wsc-footer {
    border-top: double 7px;
}
a.xoo-wsc-ft-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #000;
    color: #fff;
    font-family: 'Futura';
    max-height: 70%;
}
.xoo-qv-inner-modal {
    min-height: 100%;
}
/** woo styles **/
.woocommerce div.product .product_title {
    clear: none;
    margin-top: 0;
    padding: 0;
    text-transform: uppercase;
    font-size: 1.75em;
}
.woocommerce div.product p.price, .woocommerce div.product span.price {
    color: #000;
}
.woocommerce #respond input#submit.alt, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
    background-color: #008ad0;
    color: #fff;
}
.woocommerce button.button.alt:hover {
    background: #008ad0;
    color: #fff;
    opacity: .9;
}
.woocommerce .col2-set .col-1, .woocommerce-page .col2-set .col-1,
span.woocommerce-input-wrapper, .woocommerce .col2-set .col-2, .woocommerce-page .col2-set .col-2 {
    width: 100%;
    min-width: 100%;
    padding-left: 0px!important;
    padding-right: 0px!important;
}
.woocommerce form .form-row label {
    line-height: 2;
    width: 100%;
}
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea {
    font-size: 20px;
    padding: 10px;
}
.woocommerce-info {
    border-top-color: #008ad0;
}
.woocommerce #payment #place_order, .woocommerce-page #payment #place_order {
    float: right;
    width: 100%;
    font-size: 24px;
}
#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment {
    background: #314389222;
    border-radius: 5px;
    color: #fff!important;
}
#payment a {
    color: #008ad0;
}
#customer_details h3 {
    text-transform: uppercase;
    margin-top: 15px;
    margin-bottom: 0px;
}
#add_payment_method #payment .payment_method_paypal img, .woocommerce-cart #payment .payment_method_paypal img, .woocommerce-checkout #payment .payment_method_paypal img {
    max-height: 52px;
    vertical-align: middle;
    width: auto;
    margin-right: 10px!important;
}
#customer_details input,
#customer_details textarea {
    border: solid 1px #ccc!important;
}
/* calendar */
.simcal-default-calendar-grid .simcal-day>div {
    box-sizing: content-box;
    display: block;
    height: 100%;
    border: solid 1px #ccc;
}
.simcal-default-calendar-grid.simcal-default-calendar-light .simcal-day-number {
    background: #314389;
    color: #fff;
}
.simcal-default-calendar-grid .simcal-day>div {
    box-sizing: content-box;
    display: block;
    height: 100%;
    border: solid 1px #ccc;
    background: #e8e8e8;
}