/*
 Theme Name:   Hager Vein
 Description:  Custom Child Theme for Hager Vein based on Weston
 Author:       Graham Swanson
 Template:     themetrust-weston
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags:         light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
 Text Domain:  hager-vein
*/



/*
-----------------------------------------------------------------------
        TABLE OF CONTENTS
-----------------------------------------------------------------------
1.0 GLOBAL
2.0 BOOTSTRAP
3.0 SECTIONS
4.0 PAGE SPECIFIC
    2.1 Home Page


?.0 FOOTER
*/

/*
-----------------------------------------------------------------------
        GLOBAL
-----------------------------------------------------------------------
*/
.site-main {
    padding: 0 !important;
}
@media screen and (min-width:768px) {
    .site-main {
        min-height: 400px;
    }
}
.sticky-header #site-header {
    background-color: transparent;
}
.sticky-header #site-header:hover {
    background-color: #fff;
}
#site-header .logo-and-nav .logo h1 {
    text-align: left;
    padding-left: 0;
    display: block;
}
.top-header #site-header .logo .site-title {
    display: block !important;
}
.top-header #site-header .logo .site-title.sticky {
    display: none !important;
}
.top-header #site-header.sticky .logo .site-title.sticky {
    display: block !important;
}

#site-header .logo-and-nav .logo h4 {
    display: block;
    font-size: 10px;
    margin-left: 10px;
    text-align: left;
}
body.page #site-header {
    background: transparent;
    box-shadow: none;
}
body.page:not(.home) #middle {
    padding-top: 0 !important;
}
body.page #primary header.main .inner {
    max-width: 1200px;
    position: absolute;
    bottom: 10%;
    right: 0;
    left: 0;
    text-align: right;
}
body.page #primary header.main .inner * {
    color: #fff !important;
    float: right;
    clear: right;
}
.single #primary .header-wrap, .page #primary .header-wrap, .archive #primary .header-wrap {
	margin-bottom: 0;
}
h1, h2, h3, h4, h5, h6, .title, .product-title {
    font-weight: 600;
    margin-bottom: .5em;
    line-height: 1.3em;
    color: #262262;
    text-transform: uppercase;
    text-align: center;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, .post.small h3 a,
h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited, .post.small h3 a:visited {
	color: #262262;
}
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover, .post.small h3 a:hover {
	opacity: .5;
}

p, address, .content-area li {
    font-size: 1em;
}
.section-wrapper {
    padding: 3%;
}


/*
.section-wrapper:nth-child(odd) h2 {
    text-align: right;
}
.section-wrapper:nth-child(even) h2 {
    text-align: left;
}
.section-wrapper:nth-child(even) .col-sm-4 {
    float: right;
}
*/


/* Sections with dark backgrounds */
.section-wrapper.columns-dark * {
    color: #fff;
}
.section-wrapper.columns-dark h2 {
    color: #fff;
}
/* End Sections with dark backgrounds */

/* Sections with light backgrounds */
.section-wrapper.columns-dark * {
    color: #fff;
}
/* End Sections with dark backgrounds */

/* Section background colors */
.section-wrapper.bg-hager-blue {
    background-color: #262262;
}
.section-wrapper.bg-hager-red {
    background-color: #ed1c24;
}
.section-wrapper.bg-light-grey {
    background-color: #d7dde4;
}
.section-wrapper.bg-dark-grey {
    background-color: #4b4a4a;
}
/* End - Section background colors */

/* Section text color overrides */
.section-wrapper.bg-hager-blue *,
.section-wrapper.bg-hager-blue h2,
.section-wrapper.bg-dark-grey *,
.section-wrapper.bg-dark-grey h2 {
    color: #fff;
}
.section-wrapper.bg-light-grey * {
    color: #444;
}
.section-wrapper.bg-light-grey h2 {
    color: #262262;
}

/* End - Section color overrides */
.section-wrapper.columns-light .flexbox-container {
    position: relative;
}
.section-wrapper.columns-light .flexbox-container .flexbox-item {
    background-size: cover;
    padding-bottom: 100%;
    position: relative;
    margin-bottom: 6%;
	background-repeat: no-repeat;
}
.section-wrapper.columns-light .flexbox-container .flexbox-item a.flexbox-link-cover {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(237, 28, 36, .65);
}
.section-wrapper.columns-light .flexbox-container .flexbox-item a.flexbox-link-cover:hover {
    background-color: #fff;
    background-color: rgba(255, 255, 255, .65);
    border: 1px solid #ed1c24;
}
.section-wrapper.columns-light .flexbox-container .flexbox-item a.flexbox-link-cover:hover h4 {
    color: #ed1c24;
}

.section-wrapper.columns-light .flexbox-container .flexbox-item h4 {
    position: absolute;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    padding: 0 3%;
    color: #fff;
    font-weight: normal;
    font-family: Raleway, 'Open Sans', sans-serif;
    font-size: 1.7em !important;
}

.flexbox-container .flexbox-item {
    margin: 2% 0;
    padding: 0 3%;
}
@media (min-width: 576px) {
    .flexbox-container {
        display: flex;
        flex-wrap: wrap;
    }
    .flexbox-container .flexbox-item {
        padding: 1%;
        margin: 0 2%;
        flex-grow: 1;
        position: relative;
    }
    .flexbox-container .flexbox-item h4 {
        font-size: 1.5em !important;
    }
    .valign-middle {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
    }
}
@media screen and (min-width:768px) {
    .flexbox-container.flexbox-cols-2 .flexbox-item {
        width: 46%;
    }
    .flexbox-container.flexbox-cols-3 .flexbox-item {
        width: 29%;
    }
    .flexbox-container.flexbox-cols-4 .flexbox-item {
        width: 21%;
    }
    .flexbox-container .flexbox-item h4 {
        font-size: 1.3em !important;
    }
}


/* Boxes */
.section-wrapper.columns-light .flexbox-container .flexbox-item {
    margin: 0 auto 6%;

}
@media (min-width: 400px) {
    .section-wrapper.columns-light .flexbox-container .flexbox-item {
        max-width: 400px;
        padding-bottom: 400px;
    }
}
@media (min-width: 576px) {
    .section-wrapper.columns-light .flexbox-container .flexbox-item {
        display: table;
        max-width: none;
        flex-grow: 0;
    }
    .section-wrapper.columns-light .flexbox-container.flexbox-cols-2 .flexbox-item,
    .section-wrapper.columns-light .flexbox-container.flexbox-cols-4 .flexbox-item {
        width: 46%;
        padding-bottom: 46%;
        margin-bottom: 20px;
    }

    .section-wrapper.columns-light .flexbox-container.flexbox-cols-3 .flexbox-item {
        width: 29%;
        padding-bottom: 29%;
    }
}
@media screen and (min-width:1200px) {
    /* In order to maintain aspect ratio for the squares, we need to set the padding based on the width */
    .section-wrapper.columns-light .flexbox-container .flexbox-item {

    }
    .section-wrapper.columns-light .flexbox-container.flexbox-cols-2 .flexbox-item {
        width: 46%;
        padding-bottom: 46%;
    }
    .section-wrapper.columns-light .flexbox-container.flexbox-cols-3 .flexbox-item {
        width: 29%;
        padding-bottom: 29%;
    }
    .section-wrapper.columns-light .flexbox-container.flexbox-cols-4 .flexbox-item {
        width: 21%;
        padding-bottom: 21%;
    }
}
/**/


.flexbox-container .flexbox-item * {
    display: block;
}
.flexbox-container .flexbox-item.flexbox-align-center * {

    margin: 0 auto;
}

.flexbox-container .flexbox-item.flexbox-text-center * {
    text-align: center;
}
#swipebox-overlay {
    background-color: rgba(255,255,255,.6);
}

