/*------------------------------------------------------------------------------------------------------------*/

/*  THEME NAME: lamontdesign benchpress
/*  VERSION: 2.5.1
/*  LEVEL: LAMONTDESIGN
/*  AUTHOR: LAMONTDESIGN LTD
/*--------------------------------------------------------------------------------------------------------------*/

/* typography */

/* placeholder styles for input elements */

::-webkit-input-placeholder {
    color: #808080;
    opacity: 1;
}

::-moz-placeholder {
    color: #808080;
    opacity: 1;
}

::-ms-placeholder {
    color: #808080;
    opacity: 1;
}

::placeholder {
    color: #808080;
    opacity: 1;
}

* {
    font-family: 'Ubuntu', sans-serif;
    font-variant-ligatures: none;
}

p {
    display: block;
    font-size: 1.6em;
    line-height: 1.8em;
    padding: 0;
    margin-bottom: 20px;
    margin-top: 0;
    font-weight: lighter;
    width: 100%;
}

input, textarea, select {
    font-size: 1.6em;
}

h1, h2, h3, h4, h5, h6 {
    padding: 0;
    margin-bottom: 20px;
    margin-top: 0;
    line-height: 1.1em;
    font-weight: 400;
    width: 100%;
    clear: both;
}

/* only apply em-based margins for typed content - this stops us having to override the margins in too many places when trying to line up other text. */

.content p {
    margin-top: 1em;
    margin-bottom: 2em;
    /*padding-left: 50px;
    padding-right: 50px;*/
}

/* Alan - added proportional content header margins  */

.content h1, .content h2, .content h3, .content h4, .content h5, .content h6 {
    margin-bottom: .4em;
    margin-top: .83em;
    line-height: 1.2em;
}

/* margin overrides where the text element is the first element in the container - this stops excessive space at the top of a content area */

.content h1:first-child, .content h2:first-child, .content h3:first-child, .content h4:first-child, .content h5:first-child, .content h6:first-child, .content p:first-child {
    margin-top: 0;
}

h1 {
    font-size: 3.6em;
}

h2 {
    font-size: 3em;
}

h3, .widgettitle {
    /* helps with wordpress, keeps widget titles consistent */
    font-size: 3em;
}

.widgettitle {
    margin-top: 0;
}

h4 {
    font-size: 2.6em;
}

h5 {
    font-size: 2em;
}

h6 {
    font-size: 1.4em;
}

a, input {
    -webkit-transition: color .25s ease, background-color .25s ease, opacity .25s ease;
    transition: color .25s ease, background-color .25s ease, opacity .25s ease;
}

a {
    text-decoration: none;
    outline: none;
    border: 0;
}

a:hover {
    outline: 0;
}

ul, ol {
    margin: 0 0 20px 0;
    padding: 0;
    font-size: 1.6em;
    list-style-type: none;
    display: inline-block;
    text-align: left;
    width: auto;
}

ul ul, ol ol, ul ol, ol ul {
    display: block;
}

.text-center ul, .text-center ol {
    margin: 0 auto 20px auto;
}

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

li {
    margin: 0;
    padding: 0;
    line-height: 1.8em;
    font-weight: 100;
    /*list-style-type: none;*/
    /* nope! */
}

ul ul, ol ol, ul ol, ol ul, ul.sidebar
/*kill off inheriting font sizes on uls and lis */

    {
    font-size: 100%;
    margin: 0;
}

main ol {
    list-style: decimal;
    padding-left: 20px;
}

main ul {
    list-style: disc;
    padding-left: 20px;
}

small {
    font-size: 80%;
}

blockquote {
    margin: 0 0 20px 0;
    padding: 0;
    font-size: 2em;
    line-height: 1.4em;
    font-weight: normal;
    font-style: italic;
}

blockquote p, p blockquote
/* just incase */

    {
    font-size: 100%;
}

td, th {
    padding: 10px 15px;
    text-align: left;
    font-size: 1.4em;
    line-height: 1.4em;
    vertical-align: top;
}

/*** end typography ***/

/* colours */

/* text and background colours */

h1, h2, h3, h4, h5, h6 {
    color: #057CBA;
}

p, td, th, li {
    color: #4D4D4D;
}

a {
    color: #057CBA;
}

a:hover {
    color: #4D4D4D;
}

/* buttons & controls */

.stnd-btn, .big-buttons a {
    padding: 10px 40px;
    display: inline-block;
    color: #fff;
    -webkit-transition: box-shadow .25s ease;
    transition: box-shadow .25s ease;
    border-radius: 30px;
    background: #005988;
    font-size: 1em;
    margin-top: 40px;
}

.stnd-btn:hover, .big-buttons a:hover {
    -webkit-box-shadow: 0px 0px 10px -5px rgba(0, 0, 0, 0.75);
    -moz-box-shadow: 0px 0px 10px -5px rgba(0, 0, 0, 0.75);
    box-shadow: 0px 0px 10px -5px rgba(0, 0, 0, 0.75);
}

input, textarea, select {
    background: #fff;
    border: 1px solid #808080;
    color: #333;
}

input[type=submit], button {
    background: #94A000;
    color: #fff;
    font-size: 1.6em;
    width: auto;
    padding: 20px;
    margin: 0 auto;
    float: none;
    display: block;
    min-width: 235px;
    text-transform: uppercase;
    border: none;
}

