/* Theme1251 V7 Responsive — desktop layout remains unchanged */
.mobile-menu-toggle { display:none; }
img, video, iframe { max-width:100%; height:auto; }
input, textarea, select { max-width:100%; box-sizing:border-box; }

@media only screen and (max-width: 959px) {
  html, body, #header, .content-tail, .cont-tail-bottom { min-width:0 !important; }
  body { overflow-x:hidden; }
  .container, .container_12 { width:auto !important; max-width:940px; margin-left:20px; margin-right:20px; }
  .container_12 .grid_1, .container_12 .grid_2, .container_12 .grid_3,
  .container_12 .grid_4, .container_12 .grid_5, .container_12 .grid_6,
  .container_12 .grid_7, .container_12 .grid_8, .container_12 .grid_9,
  .container_12 .grid_10, .container_12 .grid_11, .container_12 .grid_12 {
    box-sizing:border-box; max-width:100%;
  }
  #header .logo.original-header-logo,
  #header .logo.original-header-logo > a {
    left:0; width:100%; max-width:940px; height:auto;
  }
  #header .logo.original-header-logo img {
    width:100% !important; height:auto !important; max-width:940px !important;
  }
  nav.primary { width:100%; background-size:100% 87px; }
  .sf-menu { width:100%; display:flex; }
  .sf-menu > li { flex:1 1 auto; }
  .sf-menu > li > a, .sf-menu > li:first-child > a, .sf-menu > li.last > a {
    width:auto; padding:0 10px; font-size:16px;
  }
  #faded, #faded .rap, #faded ul.slides, #faded ul.slides li { width:100% !important; max-width:100%; }
  #faded ul.slides li .type2 { width:calc(100% - 20px); background-size:100% 100%; }
  #faded ul.slides li .type3 h2 { width:28%; margin-right:3%; padding-left:2%; }
  #faded ul.slides li .type3 p { width:39%; margin-right:3%; }
  #faded ul.slides li .type4 .image.fleft,
  #faded ul.slides li .default .image.fright { width:57%; background-size:100% 100%; }
  #faded ul.slides li .type4 .image.fleft img,
  #faded ul.slides li .default .image.fright img { max-width:92%; height:auto; }
  table { max-width:100%; }
}

