:root {
    --lgreen:#c0d860;
    --mgreen:#789048;
    --dgreen:#41482c;
}

html { box-sizing:border-box; line-height:1.15; -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
*,*:before,*:after { box-sizing:inherit; }
body { margin:0; }
a { background-color:transparent; color:var(--lblue); text-decoration:none; }
a:hover, a:active { outline:0; }
img { border-style:none; height:auto; max-width:100%; }
body,button,input,select,optgroup,textarea { color:var(--dblue); font-family:'Karla',sans-serif; font-weight:400; font-size:16px; font-size:1rem; line-height:1.5; }
.wow { visibility: hidden; }
.wpb_button, .wpb_content_element, ul.wpb_thumbnails-fluid>li { margin-bottom:0 !important; }

h1, h2, h3, h4, h5, h6 {
    font-weight:700;
    line-height:1.15;
    margin:0 0 1.5rem;
    letter-spacing:-2px;
}

h1 { font-size:2.25em; }
h2 { font-size:2.25em; }
h3 { font-size:1.875em; font-weight:400; }
h4 { font-size:1.5em; color:var(--lblue); }
h5 { font-size:1.125em; font-weight:400; letter-spacing:0; }
h6 { font-size:0.75em; text-transform:uppercase; letter-spacing:2px; color:var(--red); margin-bottom:1em; }

p { margin:0; font-size:1.125em; }

p + * { margin-top:1.5rem; }

ul, ol {
    margin:0;
    padding:0;
    list-style:none;
}

p + ul, p + ol { margin-top:1.5rem; }

ul ul, ol ol, ul ol, ol ul { margin-top:0.5rem; }
ul + *, ol + * { margin-top:1.5rem; }

li {
    position:relative;
    padding-left:1em;
}

    li::before {
        position:absolute;
        top:0.5em;
        left:0;
        font-family:'Font Awesome 5 Free';
        font-weight:900;
        font-size:0.625em;
        content:'\f0c8';
        color:var(--red);
    }

    ul.check li::before { content:'\f00c'; }

    li + li { margin-top:0.5em; }

img { display:block; max-width:100%; }

.flex {
    display:flex;
    flex-wrap:wrap;
}

.flex-1-1 { flex-basis:100%; }
.flex-3-4 { flex-basis:75%; }
.flex-2-3 { flex-basis:66.666666%; }
.flex-1-2 { flex-basis:50%; max-width:600px; }
.flex-1-3 { flex-basis:33.333333%; }
.flex-1-4 { flex-basis:25%; }

.ac { align-items:center; }
.jcc { justify-content:center; }
.jsb { justify-content:space-between; }
.jfe { justify-content:flex-end; }

.row-rev { flex-direction:row-reverse; }

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

.text-white { color:#fff; }
.text-dgreen { color:var(--dgreen); }
.text-mgreen { color:var(--mgreen); }
.text-lgreen { color:var(--lgreen); }

.text-small { font-size:0.75em; }

.bg-white { background:#fff; }
.bg-dgreen { background:var(--dgreen); }
.bg-mgreen { background:var(--mgreen); }
.bg-lgreen { background:var(--lgreen); }

.container {
    width:100%;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:50px;
    padding-right:50px;
}

.jfe .container { margin:0 !important; }

.c-1800 { max-width:1900px; }
.c-1600 { max-width:1700px; }
.c-1400 { max-width:1500px; }
.c-1300 { max-width:1400px; }
.c-1200 { max-width:1300px; }
.c-1000 { max-width:1100px; }
.c-800 { max-width:900px; }
.c-700 { max-width:800px; }
.c-600 { max-width:700px; }

.p-tb-100 { padding-top:100px; padding-bottom:100px; }
.p-tb-50 { padding-top:50px; padding-bottom:50px; }
.p-tb-25 { padding-top:25px; padding-bottom:25px; }

.btn,
._submit {
    display:inline-block;
    padding:12.5px 25px;
    font-weight:700;
    color:#fff;
    background:var(--red);
    border-radius:50px;
    box-shadow:0 2px 0 var(--dred);
    transition:all 0.5s ease;
}

    .btn:hover,
    ._submit:hover {
        background:var(--dred);
    }

.site-header {
    background:url('../images/farmers-ipad-fade-2.jpg') no-repeat center center;
    background-size:cover;
    padding-top:75px;
    padding-bottom:75px;
    /*text-shadow:0 1px 1px rgba(0,0,0,0.5);*/
    font-size:1.125em;
    color:var(--dgreen);
}

.top {
    margin-bottom:75px;
}

    .top .logo {
        width:100%;
        max-width:300px;
    }

    .top h3 {
        margin:0;
    }

.site-main {
    padding-top:50px;
    padding-bottom:50px;
}

.hilite {
    background:var(--lgreen);
    padding:25px;
    border-radius:6px;
}

    .hilite * {
        margin:0;
    }
    
    .hilite h2 {
        font-size:2em;
    }
    
    .hilite * + * {
        margin-top:0.5em;
    }

.bg-img {
    padding:75px;
    background:url('../images/grass.jpg') no-repeat center center;
    background-size:cover;
}

.os-form {
    background:var(--dgreen);
    color:#fff;
    padding:50px;
    border-radius:12.5px;
}

    .os-form .flex {
        margin-left:-12.5px;
        margin-right:-12.5px;
    }

    .os-form .flex-1-2 {
        flex-basis:calc(50% - 25px);
        margin:12.5px;
    }

    .os-form .flex-1-1 {
        margin:12.5px;
    }

    .os-form p:last-child {
        margin-top:1em;
        font-size:0.875em;
    }

input {
    width:100%;
    background:#e1e1e1;
    border:1px solid #c3c3c3;
    color:#000000;
    padding:10px;
    border-radius:3px;
}

label {
    text-transform:uppercase;
    font-size:0.625em;
    font-weight:700;
    letter-spacing:3px;
    display:block;
    margin-top:0.25em;
    text-align:left;
}

input[type="submit"] {
    background:var(--lgreen);
    color:var(--dgreen);
    text-transform:uppercase;
    border:0;
    font-size:1.25em;
    font-weight:700;
    padding:20px;
    border-radius:3px;
}

#ck-button {
    position:relative;
    background-color:var(--dgreen);
    border-radius:3px;
    border:2px solid var(--mgreen);
    overflow:auto;
}

#ck-button:hover {
    background:var(--mgreen);
}

#ck-button label {
    width:100%;
    letter-spacing:0;
    font-size:16px;
    margin:0;
    cursor:pointer;
}