/* end of buttons & controls */

/** main nav styles **/

header .widget_nav_menu {
    -webkit-flex-shrink: 0;
    flex-shrink: 0;
    /* stop the nav menu shrinking; instead other header elements should shrink. avoids nav menu breaking onto 2 lines */
}

header .widget_nav_menu .menu {
    display: block;
    position: relative;
    margin: 0;
    list-style-type: none;
    padding: 0;
    text-align: right;
    /* alignment of child <li>s */
}

header .widget_nav_menu .menu li {
    display: inline-block;
    position: relative;
}

header .widget_nav_menu .menu li a {
    color: #fff;
}

header .widget_nav_menu:not(.children) a, header .widget_nav_menu:not(.children) span.nav-stub-span {
    /* top level link styles */
    color: #fff;
    font-size: 2em;
    padding: 10px 20px;
    text-align: left;
    line-height: 2em;
    display: block;
}

header .widget_nav_menu:not(.children) span.nav-stub-span:hover {
    cursor: default;
}

header .widget_nav_menu:not(.children) a:hover, header .widget_nav_menu:not(.children) a:active, header .widget_nav_menu:not(.children) a:focus {
    /* hover state for top level navigation link */
    color: #005988;
}

header .widget_nav_menu:not(.children) li.current-menu-item>a, header .widget_nav_menu:not(.children) li.current-page-ancestor>a {
    /* currently active top level navigation link */
    /*color: #005988;*/
}

header .widget_nav_menu .children {
    font-size: 100%;
}

header .widget_nav_menu .children a {
    color: #FFF;
    background: #005988;
    border-bottom: 1px solid #057CBA;
    font-size: 1.6em;
    line-height: 1.8em;
    text-align: left;
}

header .widget_nav_menu .children li:last-child a {
    border-bottom: none;
}

header .widget_nav_menu .children a:hover, header .widget_nav_menu .children a:active, header .widget_nav_menu .children a:focus {
    /* hover state for child level navigation link */
    color: #81bcdc;
}

header .widget_nav_menu .children li.current-menu-item a, header .widget_nav_menu .children li.current-page-ancestor a {
    /* active navigation child link */
    color: #81bcdc;
}

header .widget_nav_menu .children {
    /* flyout subnav */
    width: 140%;
    padding-top: 20px;
    background-color: transparent;
}

#header-top .widget_popup_button {
    -webkit-flex-grow: 0;
    flex-grow: 0;
    display: none;
}

/* header top bar sidebar styles */

#header-top-bar .widget {
    padding-top: 0;
    padding-bottom: 0;
}

#header-top-bar .widget_nav_menu:not(.children) a {
    font-size: 1.4em;
    padding: 5px 10px;
}

#header-top-bar .widget_nav_menu .menu .current-menu-item a, #header-top-bar .widget_nav_menu .menu .current-page-ancestor a, {
    color: #fff;
}

#header-top-bar .widget_nav_menu .menu a:hover, #header-top-bar .widget_nav_menu .menu a:focus {
    color: #94A000;
}

#header-top-bar a, #header-top-bar p {
    color: #fff;
}

#header-top-bar p {
    margin-bottom: 0;
    font-size: 1.4em;
}

/* end of header top bar styles */

/* styles for fixed header on desktop */

/* note, you may want to pad the top of the main div to allow space for content to display that this would otherwise overlap */

/* note2, this won't work on mobile as expected and will be shonky at best. override at mobile screen sizes. */

#header-top-bar-wrapper.fixed {
    position: fixed;
    z-index: 100;
    /*height: 175px;*/
    top: 0;
    /*-webkit-transition: opacity .2s ease, height .2s ease;
    transition: opacity .2s ease, height .2s ease;*/
    backface-visibility: hidden;
}

.logged-in #header-top-bar-wrapper.fixed {
    top: 32px;
}

.fixed #header-top-bar {
    overflow: hidden;
    height: 40px;
    -webkit-transition: height .2s ease;
    transition: height .2s ease;
}

.fixed #header-top .widget.logo img {
    -webkit-transition: max-width .2s ease;
    transition: max-width .2s ease;
    max-height: 100px;
}

.fixed.scrolled #header-top-bar {
    height: 0;
}

.fixed.scrolled #header-top .widget.logo img {
    max-width: 120px;
}

/* fade out the header when it gets the closed class. the closed class is added by javascript after the user has scrolled down enough and after a 1s timeout. */

/*#header-top-bar-wrapper.fixed.closed
{
    opacity: 0;
}*/

body {
    padding-top: 40px;
}

/* */

/** mobile navigation colours */

.mob-nav-wrapper>ul.menu {
    font-size: 1.4em;
}

.mob-nav-wrapper a {
    line-height: 1.6em;
    color: #057CBA;
    border-bottom: 1px solid #057CBA;
    padding: 10px 20px 10px 20px;
}

.mob-nav-wrapper .children a {
    padding-left: 40px;
    background-color: #e5f6ff;
}

/** end of mobile navigation colours */

/** end of header navigation */

/* main elements */

#header-mobile-bar {
    background: #057CBA;
}

#header-mobile-bar .hamburger-menu {
    background: #057CBA;
}

#header-mobile-bar .hamburger-menu span {
    background: #fff;
}

