/*
 Theme Name:   South Coast Lumber Theme 2023
 Theme URI:    /
 Description:  Flex grid theme using Mega Menu
 Author:       JV Media Design
 Author URI:   https://jvmediadesign.com
 Version:      6.6.1
*/

@import url("https://use.typekit.net/jpg0hhx.css");
@import url('css/mainmenu.css');

:root {
    --blue-color: rgb(57,61,106);
    --green-color: rgb(0,99,65);
    --green-trees-background-color: rgb(0,89,59);
    --dark-blue-color: rgb(16,61,84);
    --brown-color: rgb(71,58,43);
    --beige-color: rgb(209,194,172);
    --text-color: var(--green-color);/* was #323232 */

    --headings-family: 'factoria', serif;
    --main-family: 'open-sans', sans-serif;
    --border-radius: 0;
    --round-border-radius: 0;
}

body, html {
    overflow-x: hidden;
}

body {
    background: white;
    color: var(--text-color);
    padding: 0;
    margin: 0;
    font-family: var(--main-family);
    font-weight: 400;
    font-size: 1.275rem;
    font-style: normal;
    line-height: 1;
    cursor: default;
    position:relative;
}

.rel {
    position: relative !important;
}

.row {
    width: 100%;
    max-width: 90vw;
}

.row.narrow {
    max-width: 800px !important;
}

main .row .row {
    margin: 0 auto !important;
}

.pgtitle.row {
    padding: 1rem;
}

.collapse {
    padding: 0 !important;
}

.row.collapse > .column, .row.collapse > .columns {
    padding-right: .9375rem;
    padding-left: .9375rem;
}

.rel {
    position: relative;
}

.timer {
    font-family: var(--headings-family);
}

.margin-below {
    margin-bottom: 2rem !important;
}


/* ---------------------------->>>> BACKGROUNDS ----------------- */

.wood-border-bottom {
    background-image: url(images/wood-horiz.jpg);
    background-repeat: repeat;
    background-size: contain;
    height: 15px;
    width: 100%;
    padding: 0 !important;
    margin: 0 !important;
}

.green-trees {
    background-color: var(--green-trees-background-color);
    /*background-image: url(images/green-trees.jpg);
    background-size: cover;
    background-repeat: no-repeat;*/
}

.blue {
    background-color: var(--blue-color);
}

.green {
    background-color: var(--green-color);
}

.brown {
    background-color: var(--brown-color);
}

.beige {
    background-color: var(--beige-color);
}

.green-side-panel {
    background-color: var(--green-color);
    background-image: url(images/wood-sm-vert.jpg);
    background-repeat: repeat-y;
    background-size: 14px;
    background-position: top left;
    padding: 2rem !important;
}

.treerings {
    background: url(images/treeringsbg.png) no-repeat top left;
    background-size: cover;
}

.blue h2, .blue h3, .blue h4, .blue p, .blue li,
.green h2, .green h3, .green h4, .green p, .green li, 
.brown h2, .brown h3, .brown h4, .brown p, .brown li {
    color: #fff !important;
}


/* ----------------------------------->>>> TYPOGRAPHY ----------- */


/* ----------------------------------->>>> FONT FAMILIES -------- */

p, main ul, main ol, main ul li, blockquote, blockquote p, main ul, main ol, .address li, .topbar p {
    font-family: var(--main-family);
}

h1, h2, h3, h4, h5, .large, .xl {
    font-family: var(--headings-family);
}

.button:link, .button:visited, .button:active, .button:link, .button:visited, .button:active, .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"], input[type="submit"], .comment-reply-link:link, .comment-reply-link:active, .comment-reply-link:visited, input[type="submit"], form.search-form button, .inbuttons a {
    font-family: var(--main-family);
}

label {
    font-family: var(--main-family) !important;
    font-weight: 400 !important;
}

footer a, .copyr li {
    font-family: var(--main-family);
}

.blogcats li {
    font-family: var(--main-family);
}

.wp-paginate .current, .wp-paginate a {
	font-family: var(--main-family);
    font-weight: 700 !important;
}

.brown ul, .brown ol, .blue ul, .blue ol, .green ul, .green ol {
    padding-left: 1rem;
}

.widget-title {
    font-size: 1.4rem;
}

.post-date {
    font-size: 1rem !important;
}

a {
    text-decoration: none;
}

main p a, main p a:link, main p a:visited, main p a:active {
    color: var(--blue-color);
    text-decoration: none !important;
    border-bottom: 4px solid var(--blue-color);
    transition: all 300ms ease-out;
}

main p a:hover, main p a:focus {
    color: #fff;
    background: var(--dark-blue-color);
    border-bottom: 4px solid var(--dark-blue-color);
}

.blue a:link, .blue a:visited, .blue a:active, .green a:link, .green a:visited, .green a:active, .brown a:link, .brown a:visited, .brown a:active {
    color: white;
    border-bottom: 3px solid white;
}

.blue a:hover, .blue a:focus, .green a:hover, .green a:focus, .brown a:hover, .brown a:focus {
    color: white;
    border-bottom: 3px solid white;
}

footer a {
    border: none !important;
}

a.no-effects {
    color: var(--green-color) !important;
    border: none !important;
    background: none !important;
}

p.quote-title {
    font-weight: 700;
}

.addtoany_list a {
    background: none !important;
    border: none !important;
}

.addtoany_share_save_container { display: none; }

a img {
    border: none !important;
    outline: none;
    text-decoration: none !important;
}

/* Default paragraph styles */
p {
    /*width: 100%;*/
}

p, main ul, main ol {
    color: var(--text-color);
    width: 100%;
    margin-bottom: 1.5rem;
    width: auto;
}

.small, small {
    font-size: 1rem;
}

.u {
    text-decoration: underline;
}