@media only screen and (max-width: 767px) {
  #wpadminbar { position:absolute; }
  .container, .container_12 { margin-left:14px; margin-right:14px; }
  #header { height:auto !important; min-height:0; padding-top:0; background-size:auto 160px; }
  #header .row-1 { height:auto; min-height:0; padding-top:78px; }
  #header .logo.original-header-logo { top:7px; height:auto; }
  #header .logo.original-header-logo img { min-height:0; }
  .home #header { height:auto !important; }

  .mobile-menu-toggle {
    display:block; position:relative; z-index:1002; width:100%; min-height:48px;
    margin:8px 0 0; border:0; border-radius:5px; cursor:pointer;
    background:#84aa55; color:#fff; font:700 18px/48px Arial, sans-serif;
    text-align:left; padding:0 18px;
  }
  .mobile-menu-toggle:after { content:'☰'; float:right; font-size:25px; font-weight:normal; }
  .mobile-menu-toggle[aria-expanded="true"]:after { content:'×'; }
  nav.primary { display:none; float:none; height:auto; margin:0; background:#759b49; }
  nav.primary.mobile-open { display:block; }
  .sf-menu { display:block; max-width:none; }
  .sf-menu li, .sf-menu > li { float:none; width:100%; padding:0; background:none !important; }
  .sf-menu > li > a, .sf-menu > li:first-child > a, .sf-menu > li.last > a {
    width:auto; min-height:45px; padding:0 16px; border-bottom:1px solid rgba(255,255,255,.22);
    line-height:45px; text-align:left; font-size:17px;
  }
  .sf-menu li ul, .sf-menu li:hover ul, .sf-menu li.sfHover ul,
  ul.sf-menu li li:hover ul, ul.sf-menu li li.sfHover ul {
    display:none; position:static; width:auto; padding:0; background:#62843d; box-shadow:none;
  }
  .sf-menu li.submenu-open > ul { display:block !important; }
  .sf-menu li ul li a { height:auto; min-height:40px; padding:0 16px 0 32px; line-height:40px; background:none !important; }
  .sf-sub-indicator { display:none; }

  #top-search { display:none; }
  #widget-header { display:none; }
  #slider-wrapper { height:auto; min-height:0; margin:10px 0 18px; }
  #faded { overflow:hidden; }
  #faded .rap, #faded ul.slides, #faded ul.slides li { height:auto !important; min-height:0; overflow:visible; }
  #faded ul.slides li { box-sizing:border-box; padding:18px 8px 38px !important; }
  #faded ul.slides li h2, #faded ul.slides li .type1 h2,
  #faded ul.slides li .type3 h2, #faded ul.slides li .type4 h2,
  #faded ul.slides li .default h2 {
    float:none; width:auto; margin:0 0 14px; padding:0; font-size:30px; line-height:1.08; letter-spacing:-1px;
  }
  #faded ul.slides li p, #faded ul.slides li .type3 p {
    float:none; width:auto; margin:0 0 18px; padding:0; font-size:15px; line-height:1.5;
  }
  #faded ul.slides li .type2, #faded ul.slides li .type2 .inside,
  #faded ul.slides li .type4 .inside, #faded ul.slides li .default .inside {
    width:auto; height:auto; padding:0; background:none;
  }
  #faded ul.slides li .type3 .img-border,
  #faded ul.slides li .type4 .image.fleft,
  #faded ul.slides li .default .image.fright,
  #faded ul.slides li .image.fleft, #faded ul.slides li .image.fright {
    float:none; width:auto; height:auto; margin:14px 0; padding:7px; background:#fff;
  }
  #faded ul.slides li .image img { display:block; width:100%; height:auto; }
  #faded ul.slides li .slide-button { float:none; width:auto; margin:16px 0 0; }
  #faded #pagination { top:auto; bottom:0; }

  .primary_content_wrap { padding-top:12px; }
  .one_half, .one_third, .two_third, .three_fourth, .one_fourth,
  .one_fifth, .two_fifth, .three_fifth, .four_fifth, .one_sixth, .five_sixth {
    float:none; width:auto; margin-right:0;
  }
  .container_12 .grid_1, .container_12 .grid_2, .container_12 .grid_3,
  .container_12 .grid_4, .container_12 .grid_5, .container_12 .grid_6,
  .container_12 .grid_7, .container_12 .grid_8, .container_12 .grid_9,
  .container_12 .grid_10, .container_12 .grid_11, .container_12 .grid_12 {
    display:block; float:none; width:auto !important; margin-left:0; margin-right:0;
  }
  .fleft, .fright { float:none; }
  .extra-wrap { overflow:visible; }
  table { display:block; width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .wpcf7-form input[type="text"], .wpcf7-form input[type="email"],
  .wpcf7-form input[type="tel"], .wpcf7-form textarea { width:100% !important; }
  #footer { margin-top:20px; }
}

@media only screen and (max-width: 420px) {
  #header .row-1 { padding-top:58px; }
  .mobile-menu-toggle { margin-top:4px; }
  #faded ul.slides li h2, #faded ul.slides li .type1 h2,
  #faded ul.slides li .type3 h2, #faded ul.slides li .type4 h2,
  #faded ul.slides li .default h2 { font-size:25px; }
}


/* V7.1 mobile-menu reliability fixes */
@media only screen and (max-width: 767px) {
  #header .mobile-menu-toggle { display:block !important; }
  #header nav.primary { display:none !important; visibility:visible !important; }
  #header nav.primary.mobile-open { display:block !important; }
  #header nav.primary.mobile-open > ul.sf-menu { display:block !important; visibility:visible !important; }
}