#header-top-bar {
    background: #005988;
}

#header-top {
    background: rgba(9, 156, 255, .6);
    position: absolute;
    z-index: 2;
}

.no-header-images #header-top, .header-images-disabled #header-top {
    position: relative;
    /* avoid issues with overlapping the content when there are no header images */
    /*background: rgba(0, 0, 0, .8);*/
    /* background with low opacity & no background image below it can wash out the nav link colours, fix that here and provide more contrast */
}

main {
    /*padding-bottom: 50px;*/
    /* to space back to top link that pokes up from the footer */
    background: #fff;
}

.header-images-disabled main, .no-header-images main {
    /* pad the top of main if there are no header images */
    padding-top: 200px;
    min-height: 750px;
}

footer {
    /*padding-top: 35px;*/
    /* for the footer "back to top" button */
    background: #005988;
}

footer p {
    color: #fff;
    font-size: 1.8em;
}

footer a {
    color: #fff;
}

footer a:hover, footer a:focus, footer a:active {
    color: #81bcdc;
}

footer .widgettitle, footer h5 {
    color: #94A000;
}

/*footer .sidebar-footer
{
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}
footer .sidebar-footer .widget
{
    -webkit-flex-basis: 100%;
    flex-basis: 100%;
}
*/

footer .sidebar-footer .widget:not(.widget_content), footer .sidebar-footer-top .widget:not(.widget_content) {
    text-align: center;
}

#copyright {
    border-top: solid #fff 1px;
}

#copyright p {
    margin: 0;
    font-size: 1.2em;
}

#copyright a {
    /*color: #fff;*/
}

/*******/

/* front page columns content */

.front-cont-cols {
    text-align: center;
}

/* height for header slider */

.ld-fadey-slider {
    height: 600px;
    /* fallback for browsers that don't support vh (they are far and few between) */
    height: calc(100vh - 220px);
    /* % of viewport height */
    min-height: 500px;
    /* absolute height we don't want it to go below */
    /*background-attachment : fixed;*/
    /* uncomment when you want to fix the header image (i.e doesn't move with scroll) */
}

.frontpage .ld-fadey-slider {
    height: 600px;
    /* fallback for browsers that don't support vh (they are far and few between) */
    height: calc(100vh - 70px);
    /* % of viewport height */
    min-height: 500px;
    /* absolute height we don't want it to go below */
    /*background-attachment : fixed;*/
    /* uncomment when you want to fix the header image (i.e doesn't move with scroll) */
}

/* left / right buttons for h-slider and header image slider */

.ld-fadey-slider-nav {
    height: 145px;
    width: 77px;
    background: url(assets/images/elements/arrow.png) no-repeat center center;
    bottom: 100px;
    display: none;
}

.h-slider-nav {
    /* nav for featured sliders */
}

.ld-fadey-slider-nav:hover, .h-slider-nav:hover {
    /*background : rgba(0,0,0,.6);*/
}

.ld-fadey-slider-nav.next, .h-slider-next {
    right: 25px;
}

.ld-fadey-slider-nav.prev, .h-slider-prev {
    left: 25px;
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
}

/* tab nav - can be set to display: none; */

.ld-fadey-slider-tabs {
    /*display: none;*/
    bottom: 120px;
}

.ld-fadey-slider-tabs li a, .h-slider-tabs li a {
    border-radius: 50%;
    border: 2px solid #fff;
    background: #fff;
    width: 15px;
    height: 15px;
}

.ld-fadey-slider-tabs li.ld-fadey-slider-tab-here a, .h-slider-tabs li.slider_here a {
    border: 2px solid #81bcdc;
    background: #81bcdc;
}

/* head / scroll down button */

.head-btn, .back-to-top-btn {
    border-radius: 50%;
    box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, .3);
    display: block;
    background: url(assets/images/elements/down-arrow.png) no-repeat center center #94A000;
    margin: 20px auto;
    width: 70px;
    height: 70px;
    -webkit-transition: box-shadow .25s ease;
    transition: box-shadow .25s ease;
}

.ld_popover__close {
    /* close button for the LD Popover */
    background: #057CBA;
}

.head-btn:hover, .back-to-top-btn:hover, .head-btn:focus, .back-to-top-btn:focus, .ld_popover_close:focus, .ld_popover_close:focus, .widget.subnav .hamburger-menu:hover {
    /* hover state for back to top, popover close & scroll down buttons */
}

.back-to-top-btn {
    display: none;
    position: relative;
    -webkit-transform: rotate(-180deg) translateY(50%);
    transform: rotate(-180deg) translateY(50%);
    z-index: 10;
    margin: 0 auto;
    margin-bottom: -40px;
}

/* big gallery button */

.big-gallery {
    /* overflow: hidden; */
}

.big-gallery .row {
    height: auto;
}

.big-gallery__btn {
    font-size: 1.6em;
    background: #fff;
    border: 1px solid #000;
}

.big-gallery__btn:hover, .big-gallery__btn:focus {
    /* hover state for gallery button */
}

.big-gallery-title {
    text-transform: uppercase;
    /*color: #243752;*/
}

.big-gallery img {
    width: 100%;
}

/* styles for google recaptcha box */

.g-recaptcha {
    margin-bottom: 20px;
    display: flex;
justify-content: right;
flex-basis: 100%;
}