blockquote {
    padding: 1rem 0 1rem 1.5rem;
    border: none;
    border-bottom: 3px solid var(--green-color);
    border-top: 3px solid var(--green-color);
}

blockquote, blockquote p {
    color: var(--brown-color);
    font-size: 1.5rem;
    font-style: italic;
    line-height: 1.5;
}

blockquote p {
    padding: 0;
    margin: 0;
}

.name {
    text-transform: uppercase;
    font-style: normal;
}

h1, h2, h3, h4, h5 {
    width: 100%;
}

h1, h2, h4 {
    color: var(--green-color);
}

h3, h5 {
    color: var(--text-color);
}

h2 {
    color: var(--green-color);
}

main h1 {
    margin: 0;
}

p, main ul, main ol, main ul li {
        line-height: 1.5;
    }

h1 a:link, h1 a:active, h1 a:visited,
h2 a:link, h2 a:active, h2 a:visited,
h3 a:link, h3 a:active, h3 a:visited,
h4 a:link, h4 a:active, h4 a:visited {
	color: inherit;
    transition: background 300ms ease-out;
}

h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover {
	color: inherit;
    text-decoration: none;
}

hr.brand {
    background: var(--green-color);
    border: none;
    clear: both;
    margin: 1rem auto;
    padding: 0;
    width: 100%;
    height: 3px;
}

.collapse hr {
    margin: 0 auto !important;
}

hr {
    background: var(--blue-color);
    border: none;
    clear: both;
    margin: 1rem auto;
    padding: 0;
    width: 100%;
    height: 3px;
}


.row.collapse hr {
    margin: 0 auto;
}

.clearfloat {
	height: 0;
	line-height: 0;
	font-size: 1px;
	clear: both;
}

em,
i {
  font-style: oblique;
  line-height: inherit; }

strong, b, .heavy {
  font-weight: 700; }

main ul,
main ol {
    margin-top: 1rem;
  margin-bottom: 1.95rem;
  list-style-position: outside;
}
 