#ck-button label span {
    text-align:center;
    display:block;
    padding:20px;
}

#ck-button label input {
    position:absolute;
    top:-100%;
}

#ck-button input:checked + span {
    background-color:var(--lgreen);
    color:var(--dgreen);
}

.copyright {
    background:var(--mgreen);
    padding:25px;
    color:#fff;
    font-size:0.75em;
}











@media screen and (max-width:900px) {
    .top { flex-direction:column; }
    .top .logo { margin-bottom:25px; }
    .top h3 { font-size:1.25em; letter-spacing:0; background:var(--lgreen); padding:12.5px; width:100%; color:var(--dgreen); border-radius:6px; }
}

@media screen and (max-width:700px) {
    .container .container { padding:0; }
    .os-form { padding:25px; }
    .os-form .flex-1-2 { flex-basis:100%; }
    .bg-img { padding:25px; }
}

@media screen and (max-width:600px) {
    h2 { font-size:1.5em; letter-spacing:-1px; }
    p { font-size:1em; }
    .container { padding-left:25px; padding-right:25px; }
    .site-header, .site-main { padding-top:25px; padding-bottom:25px; }
    .top { margin-bottom:25px; }
    .hilite span, .copyright span { display:block; }
    .os-form h2 { margin-bottom:12.5px; }
    .os-form form > div { margin-top:12.5px; }
}