/* header slider caption styling */

.caption-wrapper {
    background: none;
    height: 90%;
}

.caption-wrapper .caption {
    display: table;
    width: 100%;
    height: 100%;
}

.caption-inner {
    vertical-align: middle;
    display: table-cell;
    height: 300px;
}

.caption-wrapper .caption-link {
    bottom: 60px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.caption-wrapper .caption-link a {
    padding: 5px 30px;
    width: auto;
    display: inline-block;
    background: rgba(5, 124, 186, .6);
    -webkit-transition: background .25s ease;
    transition: background .25s ease;
    text-transform: uppercase;
    font-weight: 400;
    text-shadow: 0 0 3px rgba(0, 0, 0, .6);
    color: #fff;
    border-radius: 30px;
    font-size: 0.7em;
}

.caption-wrapper .caption-link a:hover {
    -webkit-box-shadow: 0px 0px 10px -5px rgba(0, 0, 0, 0.75);
    -moz-box-shadow: 0px 0px 10px -5px rgba(0, 0, 0, 0.75);
    box-shadow: 0px 0px 10px -5px rgba(0, 0, 0, 0.75);
}

.caption-wrapper .caption-title, .caption-wrapper .caption-text, .caption-wrapper .caption-link {
    text-shadow: 0 0 3px rgba(0, 0, 0, .6);
    color: #fff;
    padding-top: 10px;
    margin-bottom: 10px;
}

.caption-wrapper .caption-title {
    font-family: 'Oswald', sans-serif;
    font-weight: 400;
    font-size: 8em;
    text-transform: uppercase;
}

/* end of caption styling */

/* styles for featured items & posts */

.post {
    box-shadow: 0 0 10px rgba(149, 152, 138, 0.25);
    display: block;
    /*-webkit-transition : box-shadow .25s ease;
    transition         : box-shadow .25s ease;*/
}

/* for posts, grow the box shadow when hovered */

.post:hover, .post:focus {
    /*box-shadow : 0 0 10px rgba(149, 152, 138, .5);*/
}

/* alternate styling where the image of the post will darken on hover */

.post .thumb {
    position: relative;
}

.post .thumb::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    background: #000;
    z-index: 1;
    opacity: 0;
    -webkit-transition: opacity .25s ease-in-out;
    transition: opacity .25s ease-in-out;
}

.post:hover .thumb::after, .post:focus .thumb::after {
    opacity: .1;
}

/* feature styles */

.feature {
    display: block;
    height: 100%;
}

/* alternate styling where the image of the feature will darken on hover */

.feature .thumb {
    position: relative;
}

/*.feature .thumb::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    background: #000;
    z-index: 1;
    opacity: 0;
    -webkit-transition: opacity .25s ease-in-out;
    transition: opacity .25s ease-in-out;
}

.feature:hover .thumb::after,
.feature:focus .thumb::after {
    opacity: .1;
}*/

.feature:hover .fea-btn {
    background: #005988;
}

.feature .fea-btn {
    padding: 10px 30px;
    width: auto;
    display: inline-block;
    background: #81bcdc;
    -webkit-transition: background .25s ease;
    transition: background .25s ease;
    text-transform: uppercase;
    font-weight: 400;
    color: #fff;
    border-radius: 30px;
    font-size: 1.4em;
}

.feature .desc {
    position: relative;
    padding: 40px 20px 20px 20px;
    background: #fff;
    margin-bottom: 40px;
}

.feature .desc::before {
    content: "";
    height: 40px;
    width: 100%;
    background: url(assets/images/elements/fea-flair-top.png) no-repeat center center;
    position: absolute;
    top: -40px;
    left: 0;
    background-size: cover;
}

.feature .desc::after {
    content: "";
    height: 40px;
    width: 100%;
    background: url(assets/images/elements/fea-flair-btm.png) no-repeat center center;
    position: absolute;
    bottom: -40px;
    left: 0;
    background-size: cover;
}

.feature__title, .post__title {
    height: 70px;
    /* 2 lines min height - 2 x line height of element, in px */
    width: 100%;
    display: table;
    margin-bottom: 20px;
}

.feature__description, .post__description {
    height: 60px;
    /* 2 lines min height - 2 x line height of element, in px */
    width: 100%;
    display: table;
    margin-bottom: 20px;
}

.feature__title h3, .post__title h3, .feature__description p, .post__description p {
    display: table-cell;
    vertical-align: middle;
    /* vertically center text */
}

/* posts */