ul.inline {
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

ul.inline li {
    display: inline-block;
    vertical-align: bottom;
    width: auto;
    margin: 1rem;
}

form ul.inline {
    margin: 0 auto !important;
}

form ul.inline li {
    margin: 0 !important;
    display: inline-block;
}

.floater {
    position: fixed;
    bottom: 2vh;
    right: 1vw;
    opacity: .8;
z-index: 99999 !important;
    transition: all 300ms ease-in;
}

/* Unordered Lists */
main ul li ul,
main ul li ol {
    margin-top: 1rem;
  margin-left: 1rem;
  margin-bottom: 0; }

main ul li {
    list-style: disc;
    padding-bottom: .8rem;
}

/* Ordered Lists */

  main ol li ul,
  main ol li ol {
    margin-left: 1rem;
    margin-bottom: 0; }

main ol li {
    list-style: decimal;
    padding-bottom: .8rem;
}

/* ----------------------------------->>>> SPECIAL TEXT -------- */

.white-text, .white-text h1, .white-text h2, .white-text h3, .white-text h4, .white-text h5, .white-text p, .white-text blockquote, .white-text blockquote p, .white-text li, .white-text .large, .white-text .xl, .white-text a:link, .white-text a:visited, .white-text a:active, .white-text span {
    color: #fff;
}

.green-side-panel, .green-side-panel h1, .green-side-panel h2, .green-side-panel h3, .green-side-panel h4, .green-side-panel h5, .green-side-panel p, .green-side-panel blockquote, .green-side-panel blockquote p, .green-side-panel li, .green-side-panel .large, .green-side-panel .xl, .green-side-panel a:link, .green-side-panel a:visited, .green-side-panel a:active, .green-side-panel span,
.green-trees, .green-trees h1, .green-trees h2, .green-trees h3, .green-trees h4, .green-trees h5, .green-trees p, .green-trees blockquote, .green-trees blockquote p, .green-trees li, .green-trees .large, .green-trees .xl, .green-trees a:link, .green-trees a:visited, .green-trees a:active, .green-trees span {
    color: #fff !important;
}

.white-text blockquote p.medium:before {
    border-color: transparent;
}

.white-text blockquote p.medium:after {
    border-color: #fff;
}

@media screen and (max-width: 639px) {
    
    .gray-text-mobile, .gray-text-mobile h1, .gray-text-mobile h2, .gray-text-mobile h3, .gray-text-mobile h4, .gray-text-mobile h5, .gray-text-mobile p, .gray-text-mobile blockquote, .gray-text-mobile li, .gray-text-mobile .large, .gray-text-mobile .xl, .gray-text-mobile a:link, .gray-text-mobile a:visited, .gray-text-mobile a:active, .gray-text-mobile .herocontent h1, .gray-text-mobile .herocontent p, .gray-text-mobile span {
        color: var(--text-color) !important;
    }

    .mobile-bg-gray.white-text, .mobile-bg-gray.white-text h1, .mobile-bg-gray.white-text h2, .mobile-bg-gray.white-text h3, .mobile-bg-gray.white-text h4, .mobile-bg-gray.white-text h5, .mobile-bg-gray.white-text p, .mobile-bg-gray.white-text blockquote, .mobile-bg-gray.white-text li, .mobile-bg-gray.white-text .large, .mobile-bg-gray.white-text .xl, .mobile-bg-gray.white-text a:link, .mobile-bg-gray.white-text a:visited, .mobile-bg-gray.white-text a:active, .mobile-bg-gray.herocontent h1, .mobile-bg-gray.herocontent p, .mobile-bg-gray span,
    .mobile-bg-green.white-text, .mobile-bg-green.white-text h1, .mobile-bg-green.white-text h2, .mobile-bg-green.white-text h3, .mobile-bg-green.white-text h4, .mobile-bg-green.white-text h5, .mobile-bg-green.white-text p, .mobile-bg-green.white-text blockquote, .mobile-bg-green.white-text li, .mobile-bg-green.white-text .large, .mobile-bg-green.white-text .xl, .mobile-bg-green.white-text a:link, .mobile-bg-green.white-text a:visited, .mobile-bg-green.white-text a:active, .mobile-bg-green.herocontent h1, .mobile-bg-green.herocontent p, .mobile-bg-green span{
        color: #fff !important;
    }
}


/* --------------------------------------->>>> HEADER ----------- */


header {
    display: block;
    width: 100% !important;
    z-index: 99999;
}

.headermain {
    
    /* align bottom */
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
}

.headercontainer.solid .headermain, .headermain.subpg {
    padding: .2rem .5rem !important;
    /* align middle */
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}


.logo a, .logo-sub a, .logo-mobile a {
    display: block;
    margin: 0;
}

.headercontainer {
    position: relative;
    z-index: 1;
}

header ul {
    margin: 0 auto;
    padding: 0;
}

header li {
    margin: 0;
    padding: 0;
    display: inline;
    list-style: none;
}

.topbar {
    padding: .8rem 1rem;
}

.topbar .column, .topbar p {
    margin: 0;
    padding: 0;
}

.topbar p {
    font-size: 1.1rem;
    font-weight: 400 !important;
    line-height: normal;
    text-align: center;
}


/*
@media screen and (max-width: 910px) {
    
    header ul {
        text-align: center !important;
    }
    .topbar .column {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
        text-align: center;
        margin: .2rem auto;
    }
    
    .address {
        font-size: .975rem;
    }

}*/


/* -------------------------------------->>>> BUTTONS ----------- */


.button:link, .button:visited, .button:active, .button:link, .button:visited, .button:active, .comment-reply-link:link, .comment-reply-link:active, .comment-reply-link:visited {
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.5;
    color: var(--dark-blue-color);
    text-transform: uppercase;
    text-decoration: none !important;
    text-shadow: none !important;
    text-align: center;
    padding: .4rem 1.8rem;
    margin: .2rem auto;
    display: inline-block;
    cursor: pointer;
    background: none;
    border: 5px solid var(--dark-blue-color);
    border-radius: var(--border-radius);
    transition: all 300ms ease-out;
}
    
.button:hover, gform_wrapper .gform_footer input.button:hover, .gform_wrapper .gform_footer input[type="submit"]:hover, input[type="submit"]:hover, .comment-reply-link:hover,
.button:focus, gform_wrapper .gform_footer input.button:focus, .gform_wrapper .gform_footer input[type="submit"]:focus, input[type="submit"]:focus, .comment-reply-link:focus,
form.search-form button:hover, form.search-form button:focus {
    color: white;
    background: var(--dark-blue-color);
    text-decoration: none;
    border: 5px solid var(--dark-blue-color);
}

.button.green:link, .button.green:visited, .button.green:active {
    color: var(--green-color);
    background: none;
    border: 5px solid var(--green-color);
}

.button.green:hover {
    color: white;
    background: var(--green-color) !important;
    border: 5px solid var(--green-color);
}

.button.white:link, .button.white:visited, .button.white:active, .brown .button:link, .brown .button:visited, .brown .button:active, .blue .button:link, .blue .button:visited, .blue .button:active, .green .button:link, .green .button:visited, .green .button:active {
    color: white;
    background: none;
    border: 5px solid white;
}

.button.white:hover, .brown .button:hover, .blue .button:hover, .green .button:hover {
    color: var(--green-color) !important;
    background: white !important;
    border: 5px solid white;
}

.button.small {
    padding: .5rem 1rem .4rem 1rem !important;
    font-size: .8rem !important;
    line-height: 1 !important;
    font-weight: 700;
}

.button.border, .blue .button {
    border: 5px solid white !important;
    background: none;
}

.button.border:hover, .blue .button:hover {
    background: white;
    color: var(--dark-blue-color);
}

.button.blueborder {
    color: var(--dark-blue-color);
    border: 5px solid var(--dark-blue-color) !important;
    background: none;
}

.button.blueborder:hover {
    background: white;
    color: var(--green-color);
    border: 5px solid var(--green-color) !important;
}

.button.greenborder {
    border: 5px solid var(--green-color) !important;
    background: white;
    color: var(--green-color);
}

.button.greenborder:hover {
    background: var(--green-color);
    color: white;
}

.green .button.border {
    background: var(--green-color);
}

.green .button.border:hover {
    background: white;
    color: var(--green-color);
    border: 5px solid white !important;
}

/* -------->>>> FORM BUTTONS ------ */

.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"], input[type="submit"], .comment-reply-link:link, .comment-reply-link:active, .comment-reply-link:visited, input[type="submit"], form.search-form button {
    font-size: 1.2rem;
    line-height: 1;
    color: white;
    text-transform: uppercase;
    text-decoration: none !important;
    text-align: center;
    padding: .7rem 3rem;
    margin: 0 auto;
    border: none;
    cursor: pointer;
    background: var(--dark-blue-color);
    border-radius: var(--border-radius);
    transition: background 300ms ease-out, border  300ms ease-out, color 300ms ease-out;
}

.gform_wrapper .gform_footer input.button:hover, .gform_wrapper .gform_footer input[type="submit"]:hover, input[type="submit"]:hover {
   color: white !important;
    background: var(--green-color) !important;
    text-decoration: none;
    border: none;
}

.blue input[type="submit"] {
    border: 5px solid white !important;
    background: none;
}

.blue input[type="submit"]:hover {
    background: white;
    color: var(--dark-blue-color);
}

.gform_wrapper .gform_footer {
    padding: 0 !important;
    margin-top: 1rem !important;
}


