
/* === START GENERIC STYLES === */

/* Restricted declaration reset */

* { margin:0; padding:0; }
html, body { margin:0 !important; padding:0 !important; border:0 !important; outline:0 !important; }
sup { vertical-align: text-top; }
.text_navigationname_home { visibility: hidden; }
.clearfix:after {content: ".";display: block;height: 0;clear: both;visibility: hidden;}


/* === END GENERIC STYLES === */



*{ border: 0px; margin: 0px; padding: 0px; }
body{ font-family: "museo-sans-rounded", Helvetica, Arial, serif; color: #313131; background: #FFFFFF; font-size: 62.5%; font-weight: 300; line-height: 1.5; }
.container{ width: 990px; margin: 0px auto; overflow: hidden; position: relative; }
#masthead{ font-size: 18px; padding: 12px 0; background: #95c663; min-width: 990px; }
#logo { float: left; }
#logo a{ display: block; width: 198px; height: 198px; background: url(/_css/image/logo.png) no-repeat; }
#logo a span{ position: absolute; left: -99999px; }
.contact_details{ list-style-type: none; margin-top: 45px; float: right; text-align: right; overflow: hidden; }
.contact_details li a{ color: #313131; text-decoration: none; }
.contact_details li a:hover{ text-decoration: underline; }
.contact_details .address{ color: #FFFFFF; }
.contact_details .mail, .contact_details .facebook{ float: right; width: 40px; height: 40px; margin: 12px 0 0 12px; }
.contact_details .mail a, .contact_details .facebook a{ width: 40px; height: 40px; display: block; background: url(/_css/image/contact_icons.png) no-repeat top right; }
.contact_details .facebook a{ background-position: top left; }
.contact_details .facebook a span, .contact_details .mail a span{ position: absolute; left: -99999px; }
#homepage_blocks{ overflow: hidden; margin-bottom: 60px; }
#homepage_blocks .homepage_blocks_spacer{ overflow: hidden; margin-top: 30px; }
#homepage_blocks .homepage_block{ float: left; margin-right: 30px; overflow: hidden; }
#homepage_blocks .homepage_block_last { margin-right: 0; }
#homepage_blocks .item_photobanner2 .image{ z-index: 1; }
#homepage_blocks .item_photobanner2 img{ display: block; }
#homepage_blocks .item_photobanner2 .text{ width: 280px; float: left; background: #FFFFFF; color: #313131; font-size: 16px; font-weight: 300; line-height: 1.2; padding: 15px; z-index: 2; }
#homepage_blocks .item_photobanner2 .title{ font-size: 18px; font-weight: 400; margin-bottom: 6px; }
#homepage_blocks .item_photobanner2 .title a{ color: #313131; text-decoration: none; }
#homepage_blocks .item_photobanner2 .title a:hover{ text-decoration: underline; }
#homepage_blocks .item_photobanner2 .body a{ display: none; }
.readmore .image span {     position: absolute;     top: 0px;     left: 0px;     opacity: 0;     transition: opacity 0.5s;    background: #313131 center 65px url(/_css/image/read_more_button.png) no-repeat;     background: rgba(0,0,0, 0.50) center 65px url(/_css/image/read_more_button.png) no-repeat;     display: none;     width: 310px;     height: 83px;     color: #FFFFFF;     padding-top: 115px;     font-size: 14px;     text-align: center;     text-transform: uppercase;     text-decoration: none;     line-height: 1; }
.readmore .image a:hover span {     opacity: 1;     display: block; }
#video_banner { width: 854px; float: none; margin: 0 auto 30px auto; }
#video_banner .readmore .image span { opacity: 1; }
#video_banner .readmore_video .image span { display: block;     position: absolute;     top: 0px;     left: 0px;     width: 854px;     height: 205px;     padding-top: 275px;     color: #FFFFFF;     text-transform: uppercase;     text-align: center;     text-decoration: none;     font-size: 28px;     font-weight: 300;     line-height: 1.2;     background: url(/_css/image/white_play_button.png) no-repeat center 175px;     background: rgba(0,0,0,0.50) url(/_css/image/white_play_button.png) no-repeat center 175px; }
#navigation_outer{ background: #313131; background: rgba(0,0,0, 0.50); position: relative; z-index: 4; min-width: 990px; }
#navigation_outer.navigation_homepage{ margin-top: 267px; position: absolute; top: 0; left: 0; width: 100%; }
#homepage_banner_container #navigation_text{ position: absolute; top: 0; left: 0; width: 100%; height: 314px; }
#homepage_banner_container p{ font-size: 28px; line-height: 1.2; color: #FFFFFF; text-shadow: 2px 2px 1px #000; width: 824px; margin: 0 auto; text-align: center; margin-top: 148px; }
#navigation_outer .area_nav{ width: 952px; margin: 0 auto; list-style-type: none; overflow: hidden; padding: 0 5px; display:flex; justify-content: space-between; }
#navigation_outer .item_navitem{ text-align: center; }
#navigation_outer .item_navitem a{ color: #FFFFFF; font-size: 18px; text-transform: uppercase; text-decoration: none; padding: 10px 0px; text-align: center; display: block; }
#navigation_outer .item_navitem a:hover, #navigation_outer .current a{ text-decoration: underline; }
#navigation_outer .item_navitem ul{ position: absolute; left: -99999px; top: 47px; }
#navigation_outer .item_navitem:hover ul{ background: #313131; padding: 15px 30px 10px 30px; left: auto; }
#navigation_outer .item_navitem .first_nav_item{ position: static; left: auto; }
#navigation_outer .item_navitem .item_navitem{ margin-left: 0px; margin-bottom: 5px; float: none; }
#navigation_outer .item_navitem .item_navitem a{ padding: 0; text-align: left; }
#navigation_outer .current .item_navitem a{ text-decoration: none; }
#navigation_outer .current .current a{ text-decoration: underline; }
#navigation_outer .current .current .item_navitem a{ text-decoration: none; }
#navigation_outer .current .current .current a{ text-decoration: underline; }
#navigation_outer .item_navitem .item_navitem ul{ padding: 10px 0 10px 15px; position: static; }
#homepage_banner_container{ width: 100%; height: 314px; position: relative; }
#nav_banner{ width: 100%; height: 314px; -webkit-background-size: cover;  -moz-background-size: cover;   -o-background-size: cover;   background-size: cover;   position: relative;   min-width: 990px;   overflow: hidden; }
#middle_background{ font-size: 18px; background: url(image/site_background.jpg) no-repeat center center; -webkit-background-size: cover;  -moz-background-size: cover;   -o-background-size: cover;   background-size: cover; padding-bottom: 30px; min-width: 990px; }
.item_breadcrumbs {     overflow: hidden;     width: 100%;     margin-bottom: 30px;     font-size: 14px;     list-style-type: none;     color: #95c663; }
.item_breadcrumbs li {     float: left;     padding-right: 5px; }
.item_breadcrumbs li a{ color: #313131; }
.item_breadcrumbs li a:hover{ text-decoration: none; }
#area_content_outer{ width: 870px; margin: 30px auto; padding: 30px 60px; background: #FFFFFF; }
#area_content_outer .text_navigationname{ padding-bottom: 18px; margin-bottom: 22px; padding-top: 4px; }
#area_content_outer .text_navigationname, .item_heading h2{ font-size: 32px; font-weight: normal; line-height: 1.2; padding-bottom: 16px; border-bottom: solid 3px #95c663; }
.item_subheading h3{ font-weight: normal; font-size: 24px; line-height: 1.2; }
.item_paragraph a, .item_list a{ color: #313131; text-decoration: underline; }
.item_paragraph a:hover, .item_list a:hover{ text-decoration: none; }
.item_divider hr{ border-color: #CDCDCD; }
.item_gallery { margin-left: 90px; }
.item_gallery .item_photo a:hover .title { background: none; }
.item_gallery .item_photo a:hover .title p, .item_gallery .item_photo a:hover .title span{ background: #FFFFFF; background: rgba(255,255,255,0.80); color: #313131; }
.item_file a, .item_contentlink a{ padding: 16px 16px 16px 44px; color: #FFFFFF; text-decoration: none; background: #95c663 no-repeat 16px center; padding-left: 49px; }
.item_file a{ background: #95c663 url(/_css/image/file.png) no-repeat 16px center; padding-left: 60px; }
.item_file a:hover, .item_contentlink a:hover{ text-decoration: underline; }
.pagetitle{ background: #EEEEEE; }
.pageitem a{ color: #313131; }
.pageitem a:hover{ text-decoration: none; }
#footer{ min-width: 990px; color: #FFFFFF; font-size: 16px; text-align: center; padding: 30px 0; background: #95c663; }
#footer a { color: #FFFFFF; text-decoration: none; }
#footer a:hover{ text-decoration: underline; }
#footer cite{ font-style: normal; }
#footer .contact_details{ margin-top: 0; font-size: 18px; position: static; text-align: center; float: none; text-transform: uppercase; }
#footer .contact_details .address{ color: #313131; }
#footer #social{ width: 92px; margin: 0 auto 12px auto; }
#footer #social .facebook{ margin-left: 0; }
#form_outer{ width: 580px; margin: 30px auto 0 auto; }
.content_form fieldset{ border: none; overflow: hidden; }
.content_form, .content_form label, .content_form input, .content_form textarea{ display: block; font: 18px "BariolRegular", Helvetica, Arial, sans-serif; border: none; margin-bottom: 10px; padding: 5px 0px; }
.content_form{ padding: 0; width: 580px; }
.content_form label{ width: 200px; padding-right: 15px; float: left; }
.content_form label.textbox{ height: 110px; }
.content_form label span{ font-weight: bold; color: red; }
.content_form textarea, .content_form input[type="text"], .content_form select{ width: 335px; padding: 10px 15px; background: #E4F1D8; float: left; color: #313131; text-align: left; }
.content_form textarea { height: 110px; }
.content_form .last{ margin-bottom: 20px; } 
.content_form input[type="submit"] { float: right; padding: 10px 40px; background: #95c663; border-radius: 20px; color: #FFFFFF; font-weight: normal; }
.content_form input[type="submit"]:active, .content_form input[type="submit"]:hover { background-color: #7FA854; }
.form_errors{ color: #FF0000; padding: 10px 15px; background: #FFE6E6; border: solid 2px #FF0000; border-radius: 15px; margin-bottom: 15px; width: 550px; }
.form_errors h3{ color: #FF0000; margin-bottom: 0; }
.form_errors .item_paragraph, .form_errors .item_subheading{ margin-bottom: 0; }
#rcvc-notice-modal { display: none; position: fixed; z-index: 9999; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.55); align-items: center; justify-content: center; }
#rcvc-notice-modal.show, #rcvc-notice-modal[style*="block"] { display: flex !important; }
#rcvc-modal-box { background: #fff; border-top: 5px solid #4a7c3f; border-radius: 4px; max-width: 480px; width: 90%; padding: 32px 28px 24px; box-shadow: 0 8px 30px rgba(0,0,0,0.25); text-align: center; font-family: inherit; margin: 10px; }
#rcvc-modal-box h2 { margin: 0 0 14px; color: #4a7c3f; font-size: 1.8em; text-transform: uppercase; letter-spacing: 0.05em; }
#rcvc-modal-box p { margin: 0 0 22px; color: #333; line-height: 1.6; font-size: 1.3em; }
#rcvc-modal-close { background: #4a7c3f; color: #fff; border: none; padding: 10px 28px; border-radius: 3px; cursor: pointer; font-size: 0.9em; letter-spacing: 0.03em; text-transform: uppercase; }
#rcvc-modal-close:hover { background: #3a6230; }
#nav-toggle, .nav-sub-toggle { display: none; }
body.xx-respond #nav-toggle { display: none; }
body.xx-respond #navigation_outer .area_nav { display: flex; }
body.xx-respond .nav-sub-toggle { display: none; }
@media (max-width: 989px) { body.xx-respond .item_photo img { max-width: 100%; height: auto; }
body.xx-respond .container { width: 100%; box-sizing: border-box; padding: 0 15px; }
body.xx-respond #masthead { min-width: 0; }
body.xx-respond #logo a { width: 160px; height: 160px; background-size: 160px 160px; }
body.xx-respond .contact_details { margin-top: 20px; }
body.xx-respond #homepage_banner_container { height: auto; }
body.xx-respond #nav_banner { min-width: 0; height: 240px; }
body.xx-respond #homepage_banner_container #navigation_text { height: 240px; }
body.xx-respond #homepage_banner_container p { font-size: 22px; width: 85%; margin-top: 80px; }
body.xx-respond #navigation_outer { min-width: 0; }
body.xx-respond #navigation_outer.navigation_homepage { position: relative; top: auto; left: auto; width: 100%; margin-top: 0; }
body.xx-respond #nav-toggle { display: block; background: none; border: none; color: #ffffff; font-size: 18px; font-family: inherit; padding: 12px 15px; cursor: pointer; width: 100%; text-align: left; letter-spacing: 0.05em; text-transform: uppercase; }
body.xx-respond .nav-sub-toggle { display: inline-block; background: none; border: none; color: #ffffff; cursor: pointer; padding: 12px 15px; font-size: 12px; flex-shrink: 0; }
body.xx-respond #navigation_outer .item_navitem { text-align: left; border-top: 1px solid rgba(255, 255, 255, 0.15); display: flex; flex-wrap: wrap; align-items: stretch; }
body.xx-respond #navigation_outer .item_navitem > a { flex: 1; }
body.xx-respond #navigation_outer .area_nav { display: none; flex-direction: column; width: 100%; padding: 0; justify-content: flex-start; }
body.xx-respond #navigation_outer .area_nav.nav-open { display: flex; }
body.xx-respond #navigation_outer .item_navitem a { font-size: 16px; padding: 12px 15px; text-align: left; }
body.xx-respond #navigation_outer .item_navitem:hover ul { left: -99999px; background: none; padding: 0; }
body.xx-respond #navigation_outer .item_navitem > ul { position: static; left: auto; top: auto; display: none; background: rgba(0, 0, 0, 0.25); padding: 0; width: 100%; }
body.xx-respond #navigation_outer .item_navitem.sub-open > ul { display: block; }
body.xx-respond #navigation_outer .item_navitem .item_navitem { border-top: 1px solid rgba(255, 255, 255, 0.08); margin-bottom: 0; display: block; }
body.xx-respond #navigation_outer .item_navitem .item_navitem a { font-size: 14px; padding: 10px 15px 10px 28px; text-align: left; }
body.xx-respond #navigation_outer .item_navitem .item_navitem ul { padding: 0; position: static; }
body.xx-respond #navigation_outer .item_navitem .item_navitem .item_navitem a { padding-left: 44px; }
body.xx-respond #middle_background { min-width: 0; }
body.xx-respond #homepage_blocks .homepage_blocks_spacer { display: flex; flex-wrap: wrap; gap: 30px; overflow: visible; margin-top: 30px; }
body.xx-respond #homepage_blocks .homepage_block { float: none; width: calc(50% - 15px); margin-right: 0; margin-bottom: 0; box-sizing: border-box; }
body.xx-respond #homepage_blocks .homepage_block_last { margin-right: 0; }
body.xx-respond #homepage_blocks .item_photobanner2 { width: 100%; }
body.xx-respond #homepage_blocks .item_photobanner2 img { width: 100%; height: auto; }
body.xx-respond #homepage_blocks .banner_item { width: 100% !important; height: auto !important; position: static !important; }
body.xx-respond #homepage_blocks .image img { width: 100% !important; height: auto !important; }
body.xx-respond #homepage_blocks .item_photobanner2 .text { width: 100%; float: none; box-sizing: border-box; }
body.xx-respond .readmore .image { position: relative; display: block; }
body.xx-respond .readmore .image span { width: 100%; height: 100%; padding-top: 0; display: none; align-items: center; justify-content: center; }
body.xx-respond .readmore .image a:hover span { display: flex; }
body.xx-respond #video_banner { width: 100%; }
body.xx-respond #video_banner iframe { width: 100%; height: auto; aspect-ratio: 16 / 9; }
body.xx-respond #footer { min-width: 0; }
body.xx-respond #footer .container { display: flex; flex-direction: column; align-items: center; gap: 10px; }
body.xx-respond #footer cite, body.xx-respond #footer .text_privacy { display: block; }
body.xx-respond #area_content_outer { width: auto; margin: 20px 30px; padding: 30px 40px; box-sizing: border-box; }
body.xx-respond #form_outer { width: 100%; }
body.xx-respond .content_form { width: 100%; }
body.xx-respond .content_form textarea, body.xx-respond .content_form input[type="text"], body.xx-respond .content_form select { width: calc(100% - 215px); float: left; }
body.xx-respond .form_errors { width: 100%; box-sizing: border-box; }
 }
@media (max-width: 650px) { body.xx-respond #logo { float: none; text-align: center; }
body.xx-respond #logo a { width: 120px; height: 120px; background-size: 120px 120px; margin: 0 auto; }
body.xx-respond .contact_details { float: none; text-align: center; margin-top: 10px; overflow: visible; }
body.xx-respond #masthead .contact_details li { display: block; }
body.xx-respond #masthead .contact_details .mail, body.xx-respond #masthead .contact_details .facebook { float: none; display: inline-block; margin: 6px 4px 0; }
 }
@media (max-width: 599px) { body.xx-respond #homepage_banner_container { height: auto; }
body.xx-respond #nav_banner { height: 180px; }
body.xx-respond #homepage_banner_container #navigation_text { height: 180px; }
body.xx-respond #homepage_banner_container p { font-size: 16px; width: 90%; margin-top: 50px; }
body.xx-respond #homepage_blocks .homepage_block { width: 100%; }
body.xx-respond #homepage_blocks .homepage_block:nth-child(2n) { margin-right: 0; }
body.xx-respond #area_content_outer { margin: 15px; padding: 20px; }
body.xx-respond .content_form label { width: 100%; float: none; padding-right: 0; }
body.xx-respond .content_form label.textbox { height: auto; }
body.xx-respond .content_form textarea, body.xx-respond .content_form input[type="text"], body.xx-respond .content_form select { width: 100%; float: none; box-sizing: border-box; }
 }