.blog-post {
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

.blog-post .desc {
    position: relative;
    padding: 20px;
}

.blog-post .thumb {}

.blog-post .thumb img {
    width: 100%;
}

/*.blog-post .thumb
{

}
.blog-post .desc
{

}*/

.blog-post .post__category-label {
    position: absolute;
    height: 2.2em;
    line-height: 2.2em;
    padding: 0 20px;
    background: #000;
    color: #94A000;
    z-index: 2;
    font-size: 2em;
    left: 0;
    top: -2.2em;
}

/* alternate post & feature styling (full width, thumb 1/3rd and desc 2/3rds) */

/* currently this will only take place while the viewport is wider than 600px, after that it will default
to standard over / under layout to avoid getting too squashed */

@media all and (min-width: 600px) {
    .alt-posts .blog-post {
        -webkit-flex-basis: 100%;
        flex-basis: 100%;
        display: block;
    }
    .alt-posts .post, .alt-features .feature {
        -webkit-display: flex;
        display: flex;
        flex-wrap: nowrap;
    }
    .alt-posts .post {
        border-top: 1px solid #94A000;
        padding-top: 20px;
        box-shadow: none;
    }
    .alt-posts .blog-post:first-child .post {
        border-top: none;
        padding-top: 0;
    }
    .alt-posts .blog-post .thumb {
        -webkit-flex: 1 1 33.3333%;
        flex: 1 1 33.3333%;
    }
    .alt-posts .blog-post .desc {
        -webkit-flex: 1 1 66.6666%;
        flex: 1 1 66.6666%;
        margin-left: 20px;
        border: 1px solid #95989A;
    }
    .alt-features .desc, .alt-features .thumb {
        -webkit-flex: 1 1 50%;
        flex: 1 1 50%;
    }
    .alt-features .desc {
        padding: 20px 20px 20px 40px;
    }
    .alt-posts .post__category-label {
        position: static;
        width: auto;
        display: inline-block;
        margin-bottom: 50px;
    }
    .alt-features .fea-btn {
        top: 50%;
        margin-top: -28px;
        left: -28px;
        margin-left: 0;
    }
    .alt-features .col {
        /* default alt-features to a 50% width to prevent them growing too much when the screen is full width */
        -webkit-flex-basis: 50%;
        flex-basis: 50%;
    }
}

@media all and (max-width:1200px) and (min-width:600px) {
    /* make alt-features full width but only under 1200px width and above 600px width.
    this prevents them getting too big, but overrides the default 50% width when they can grow comfortably. */
    .alt-features .col {
        -webkit-flex-basis: 100%;
        flex-basis: 100%;
    }
}

/* end of posts */

/* styling for previous / next buttons on posts and pages and listings */

.post-controls {
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    padding: 15px 0;
    -webkit-align-items: center;
    align-items: center;
    margin-top: 20px;
    margin-bottom: 20px;
}

.post-controls p {
    margin: 0;
}

.post-controls a {
    text-transform: uppercase;
    position: relative;
    overflow: visible;
}

.post-controls a span {
    background: url(assets/images/elements/arrow-colour.png) no-repeat center center;
    display: block;
    width: 15px;
    height: 26px;
    position: absolute;
    top: 50%;
    margin-top: -13px;
    background-size: 100%;
}

.post-controls .prev-post {
    text-align: left;
}

.post-controls .next-post {
    text-align: right;
}

.post-controls .next-post a {
    padding-right: 40px;
}

.post-controls .next-post a span {
    right: 0;
}

.post-controls .prev-post a {
    padding-left: 40px;
}

.post-controls .prev-post a span {
    transform: rotate(-180deg);
    left: 0;
}

.post-controls .home-link a {
    display: inline-block;
    width: 35px;
    height: 35px;
    text-indent: 999px;
    overflow: hidden;
    background-color: #94A000;
    background-image: linear-gradient(90deg, #fff 50%, transparent 50%), linear-gradient(#fff 50%, transparent 50%);
    background-size: 10px 10px;
    -webkit-transition: background-color .25s ease;
    transition: background-color .25s ease;
}

.post-controls .home-link a:hover {
    background-color: #808080;
}

.blog-listing__load-more-btn {
    text-align: center;
}

.blog-listing__load-more-btn a {
    padding: 20px 40px;
    display: inline-block;
    border: 1px solid #94A000;
    color: #94A000;
    -webkit-transition: box-shadow .25s ease;
    transition: box-shadow .25s ease;
}

.blog-listing__load-more-btn a:hover {
    -webkit-box-shadow: 0px 0px 10px -5px rgba(0, 0, 0, 0.75);
    -moz-box-shadow: 0px 0px 10px -5px rgba(0, 0, 0, 0.75);
    box-shadow: 0px 0px 10px -5px rgba(0, 0, 0, 0.75);
}

/* end of styling for previous / next buttons on posts and pages and listings */

/* styles for the hamburger menu when used as a toggle for the sibling navigation in pages or category navigation */

.widget.subnav {
    text-align: center;
    max-width: 320px;
    min-width: 250px;
    margin-left: auto;
    margin-right: auto;
    /*padding-bottom: 30px;*/
}

.widget.subnav li a {
    border-bottom: 1px solid #057CBA;
    padding: 15px 20px;
    text-align: center;
    font-size: 1.1em;
}

.widget.subnav li a:hover, .widget.subnav .current_page_item a {
    color: #808080
}

.widget.subnav .hamburger-menu {
    background: #fff;
    height: 70px;
    width: 70px;
    border-radius: 50%;
    box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, .3);
    margin-top: 20px;
    margin-bottom: 10px;
    position: absolute;
    top: -70px;
    z-index: 10;
    transform: translateX(-50%);
}

.drop-menu .sidebar.col.span-1-1 {
    padding-top: 0;
    padding-bottom: 0;
}

.drop-menu .row.wide {
    padding-top: 0;
    padding-bottom: 0;
}

/* alan - drop menu classes */

.drop-menu aside.sidebar {
    overflow: visible;
}

.drop-menu .drop-menu-preload {
    display: none;
}

.drop-menu::before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 70px;
    background: url(assets/images/nav-bg-white.png) no-repeat top center;
    background-size: cover;
    top: -70px;
    z-index: 2;
    -webkit-transition: background .2s ease;
    transition: background .2s ease;
}