/* ---------------------------------------->>>> FORMS ----------- */


.gf_simple_horizontal label {
    display: none !important;
}

input::placeholder, textarea::placeholder {
    color: #c8c8c8;
    opacity: 1;
}

input:focus::placeholder {
    color: var(--blue-color);
}

/* Default Form Stuff */

label, .gform_wrapper .top_label .gfield_label {
    font-size: 1.1rem !important;
    color: var(--text-color);
    font-weight: 700 !important;
}

.gform_wrapper .gfield_radio li label {
    color: var(--blue-color);
}

.brown label, .blue label, .gradient label {
    color: #fff !important;
}

form span label {
    font-size: 1rem !important;
}

.gform_wrapper .field_sublabel_above .ginput_complex.ginput_container label, .gform_wrapper .field_sublabel_above div.ginput_container[class*="gfield_date_"] label, .gform_wrapper .field_sublabel_above div.ginput_container[class*="gfield_time_"] label, .gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label, .gform_wrapper .field_sublabel_below div.ginput_container[class*="gfield_date_"] label, .gform_wrapper .field_sublabel_below div.ginput_container[class*="gfield_time_"] label {
    font-size: .9rem !important;
    letter-spacing: normal !important;
}

[type="text"], [type="password"], [type="date"], [type="datetime"], [type="datetime-local"], [type="month"], [type="week"], [type="email"], [type="number"], [type="search"], [type="tel"], [type="time"], [type="url"], [type="color"], textarea {
    border: 1px solid #c8c8c8 !important;
    border-radius: var(--border-radius);
    background: #fff !important;
    color: var(--text-color) !important;
    font-size: 1rem !important;
    font-weight: 400;
    margin: 0 !important;
    padding: .5rem 1rem !important;
    height: auto !important;
    line-height: inherit !important;
    transition: border 300ms ease-out;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: border-color: 0.25x ease-in-out, -webkit-box-shadow 0.5s;
      transition: border-color: 0.25x ease-in-out, -webkit-box-shadow 0.5s;
      transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
      transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
}

[type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
      outline: none;
      border: 1px solid #c8c8c8;
      -webkit-box-shadow: 0 0 5px #c8c8c8;
      box-shadow: 0 0 5px #c8c8c8;
      -webkit-transition: border-color: 0.25x ease-in-out, -webkit-box-shadow 0.5s;
      transition: border-color: 0.25x ease-in-out, -webkit-box-shadow 0.5s;
      transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
      transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  }

form li {
    margin-bottom: 0;
}

.gform_wrapper .gfield_required {
    color: var(--green-color) !important;
    font-weight: 400 !important;
}

.gform_wrapper .gfield_checkbox li input, .gform_wrapper .gfield_checkbox li input[type="checkbox"], .gform_wrapper .gfield_radio li input[type="radio"] {
    vertical-align: inherit !important;
}

body .gform_wrapper ul li.gfield {
    margin: 16px 0 0 0 !important;
}