.button,
a.button,
a.button:active,
a.button:visited,
#footer a.button,
#searchsubmit,
input[type="submit"],
a.post-edit-link,
a.tt-button {
    border-radius: 5px;
    background-color: white;
    color: #444;
}
.button:hover,
a.button:hover,
#footer a.button:hover,
#searchsubmit:hover,
input[type="submit"]:hover,
a.post-edit-link:hover,
a.tt-button:hover {
    opacity: .5;
}

div[class*="col-"] h2 {
    /* class for H2's inside columns */
}


header.entry-header.main {
    height: 400px;
}
.no-wrap {
	display: inline-block;
}
#slide-panel-holder .collapse {
	display: unset;
}
/* NAVIGATION */
/* #slide-panel-holder {
    z-index: 10000;
    position: absolute;
    width: 100%;
    background-color: rgba(0,0,0,.9);
}
#slide-panel-holder #slide-panel {
	background-color: unset;
} */
.nav-holder {

}
.nav-holder .main-nav {}
    .nav-holder .main-nav ul#menu-main-menu {}
        .nav-holder .main-nav ul#menu-main-menu li.menu-item {}
            .nav-holder .main-nav ul#menu-main-menu li.menu-item a {}

.inline-header #site-header .nav-holder,
.inline-header #site-header .main-nav ul > li,
.inline-header #site-header .main-nav ul > li > a,
#site-header .main-nav #menu-main-menu > li > span,
#site-header .secondary-nav a,
#site-header .secondary-nav span {
    line-height: initial;
    height: auto;
}