.drop-menu {
    /*min-height:50px;*/
    z-index: 2;
    /*padding-bottom: 20px;*/
    -webkit-transition: background .2s ease;
    transition: background .2s ease;
}

.drop-menu.open {
    background: #e5f6ff;
}

.drop-menu.open::before {
    background: url(assets/images/nav-bg-blue-top.png) no-repeat top center;
    background-size: cover;
}

.drop-menu::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 70px;
    background: url(assets/images/nav-bg-blue-top.png) no-repeat bottom center;
    background-size: cover;
    bottom: -70px;
    z-index: 2;
    opacity: 0;
    -webkit-transition: opacity .2s ease;
    transition: opacity .2s ease;
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
}

.drop-menu.open::after {
    opacity: 1;
}

.widget.subnav .hamburger-menu span {
    background: #fff;
    display: none;
}

.widget.subnav .hamburger-menu::before {
    content: "menu";
    color: #057CBA;
    font-size: 1.8em;
    font-weight: 400;
    text-transform: uppercase;
    font-family: 'Oswald', sans-serif;
    top: 20px;
    position: absolute;
    transform: translateX(-50%);
}

.widget.subnav .hamburger-menu::after {
    content: "";
    background: url(assets/images/elements/menu-arrow.png) no-repeat center center;
    width: 18px;
    height: 11px;
    position: absolute;
    bottom: 12px;
    left: 50%;
    margin-left: -9px;
}

/* end of styles for the hamburger menu when used as a toggle for the sibling navigation in pages or category navigation */

/* popover styling */

.ld_popover__inner {}

/* forms used in popover boxes */

.ld_popover form {
    max-width: 100%;
    padding: 20px 7%;
}

.ld_popover input[type=text], .ld_popover input[type=search], .ld_popover input[type=email] {
    /*float         : none;*/
    display: block;
    width: 100%;
    height: auto;
    border: none;
    border-bottom: 2px solid #95989A;
    font-size: 5em;
    padding: 10px 20px;
    text-align: center;
    color: #000;
    background: #fff;
    margin-bottom: 40px;
    font-weight: lighter;
    text-transform: lowercase;
}

.ld_popover input[type=search], .ld_popover input[name=s], .ld_popover .searchform input[type=text] {
    background: url(assets/images/elements/search@2x.png) no-repeat 0 22px;
    padding: 10px 40px;
    background-size: 40px;
}

.ld_popover input[type=submit] {
    float: none;
    /*display  : block;*/
    width: auto;
    height: auto;
    padding: 20px 40px;
    display: inline-block;
    border: 1px solid #94A000;
    color: #94A000;
    background: #fff;
}

/* */

/* mobile header  */

.sidebar-header-mobile {
    padding: 15px;
    height: 60px;
    -webkit-align-items: center;
    align-items: center;
}

.sidebar-header-mobile .mobile-nav-btn {
    text-align: right;
    height: auto;
}

.sidebar-header-mobile .logo img {
    width: auto;
    max-height: 40px;
margin-top: 5px;
}

.gmap iframe {
    margin: 0 auto;
    width: 100%;
    /* make google maps full width */
}

/* center social icons when displayed using the shortcode */

.social_links {
    text-align: center;
}

/**/

/* contact form styles */

.contact_form label {
    display: none;
}

.contact_form textarea {
    min-width: 100%;
}

/* end of contact form styles */

/* google map iframe styles - remove 20px margin when it's in a widget */

.widget .gmap iframe {
    margin: 0;
}

/* end of google map iframe styles */

/* styles for the flow flow social plugin */

#ff-stream-1 .ff-header h1, #ff-stream-1 .ff-header h2 {
    text-align: center;
    text-transform: none;
    font-size: 4em;
    margin: 0 !important;
}

#ff-stream-1.ff-stream {
    /*padding-top: 70px;*/
    /*margin-top: 30px;*/
}

.ff-item-cont {
    padding: 0;
}

.picture-item__inner.picture-item__inner--transition {
    padding: 0 !important;
}

.ff-img-holder.ff-no-margin.ff-img-loaded {
    margin-bottom: 0;
}

.ff-item h4 {
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 20px;
}

.ff-content {
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 20px;
}

.ff-item-meta {
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 20px;
}

/* background of the loader squares */

#ff-stream-1 li, #ff-stream-1-slideshow li, #ff-stream-1 .ff-square {
    background: #94a000 !important;
}

/* end of flow flow social plugin styles */

/* fancybox3 close button background */

.ld_fancybox_close {
    background: #057CBA;
}

/* ADDITIONS */
.content .search.searchform.clearfix {
    padding-bottom: 150px;
}
.search .content .search.searchform.clearfix {
    padding-bottom: 0;
}
.search .wrapper.blog-listing {
    padding-bottom: 150px;
}
.frontpage .content .stnd-btn:hover {
    color: #fff;
}

.page-contact .grey-flair-btm {
    display: none;
}

.social_links ul.social {
    display: flex;
}

.widget.widget_popup_button.contact-news {
    display: none;
}

#footer-top .widget.widget_popup_button {
    display: none;
}