select {
    height: auto !important;
  margin: 0 !important;
  padding: 0.2rem 1rem !important;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #c8c8c8 !important;
  border-radius: var(--border-radius);
  background-color: #fff;
  font-family: inherit;
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: auto !important;
  color: var(--text-color) !important;
  
    background-image: url(images/select-arrow.png);
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat !important;
  background-size: 36px 37px !important;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

  @media screen and (min-width: 0\0) {
    select {
        background-image: url(images/select-arrow.png);
      
      }
  select:focus {
    outline: none;
    border: 1px solid #8a8a8a !important;
    background-color: #fefefe !important;
    box-shadow: 0 0 5px #cacaca !important;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  select:disabled {
    background-color: #e6e6e6;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }
}



/* --------------------------------------->>>> FOOTER ----------- */

.dashicons-linkedin, .dashicons-facebook-alt {
    font-size: 24px !important;
}

footer {
    clear: both;
    padding: 0;
    margin-top: 2rem;
    font-size: 1rem !important;
}

footer .row {
    padding: 1rem 0;
}

footer p {
    margin: 0;
    font-size: 1rem;
}

form.no-labels label {
    display: none !important;
}

footer ul {
    margin: 0 auto;
    padding: 0 !important;
}

footer li {
    list-style: none;
    line-height: 1.5;
    padding: 0;
}

.social ul, .footer-logos {
    margin: 0 auto;
    padding: 0;
    text-align: center;
}

.social li {
    list-style: none;
    display: inline-block;
    margin: .5rem .3rem !important;
}

.footer-logos li {
    list-style: none;
    display: inline-block;
    margin: .5rem 1rem !important;
}

.social img, .footer-logos img {
    transition: opacity 300ms ease-out;
    margin: 0 auto !important;
}

.footer-logos img:hover {
    opacity: .7 !important;
}

.social a, .footer-logos a {
    display: inline-block;
}

li.social img {
    margin-top: -5px !important;
}

.social a {
    padding: 0 .7rem;
    transition: all 300ms ease-out;
}

.social a:hover {
    opacity: .5;
    background: none !important;
}

.footer-logos a:hover {
    background: none !important;
}

.address {
    margin: 0;
    padding: 0;
}

.address li {
    display: inline-block;
}

.copyr {
    margin-top: 1.5rem;
}

.copyr ul {
    margin: 0 auto;
}

.copyr li {
    font-size: .975rem;
    display: inline-block;
}

.copyr a:hover {
    color: var(--beige-color);
    border-bottom-color: var(--beige-color) !important;
}

footer p.small {
    font-size: .875rem;
    opacity: .7;
    padding: 0;
    margin: 0;
}

footer p.small a:hover {
    background: none !important;
}


/* ------------------------------------->>>> SECTIONS ----------- */


.pgtitle.row, .pgtitle h1 {
    margin-bottom: 0;
    padding-bottom: 0;
}

.gridbox h2 {
    margin-top: 0 !important;
}

/* ------------------------------------->>>> GALLERIES -------- */

.gallery.row {
    padding: 0;
}

.gallery-item {
    margin: .7rem 0;
}

.gallery-icon {
    margin-bottom: 0;
}

.gallery br {
    clear: none !important;
}

/* ------------------------------------->>>> GRID COLUMNS -------- */

.grid.column .row {
    height: 100%;
}

.gridpic.column {
    margin: 0;
    overflow: hidden;
}

.gridpic p {
    padding: 0 !important;
    margin: 0;
    overflow: hidden;
}

.gridpic img {
    margin: 0;
    width: auto;
    height: auto;
    
}



/* ---------------------------->>>> GRID MEDIA QUERIES ---------- */


@media screen and (min-width: 1280px) {
    /* ALIGN REGULAR COLUMNS AND GRID CONTENT */
    .grid .row, .regcolumns {
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
    }
}

@media only screen and (max-width: 39.9375em) {
    
    .grid.row .row {
        max-width: 90%;
    }
    
    .gridpic img {
        margin: 0 auto;
        width: 100%;
        height: auto;
        
    }
    
    .gridpic.column {
        padding: .9rem !important;
    }
    
}

@media only screen and (min-width: 40em) and (max-width: 63.9375em) {
    
    .grid.row .row {
        max-width: 86%;
    }
    
    .grid.column .row {
        padding-left: 2rem;
        padding-right: 2rem;
    }
    
    .grid.column, .grid .column, .grid .row .row {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    
    .gridpic img {
        margin: 0 auto;
        width: auto;
        height: auto;
        
    }
    
    .gridpic.column {
        padding: .9rem !important;
    }
}
  
@media screen and (min-width: 64em) {
    
    .grid.row .row {
        max-width: 84%;
    }
    
    .grid.column .row {
        padding-left: 2.5rem;
        padding-right: 2.5rem;
    }
    
    .gridpic.column {
    padding: 0 !important;
    }
    
    .gridpic img {
        margin: 0;
        width: auto;
        height: auto;
        min-width: 100%;
       
    }

}

/* ------------------------------------->>>> IMAGE TO EDGE -------- */
/*
.edgepic.column, .edgepic p {
    padding: 0;
    margin: 0;
    text-align: right;
}

.edgepic img {
    margin: 0;
}*/

/* ------------------------------------->>>> HERO BANNER -------- */

.metaslider {
    z-index: 400 !important;
}

.banner {
    position: relative;
    /*overflow: hidden; THIS SETTINGS CUTS OFF THE IMAGE AND DOTS NAVIGATION AT THE BOTTOM
    max-height: 932px;*/
}

.banner, .banner .row {
    padding: 0 !important;
}

.herocontent .name {
    margin-top: 2rem !important;
}

.herobg {
    margin: 0 auto;
    justify-content: center;
    /*background: var(--green-color);*/
}
.herobg img {
    width: 100%;
    height: 100%;
    opacity: 1;
}

.banner.mainb .herocontent .row {
    /* align-middle */
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

@media screen and (min-width: 64em) {
    
    .grid li {
        margin-left: 5rem !important;
    }
}




/* ---------------------------------->>>> BLOG STYLES ----------- */


.date {
    font-size: .875rem !important;
    margin-bottom: 0px !important;
}

.blogcats {
    padding: 1rem 1rem 0 1rem !important;
}

.blogcats ul {
    margin: 0;
    padding: 0;
    text-align: center;
}

.blogcats li {
    font-size: 1rem;
    text-transform: uppercase;
    list-style: none;
    line-height: 1.5;
    margin: 0 0 .5rem 0 !important;
    padding: 0;
    display: inline;
}

.blogcats li:before {
    content: "\002F";
    padding: 0 .5rem;
}

.blogcats li:first-child:before {
    content: "";
    padding: 0;
}

.blogcats a:link, .blogcats a:visited, blogcats a:active {
    color: var(--green-color);
    transition: all 300ms ease-out;
}

.blogcats a:hover, .blogcats a:focus {
    color: var(--green-color);
}

/* --------------------------------->>>> SEARCH FORM -------- */

form.search-form {
    margin: 1rem auto;
}

form.search-form button {
    margin: 0 !important;
}

.blogsearch .search-title {
    color: var(--green-color);
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 44px;
    height: 44px;
    width: auto;
    padding: 0;
}

.blogsearch .search-title, .blogsearch form {
    display: block;
    margin: 0 auto .3rem auto;
}

@media screen and (min-width: 684px) {
    .blogsearch .search-title {
        display: inline;
        margin: 0 .3rem 0 0;
    }
    .blogsearch form {
        display: inline-block;
        margin: 0 0 0 .3rem !important;
    }
}


@media screen and (min-width: 684px) {
    .blogsearch form ul {
        text-align: center !important;
    }
    
    .blogsearch form ul li {
        text-align: center !important;
        margin: .3rem auto !important;
        display: inline-block !important;
    }
}

.pagination {
    padding: .5rem .5rem 1rem .5rem !important;
    text-align: center;
    margin: 0 auto;
}

.hide { display: none; }

/* ARTICLE EXCERPTS */

.post-title {
    margin: 0;
    padding-top: 0;
    text-align: left;
}

.post-title.catpg {
    font-size: 1.2rem;
}

.post-title.blogcatpg {
    font-size: 1.9rem;
}

.post-title a {
    color: var(--green-color) !important;
    text-decoration: none !important;
}

.article-excerpt {
    /*background: #f1f1f1;
    border: 2px solid white;*/
    border-bottom: 2px solid #eaeaea;
    display: block;
    clear: both;
    margin: 0;
    padding: 1rem;
    width: 100%;
}



.category {
    font-size: .875rem;
}

.article-excerpt .author {
    padding-left: .8rem;
    font-style: italic;
}

.author {
    color: #666;
    font-size: .875rem;
    font-weight: 400;
}

.author a {
    color: #666;
}

.article-excerpt .column {
    float: left;
}

.article-excerpt-title-row {
   padding: 0 0 1rem 0;
    margin: 1rem 0 !important;
    border-bottom: 1px solid #eaeaea;
}

.article-excerpt-date-row p {
    margin: 0;
}

.article-excerpt p.readlink {
    margin-bottom: 0;
}

.featured-img {
    padding: 0;
    margin: 0 auto;
    text-align: center !important;
}

@media screen and (max-width: 640px) {
    .featured-img {
        float: none;
        display: block;
        margin: 0 auto;
    }
}

.featured-img-full {
    width: auto;
    margin: 0 auto;
}

.featured-img-full img {
    min-width: 100%;
    height: 100%;
}

/* --- Comments --- */

.comments-area {
    border: 1px solid rgba(0,51,80,.5);
    padding: 1rem 2rem;
}

h3#comments {
    color: var(--green-color);
    font-size: 1.5rem;
    background: white;
    padding: .5em 0;
}

.commentlist {
    margin: 0;
    font-size: 1rem;
    width: 100%;
}

.commentlist p {
    font-size: .975rem;
}

.commentlist li {
    border: 1px solid rgba(0,51,80,1);
    background: rgba(0,51,80,.2);
    font-size: 1rem;
    padding: .5em .1em 1em 1em;
    color: var(--green-color);
}

#respond {
    width: 100%;
}

.says {
    font-size: .875rem;
    color: var(--green-color);
}

.commentlist li a, #respond a {
    color: var(--green-color);
}

.comment-meta, .logged {
    font-size: .8rem;
    margin-bottom: 1em;
}

.comment-reply-link:link, .comment-reply-link:active, .comment-reply-link:visited, #commentform input[type="submit"]  {
    font-weight: 700;
    font-size: 1rem !important;
    color: whitefff !important;
    text-align: center;
    text-decoration: none !important;
    padding: .5rem 1rem;
	border: none !important;
    box-shadow: none !important;
    background: var(--green-color);
    width: auto;
    height: auto;
    clear: both;
    transition: background 300ms ease-out;
    cursor: pointer !important;
}