/*
-----------------------------------------------------------------------
        END GLOBAL
-----------------------------------------------------------------------
*/



/*
-----------------------------------------------------------------------
        NAVIGATION
-----------------------------------------------------------------------
*/

#site-header .inside {
    padding-top: 25px;
}
#site-header .inside .logo {
    margin-top: -25px;
}

@media only screen and (max-width: 768px) {
    .top-header #main-container .nav-holder {

        margin-top: -25px;
    }
}
/*
-----------------------------------------------------------------------
        END NAVIGATION
-----------------------------------------------------------------------
*/


/*
-----------------------------------------------------------------------
        BOOTSTRAP
-----------------------------------------------------------------------
*/

@media screen and (min-width:768px) {
    .text-md-right {
        text-align: right;
    }
    .float-md-right {
        float: right;
    }
}

/*
**  These text controls are from Bootstrap v4.  But, don't want to use all of v4 because it's flexbox based and uses the same notation.  Can't mix with a site build for v3.
*/
.text-left {
  text-align: left !important;
}
.text-right {
  text-align: right !important;
}
.text-center {
  text-align: center !important;
}
@media (min-width: 576px) {
  .text-sm-left {
    text-align: left !important;
  }
  .text-sm-right {
    text-align: right !important;
  }
  .text-sm-center {
    text-align: center !important;
  }
}

@media (min-width: 768px) {
  .text-md-left {
    text-align: left !important;
  }
  .text-md-right {
    text-align: right !important;
  }
  .text-md-center {
    text-align: center !important;
  }
}

@media (min-width: 992px) {
  .text-lg-left {
    text-align: left !important;
  }
  .text-lg-right {
    text-align: right !important;
  }
  .text-lg-center {
    text-align: center !important;
  }
}

@media (min-width: 1200px) {
  .text-xl-left {
    text-align: left !important;
  }
  .text-xl-right {
    text-align: right !important;
  }
  .text-xl-center {
    text-align: center !important;
  }
}
/*
-----------------------------------------------------------------------
        END BOOTSTRAP
-----------------------------------------------------------------------
*/



/*
-----------------------------------------------------------------------
        SECTIONS
-----------------------------------------------------------------------
*/
/*  COLUMN SECTION */
.section-wrapper.column-section svg {
	fill: #fff;
    max-width: 25%;
}
.section-wrapper.column-section svg path {
    stroke-width:3;
    stroke-fill: green;
}
.section-wrapper.column-section h2 {
	text-align: center;
}
.column-link-wrapper,
.section-link-wrapper {
	text-align: center;
}
.section-wrapper.column-section .flexbox-container .flexbox-item h4 {
	margin-top: 10px;
}
.flexbox-container .flexbox-item .column-link-wrapper a.column-link,
.section-link-wrapper a.section-link {
	border: 1px solid;
	padding: 10px 20px;
	display: inline-block;
	text-decoration: none;
}

.section-link-wrapper a.section-link:hover {
	background-color: #ed1c24;
	color: #fff;
}
/*  END COLUMN SECTION */

/*  VIDEO SECTION */

.column-main-video {
    margin-bottom: 2%;
}
.nivo-lightbox-wrap {
	right: 1vw;
	left: 1vw;
}
@media screen and (min-width:768px) {
	.nivo-lightbox-wrap {
		right: 10vw;
		left: 10vw;
	}
}
@media screen and (min-width:1024px) {
	.nivo-lightbox-wrap {
		right: 20vw;
		left: 20vw;
	}
}
.nivo-lightbox-content {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
}
.nivo-lightbox-content iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;

}