.flex .col.span-1-1.widget_content_col.widget-content-col-0 {
    padding-bottom: 80px;
}

.copy-btm-text .col.span-1-1.widget_content_col.widget-content-col-0 {
    padding-bottom: 20px;
}

.big-gallery.wrapper {
    /* margin-bottom: 180px; */
    margin-top: 30px;
}

/* custom additions after this line and before responsive rules */

header .widget.widget_logo.logo {
    padding-left: 20px;
}

.hero-message h1 {
    text-transform: uppercase;
}

.content.hero-message p {
    font-size: 2em;
}

.col.span-1-1.content.hero-message.text-center {
    max-width: 750px;
    margin: 0 auto;
}

.contact-details .social-small .social li {
    float: right;
}

#footer-top .ld_popover__link__wrapper {
    padding-bottom: 100px;
}

.copy-btm-text p {
    font-size: 1.2em;
    margin-bottom: 0;
}

.row.narrow.content.front-cont-cols.big-buttons.flex-grow h2 {
    font-size: 4.2em;
}

.wrapper.drop-menu.open {
    padding-bottom: 20px;
    min-height: 50px;
}

#header-top-bar .row.wide {
    padding: 6px 30px;
}

.sidebar-header-top .col.span-1-1.widget_content_col.widget-content-col-0 {
    padding-top: 0;
    padding-bottom: 0;
}

input, textarea, select {
    border: 1px solid #057CBA;
}

.page-contact .wrapper.light-blue .col.span-1-1.content {
    display: none;
}

.page-contact .wrapper.light-blue {
    padding: 40px 0 150px 0;
}

.widget.subnav .mob-subnav-btn~ul.widget_subnav_menu {
    margin-top: 30px;
}

.light-grey h2 {
    text-align: center;
    color: #005988;
}

.h-slider-wrapper .ld_h_slider_wrapper {
    z-index: 5;
}

.footer-top-flair {
    height: 116px;
    width: 100%;
    background: url(assets/images/elements/footer-top-flair.png) no-repeat center center;
    position: absolute;
    top: -116px;
    z-index: 2;
    background-size: cover;
}

.white-main {
    height: 153px;
    width: 100%;
    background: url(assets/images/elements/white-flair.png) no-repeat center center;
    position: absolute;
    z-index: 2;
    background-size: cover;
    bottom: -100px;
}

.grey-flair-btm {
    height: 176px;
    width: 100%;
    background: url(assets/images/elements/grey-flair-btm.png) no-repeat center center;
    position: absolute;
    z-index: 2;
    background-size: cover;
    bottom: 210px;
}

.white-top-main {
    height: 67px;
    width: 100%;
    background: url(assets/images/elements/white-top-flair.png) no-repeat center center;
    position: absolute;
    z-index: 2;
    background-size: cover;
    bottom: 0;
}

.wrapper.light-blue {
    background: #057CBA;
    padding: 200px 0 200px 0;
    margin-top: -140px;
}

.wrapper.light-blue * {
    color: #fff;
}

#footer-top {
    padding: 100px 0 0 0;
}

.light-blue p {
    font-size: 2em;
}

.row.narrow {
    max-width: 850px;
}

ul li.menu-item-has-children span.nav-stub-span::after {
    content: "";
    display: block;
    bottom: -2px;
    background: url(assets/images/elements/small-arrow.png) no-repeat center center;
    width: 12px;
    height: 8px;
    position: absolute;
    margin-right: -4px;
    right: 50%;
}

ul li.menu-item-has-children a::after {
    content: "";
    display: block;
    bottom: -2px;
    background: url(assets/images/elements/small-arrow.png) no-repeat center center;
    width: 12px;
    height: 8px;
    position: absolute;
    margin-right: -4px;
    right: 50%;
}

ul li.menu-item-has-children .sub-menu.children a::after {
    display: none;
}

#header-top-bar a:hover {
    color: #81bcdc;
}

.ff-theme-classic.ff-style-4 .ff-item-meta {
    border-top: none !important;
}

.ld_popover__wrapper {
    top: 90px;
}

.logged-in .ld_popover__wrapper {
    top: 112px;
}

.contact-details .col.span-1-3.widget_content_col.widget-content-col-2 p {
    margin: 0;
}

input[type="submit"] {
    background: #005988;
    -webkit-transition: box-shadow .25s ease;
    transition: box-shadow .25s ease;
    text-align: left;
    width: 100%;
}

input[type="submit"]:hover {
    -webkit-box-shadow: 0px 0px 10px -5px rgba(0, 0, 0, 0.75);
    -moz-box-shadow: 0px 0px 10px -5px rgba(0, 0, 0, 0.75);
    box-shadow: 0px 0px 10px -5px rgba(0, 0, 0, 0.75);
    background: #057CBA;
}

input[type="text"] {
    min-height: 63px;
}

.contact_form textarea {
    min-height: 150px;
}

.head-btn {
    display: none;
}

.col.span-1-1.content.text-center {
    padding-top: 60px;
}

.light-grey {
    background: #f5f5f5;
    padding-top: 140px;
}

.ld_popover__link {
    padding: 15px 40px;
    display: inline-block;
    color: #fff;
    -webkit-transition: box-shadow .25s ease;
    transition: box-shadow .25s ease;
    border-radius: 30px;
    background: #057CBA;
    font-size: 1em;
}