.comment-reply-link:hover, #commentform input[type="submit"]:hover {
    color: white !important;
    text-decoration: none !important;
    background: var(--green-color);
}

#commentform textarea {
    background: white;
    border: 1px solid var(--green-color) !important;
}
    
.alignnone {
	display: inline;
}

.alignright { float: right; padding: 0;
	margin: 10px 0 0 25px; }
.alignleft { float: left;
padding: 0;
	margin: 10px 25px 0 0;}
.aligncenter { display: block; padding: 0;
	margin: 10px auto; }


.wp-caption {
	background: rgb(0,51,80,.2);
    border: 1px solid var(--green-color);
	text-align: center;
	padding: .5rem;
	color: var(--green-color);
	font-size: .875rem;
	display: block;    
    max-width: 100%;
}
	.wp-caption a {
		line-height: 0.11em;
		font-size: .875em;
	}
	.wp-caption a:hover {
		color: var(--green-color);
	}
	.wp-caption img {
		margin: 0 auto;
		display: block;
		padding: 0;
        box-shadow: none;
	}
	.wp-caption-text {
		font-size: .875rem;
		color: var(--green-color);
		padding: 3px !important;
		margin: 0 !important;
	}
.wp-caption-dd {
	font-size: 1rem;
	line-height: 16px;
	padding: 0 4px 5px;
	margin: 0;
}

.wp-paginate {
    text-align: center;
    margin: 0 auto !important;
}

.wp-paginate li {
    display: inline-block;
}
.wp-paginate li, .wp-paginate li .span {
    font-size: 1.2rem !important;
    line-height: 1 !important;
}

.wp-paginate a { display: inline-block; }

.wp-paginate .current, .wp-paginate a {
    font-size: 1.2rem !important;
    line-height: 1 !important;
    color: white;
    text-transform: uppercase;
    text-decoration: none !important;
    text-align: center;
    padding: .5rem !important;
    background: var(--green-color) !important;
    box-shadow: none !important;
    text-decoration: none !important;
    border: 2px solid transparent !important;
    transition: all 300ms ease-in;
    margin: .2rem !important;
}

.wp-paginate .current, .wp-paginate a:hover {
	color: var(--green-color) !important;
    background: white !important;
    line-height: 1 !important;
    padding: .5rem !important;
    border: 2px solid var(--green-color) !important;
    display: inline-block;
}



/* ---------------------------------->>>> BREAKPOINTS ----------- */


/* --------------------------- */
/* ----- ALL RESOLUTIONS ----- */
/* --------------------------- */

.wide.row, .wide.column {
    padding: 0;
}

.mobileimg img, .wide img {
    width: 100%;
    height: 100%;
}

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

.wide.row img {
    width: 100%;
    margin: 0;
}

.no-l-padding {
    padding-left: 0 !important;
}

.no-right-padding {
    padding-right: 0 !important;
}

.no-top-padding {
    padding-top: 0 !important;
}

.no-btm-padding {
    padding-bottom: 0 !important;
}