.section-wrapper.video-section .column-main-video {
    /*max-width: 480px;
    margin: 0 auto;
    padding: 0;*/
    max-height: 264px;
    overflow: hidden;
}
.section-wrapper.video-section .column-main-video a,
.section-wrapper.video-section .flexbox-container .flexbox-item.column-video:not(.column-more-button) a {
    display: block;
    position: relative;
    padding-bottom: 56.25%;
    overflow: hidden;
}
.section-wrapper.video-section .column-main-video a img,
.section-wrapper.video-section .flexbox-container .flexbox-item.column-video:not(.column-more-button) a img {
    position: absolute;
    top: -17%;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.section-wrapper.video-section .flexbox-container .flexbox-item.column-video:not(.column-more-button) a {
    display: block;
    position: relative;
    padding-bottom: 56.25%;
    overflow: hidden;
}
.section-wrapper.video-section .flexbox-container .flexbox-item.column-video:not(.column-more-button) a img {
    position: absolute;
    top: -17%;
}
/*  END VIDEO SECTION */

/*  COLLAPSE SECTION */
.card-header {
    text-align: left;
    border: 1px solid;
    margin-bottom: 12px;
    padding: 0;
}
.card-header h5 {
    margin-bottom: 0;
}
.card-header h5 a {
    text-align: left;
    font-weight: 400;
    padding: 10px;
    display: block;
}
.card-block {
    padding: 0 3%;
}
/*  END COLLAPSE SECTION */
/*
-----------------------------------------------------------------------
        END SECTIONS
-----------------------------------------------------------------------
*/



/*
-----------------------------------------------------------------------
        PAGE SPECIFIC
-----------------------------------------------------------------------
*/

/* HOME PAGE */
body.home .rev_slider_wrapper {
    position: absolute;
    top: 0;
}
body.home #site-header {
    z-index: 10000;
}
body.home .content-area {}
body.home .section-wrapper {
    position: relative;
    z-index: 1000;
}
body.home .home-page-footer-cta {
    background-image: url('../../uploads/2018/05/iStock-637326878-laptop.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    padding-top: 40vw;
}

body.home .home-page-footer-cta .home-page-footer-cta-content {
    background-color: #fff;
    padding: 4% 4% 5%;
    margin-top: 200px 0 0 0;
}
body.home .home-page-footer-cta .home-page-footer-cta-content * {
    font-size: 1em;
}
body.home .home-page-footer-cta .home-page-footer-cta-content h1 {
    color: #ed1c24;
    font-size: 1.5em;
}
@media screen and (min-width:768px) {
    body.home .home-page-footer-cta {
        padding-top: 0;
    }
    body.home .home-page-footer-cta::before {
        content: '';
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;

        /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,ffffff+92&0+0,1+53 */
        background: -moz-linear-gradient(-45deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 53%, rgba(255,255,255,1) 92%); /* FF3.6-15 */
        background: -webkit-linear-gradient(-45deg, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 53%,rgba(255,255,255,1) 92%); /* Chrome10-25,Safari5.1-6 */
        background: linear-gradient(135deg, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 53%,rgba(255,255,255,1) 92%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */

    }
    body.home .home-page-footer-cta .home-page-footer-cta-content {
        background-color: transparent;
    }
}
/* END HOME PAGE */

/* CONTACT US */
body.section-contact header.entry-header.main {
	background-position-y: bottom;
}
body.section-contact .google-map {
	border: 0;
	width: 100%;
}
/* END CONTACT US */


/*
-----------------------------------------------------------------------
        END PAGE SPECIFIC
-----------------------------------------------------------------------
*/

/*
-----------------------------------------------------------------------
        FOOTER
-----------------------------------------------------------------------
*/
#footer {
	background-color: #444;
	color: #fff;
	padding: 2%;
}
#footer * {
	background-color: unset !important;
	color: unset !important;
	text-transform: uppercase;
	text-align: center;
}
#footer .main {
	padding: 0 !important;
}
#footer .widget-box {
    float: none;
    display: inline-block;
    vertical-align: text-top;
}
#footer .secondary {
}
#footer .widget-box {
    margin-bottom: 0px !important;
    overflow-wrap: break-word;
}
/*
-----------------------------------------------------------------------
        END FOOTER
-----------------------------------------------------------------------
*/