.ld_popover__link:hover {
    color: #fff;
    -webkit-box-shadow: 0px 0px 10px -5px rgba(0, 0, 0, 0.75);
    -moz-box-shadow: 0px 0px 10px -5px rgba(0, 0, 0, 0.75);
    box-shadow: 0px 0px 10px -5px rgba(0, 0, 0, 0.75);
}

.gmap.oembed.clearfix {
    padding-bottom: 200px;
}

.gmap.oembed.clearfix iframe {
    border: 1px solid #057CBA !important;
}

.header-images-disabled .white-top-main {
    display: none;
}

.scrolled #header-top {
    background: #057CBA;
    box-shadow: 0px 0px 10px -5px rgba(0, 0, 0, 0.75);
}

.contact-news .ld_popover__link {
    border-radius: 0;
    background: #005988;
}

.contact-news .ld_popover__link:hover {
    border-radius: 0;
    background: #057CBA;
}

.contact-details .row .flex.flex-grow {
    border-top: 1px solid #057CBA;
    border-bottom: 1px solid #057CBA;
    padding-top: 20px;
    padding-bottom: 30px;
}

/* custom additions before this line */

/* RESPONSIVE RULES */

@media all and (max-width: 1280px) {
    /* first breakpoint to tidy up anything too big */
}

@media all and (max-width: 980px) {
    /* second breakpoint for tablet in portrait mode */
    /* remove padding top from body since the fixed header will be hidden at this point */
    .caption-wrapper .caption-title {
        font-size: 4.5em;
    }
    .caption-wrapper .caption {
        padding: 20px 40px 40px 40px;
    }
    body, body.logged-in {
        padding-top: 0;
    }
    /* remove left / right buttons on header, add in tabbed nav */
    .ld-fadey-slider-tabs {
        display: block;
    }
    .ld-fadey-slider-nav {
        display: none;
    }
    /* change font sizes down */
    h2, h3 {
        font-size: 2.4em;
    }
    h4 {
        font-size: 2.2em;
    }
    .caption-title {
        font-size: 4em;
    }
    .caption-text, .caption-link {
        font-size: 2em;
    }
    .ld-fadey-slider {
        height: calc(100vh - 120px);
        /* % of viewport height */
        min-height: 300px;
        /* absolute height we don't want it to go below */
    }
    .frontpage .ld-fadey-slider {
        height: calc(100vh - 120px);
        /* % of viewport height */
        min-height: 300px;
        /* absolute height we don't want it to go below */
    }
    .caption-inner {
        height: 260px;
    }
    /* responsive rules for post controls to stop them stacking wierdly */
    main .post-controls .span-1-3 {
        -webkit-flex-basis: 33.3333%;
        -moz-flex-basis: 33.3333%;
        -ms-flex-basis: 33.3333%;
        -o-flex-basis: 33.3333%;
        flex-basis: 33.3333%;
        flex-grow: 1;
    }
    main .post-controls .span-1-3 p {
        padding: 0;
    }
    .wrap.span-1-3.home-link {
        -webkit-flex-basis: 40px;
        -moz-flex-basis: 40px;
        -ms-flex-basis: 40px;
        -o-flex-basis: 40px;
        flex-basis: 40px;
    }
    /* end of responsive rules for post controls to stop them stacking wierdly */
    /* responsive styles for flowflow plugin */
    #ff-stream-1 .ff-item, #ff-stream-1 .shuffle__sizer {
        max-width: 100% !important;
    }
    #ff-stream-1 .ff-theme-classic .ff-item img {
        height: auto !important;
    }
    #ff-stream-1 .ff-stream-wrapper .ff-item:nth-child(n+3) {
        display: none;
    }
    #ff-stream-1 .ff-stream-wrapper.show-all .ff-item:nth-child(n+3) {
        display: block;
    }
    #ff-stream-1 .ff-stream-wrapper .ff-item {
        text-align: left;
        float: none;
        position: relative !important;
        transform: none !important;
        width: 100%;
    }
    #ff-stream-1.ff-stream {
        min-height: 0 !important;
    }
    #ff-stream-1 .ff-stream-wrapper {
        height: auto !important;
    }
    .ff-stream-more-button.stnd-btn {
        /* styles for "more" button */
    }
    /* end of responsive styles for flowflow plugin */
    #header-top-bar-wrapper.fixed {
        /* override fixed positioning for mobile to avoid shonkyness. Also remove any padding added to <main> for the fixed positioning. */
        position: relative;
        height: auto;
    }
    body {
        padding-top: 0;
    }
}

@media all and (max-width: 600px) {
    /* intermediate breakpoint between tablet in portrait and phone in portrait */
    /* change font sizes down */
    h1 {
        font-size: 3em;
    }
    .caption-title {
        font-size: 2.3em;
    }
    .caption-text, .caption-link {
        font-size: 1.8em;
    }
    .col.span-1-4 {
        -webkit-flex-basis: 100%;
        -moz-flex-basis: 100%;
        -ms-flex-basis: 100%;
        -o-flex-basis: 100%;
        flex-basis: 100%;
    }
}

@media all and (max-width: 500px) {
    /* breakpoint for phone in portrait */
    #copyright p, #copyright p.text-right {
        text-align: center;
    }
}

/* END OF RESPONSIVE RULES */