.no-vertical-padding {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.no-side-padding {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.no-padding {
    padding: 0 !important;
}

@media screen and (min-width: 1725px) {
    h1 {
        font-size: 5.3rem;
    }
}

@media screen and (min-width: 1369px) and (max-width: 1724px) {
    h1 {
        font-size: 4rem;
    }
}

@media screen and (max-width: 1368px) {
    h1 {
        font-size: 3rem;
    }
}




/* ----------------------------->>>> LARGE BREAKPOINT ----------- */


@media only screen and (min-width: 1024px) {
    
   /* FONT SIZE */

    h2 {
        font-size: 2.6rem;
    }
    
    h3 {
        font-size: 2rem;
    }
    
    h4 {
        font-size: 1.9rem;
    }
    
    p, main ul, main ol, main ul li {
        font-size: 1.125rem;
        line-height: 1.5;
    }
    
    p.xl {
        font-size: 1.9rem !important;
    }
    
    p.large {
        font-size: 1.3rem !important;
    }
    
    .herocontent p {
        font-size: 1.4rem;
    }
    
    main .row, .widerow.row, .wide.row {
        padding: 5rem 0;
    }
    
    .banner .herocontent {
        padding: 2rem;
        position: absolute;
        width: 100% !important;
    }
    
    .abs {
    position: absolute;
}

.abs-btm {
    bottom: 0;
}

.abs-btm-up {
    margin-top: -7%;
}
    
    .column, .columns {
    padding-left: 3rem;
    padding-right: 3rem;
}
    
    .padded-sides {
        padding-left: 3rem;
        padding-right: 3rem;
    }
    
    .padded-left {
        padding-left: 3rem;
    }
    
    .padded-right {
        padding-right: 3rem;
    }
    
    .padded-vertical {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
    .padded-top {
        padding-top: 3rem !important;
    }
    
    .padded-bottom {
        padding-bottom: 3rem !important;
    }
    
    .no-vertical-padding-large {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    
    blockquote {
        max-width: 540px;
        margin: 4rem auto;
    }
    
    ul.slimmenu li ul li {
        text-align: left;
    }
    
    .headericons ul {
        text-align: right;
    }
    
}


/* ---------------------------->>>> MEDIUM + LARGE ----------- */


@media screen and (min-width: 640px) {
    
    .mobile-only {
        display: none;
    }
    
    .banner .herocontent {
    height: 100% !important;
}
    
    .banner.grunge .herocontent p.xl {
        margin-top: 8%;
    }
    
    footer .address a, footer .copyr a {
    border-bottom: 1px solid #fff !important;
}
    
    .address .social a {
        border: none !important;
    }
    
.copyr li:before, .address li:before {
    content: "\007c";
    font-size: 1.4rem;
    padding: 0 .5rem;
}

.copyr li:first-child:before, .address li:first-child:before, .address li.social:before {
    content: "";
    padding: 0;
}
    
    main .row .row {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }
    
    h2 {
    margin-top: 1.2rem;
    margin-bottom: 1.2rem;
}

h3, h4 {
    margin: 1rem 0 !important;
}
    
    .postimg.row {
        margin-bottom: 1rem !important;
    }
    
    .featured-img {
    padding: 0;
    overflow: hidden;
    margin: 0 auto;
    text-align: center !important;
}

.featured-img img {
    margin: 0;
    width: auto;
    min-width: 100%;
    min-height: 222px !important;
    /*height: 100%; stretches too far vertically with really big images */
    object-fit: contain;
    object-position: 100% 0;
    transition: transform 300ms ease-in;
}

.featured-wide img:hover, .featured-img img:hover {
    transform: scale(1.1);
}
    
    main ul, main ol {
        padding-left: 2.2rem;
    }
    
    .copyr a {
        border-bottom: 1px solid white;
    }
    
    .roundicons .column {
        padding: 1rem 3rem !important;
    }
    
    .coltxt {
        padding-top: 0;
        padding-bottom: 0;
    }
    
    /* Featured Image on Single.php */
    .article-content .wp-post-image {
        float: right;
        width: auto;
        max-width: auto;
        margin: 0 0 1rem 1rem;
    }
    
}


/* ---------------------------->>>> MEDIUM BREAKPOINT ----------- */


@media only screen and (min-width: 640px) and (max-width: 1023px) {

    /* FONT SIZE */
    
   
    
    h2 {
        font-size: 2.4rem;
    }
    
    h3 {
        font-size: 1.7rem;
    }
    
    h4 {
        font-size: 1.4rem;
    }
    
    p, main ul, main ol, main ul li {
        font-size: 1.1rem;
        line-height: 1.4;
    }
    
    p.xl {
        font-size: 1.7rem !important;
    }
    
    p.large {
        font-size: 1.2rem !important;
    }
    
    .herocontent p {
        font-size: 1.2rem;
    }
    
    blockquote {
        max-width: 540px;
        margin: 2rem auto;
    }
    
    
    .banner .herobg {
        height: auto !important;
    }
    
    .banner .herocontent {
        padding: 1rem 0;
        position: relative;
        height: auto !important;
    }
    
    .herocontent .column {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
    
    main .row {
        padding: 1rem;
    }
    
    main .row, .widerow.row, .wide.row {
        padding: 1rem 0;
    }
    
    .column, .columns {
    padding-left: 2rem;
    padding-right: 2rem;
}
    
    .padded-sides {
        padding-left: 2rem;
        padding-right: 2rem;
    }
    
    .padded-left {
        padding-left: 2rem;
    }
    
    .padded-right {
        padding-right: 2rem;
    }
    
    .padded-vertical {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }
    .padded-top {
        padding-top: 2rem !important;
    }
    
    .padded-bottom {
        padding-bottom: 2rem !important;
    }
    
    .medium-padded-top {
        padding-top: 2rem !important;
    }
}


/* ---------------------------->>>> MEDIUM + SMALL -------------- */


@media only screen and (max-width: 1023px) {
    
    .abs-btm-up {
    padding-bottom: 4%;
}
    
    .herocontent.align-middle {
            -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    }
    
    .herocontent p {
        color: var(--green-color);
    }
    
    .grunge .button.white {
        color: var(--green-color);
        border-color: var(--green-color);
    }
    
    .grunge .button.white:hover {
        color: white;
        background: var(--green-color) !important;
        border-color: var(--green-color);
    }
    
    .grunge p {
        margin-top: .5rem;
        margin-bottom: 0 !important;
    }
    
    .widerow.no-top-padding .gridpic.column {
        padding: 0 !important;
    }
    
    footer .column {
        margin-bottom: .5rem;
    }
    
    .herocontent p {
        font-size: 1.2rem;
    }
    
    .herocontent .name {
        font-size: 1.6rem;
    }
    
    footer .newsletter {
        margin: 1rem 0;
    }
    
    footer .gform_wrapper ul.gform_fields {
        width: 100%;
    }
    
    footer .gform_body {
        margin-bottom: 1rem;
        width: 100%;
    }
    
    .coltxt {
        padding: 1rem;
    }
    
    /* Featured Image on Single.php */
    .article-content .featured-img {
        float: none;
        width: auto;
        max-width: auto;
        margin: 0 auto 1rem auto;
    }
    
    img, img.alignright, img.alignleft {
    	display: block;
    	float: none;
    	margin: 0 auto 1rem auto;
        text-align: center;
    }

    .article-excerpt p {
        padding: 0 0 .3rem 0 !important;
    }
    
    .category a {
        padding: 1rem 0;
        margin: 0 1rem;
    }
    
    .medium-small-padded-top {
        padding-top: 2rem !important;
    }
    
}


/* ----------------------------->>>> SMALL BREAKPOINT ----------- */


@media only screen and (max-width: 639px) {
    
    .desktop-only {
        display: none;
    }
    
    /* FONT SIZE */

    
    main h1 {
        padding-top: 2rem !important;
        padding-bottom: 1rem !important;
    }
    
    h2 {
        font-size: 2rem;
    }
    
    h3 {
        font-size: 1.5rem;
    }
    
    h4 {
        font-size: 1.3rem;
    }
    
    p, main ul, main ol, main ul li {
        font-size: 1rem;
        line-height: 1.3;
    }
    
    p.xl {
        font-size: 1.5rem !important;
    }
    
    p.large {
        font-size: 1.1rem !important;
    }
    
    .herocontent p {
        font-size: 1.1rem;
    }
    
    blockquote {
        margin: 1rem auto;
    }
    
    main .row {
        padding: 1rem;
    }
    
    .gridpic.column, .grid.column, .grid .row {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    
    main .column {
        padding: .9rem .9rem 0 .9rem;
    }
    

    footer {
        text-align: center;
    }
    
    footer .copyr li {
    display: block !important;
        text-align: center;
}

    footer .address a, footer .copyr a {
    display: block;
        padding: .5rem;
}
    
    footer p, p, main ul, main ol, main ul li {
        font-size: 1rem;
    }
    
    main ul, main ol {
        padding-left: 1.5rem;
    }
    
    .blogcats li {
        font-size: 1.2rem !important;
    }
    
    label {
        font-size: 1.225rem !important;
    }
    
    article .row .column {
        padding: 0;
    }
    
    hr {
        margin: 0 auto;
    }
    
    .text-right {
        text-align: center !important;
    }
    
    .alignnone, .alignleft, .alignright, .aligncenter {
        display: block;
    }
    
    main form ul.inline li {
        display: inline;
    }
    
    .blogsearch form ul.inline li {
        display: inline-block;
    }
    
    footer .inline {
        display: block;
    }
    
    .copyr li:before, .address li:before {
        content: "";
        padding: 0;
    }
    
    .copyr li a, .address li a {
        display: block !important;
        padding: .5rem;
        border: 1px solid var(--green-color);
    }
    
    .address li {
        display: block;
        clear: both;
    }
    
    ul.inline li {
        display: block;
    }

    .button {
        display: block;
        width: 100%;
    }
    
    main ul.inline, main ul.inline li {
        margin: 1rem 0;
        text-align: center;
    }
    
    html {
        overflow-x: hidden;
    }
    
    .article-excerpt {
        padding: 0;
    }
    
    .align-right {
        justify-content: center;
    }
    
    .button, main .button:link, main .button:visited, main .button:active, .button:link, .button:visited, .button:active, .gform_wrapper .gform_footer input.button, .gform_wrapper .gform_footer input[type="submit"], input[type="submit"], .comment-reply-link:link, .comment-reply-link:active, .comment-reply-link:visited, form.search-form button {
        margin: 0 auto;
        display: block;
    }
    
    main .gform_wrapper .gform_footer input.button, main .gform_wrapper .gform_footer input[type="submit"], main input[type="submit"], .comment-reply-link:link, .comment-reply-link:active, .comment-reply-link:visited, form.search-form button {
        margin-top: 1rem;
        display: block;
    }
    
	main ul, main ol, main dl {
        margin-left: 1em;
        padding-left: .9em;
    }
    
    main li, blockquote, blockquote p {
        font-size: 1.1rem !important;
    }
    
    main .row, .widerow.row, .wide.row {
        padding: 1rem 0;
    }
    
    column, .columns {
    padding-left: 1rem;
    padding-right: 1rem;
}
    
    .padded-sides {
        padding-left: 1rem;
        padding-right: 1rem;
    }
    
    .padded-left {
        padding-left: 1rem;
    }
    
    .padded-right {
        padding-right: 1rem;
    }
    
    .padded-vertical {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
    }
    .padded-top {
        padding-top: 1rem !important;
    }
    
    .padded-bottom {
        padding-bottom: 1rem !important;
    }
    
}

/* ----------------------------------------------------------------------------- IE ONLY --- */

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    
    
    
}

/* ----------------------------------------------------------------------------- SAFARI ONLY --- */

/* _::-webkit-full-page-media, _:future, :root */