@media only screen and (max-width: 560px) {
  body {
    font-size: 4vw;
  }

  header#masthead, #main, footer#colophon .content {
    width: 86%;
    padding-left: 7%;
    padding-right: 7%;
  }

  #social-media {
    display: none;
  }

  .hgroup {
    width: 100%;
    max-width: 100%;
  }

  .hgroup .custom-logo {
    max-width: 100%;
  }

  h2.site-description {
    font-size: 16px;
  }

  a.button, form .button-primary, .subscriptions .subscription-col .subscription-subscribe button {
    font-size: 5vw;
  }

  .blog-article-right, .blog-article-left {
    font-size: 4vw;
  }

  #archive-search-result .blog-article-left, #blogreg-index .blog-article-left {
    width: 38%;
    vertical-align: top;
  }

  #archive-search-result .blog-article-right, #blogreg-index .blog-article-right {
    width: 60%;
  }

  #nav-below {
    margin-right: 0;
    width: 100%;
    font-size: 4vw;
    text-align: center;
  }

  #nav-below .separator {
    margin: 0 15px;
  }

  .mouse-0 {
    display: none;
  }

  .newswire-left, .newswire-right {
    width: 100%;
    float: none;
    margin: 0 0 35px;
  }

  .subscription-form-buttons button, 
  .subscription-form-buttons a, 
  div.wpcf7-validation-errors, 
  .blog-article-left, 
  .blog-article-right {
    font-size: 4vw;
  }

  .newswire-subscription-forms form label,
  #sri-contact-form .subscription-form-content .field a {
    font-size: 4vw;
  }

  .subscriptions .subscription-col {
    margin: 0;
    width: 100%;
    float: none;
    margin-bottom: 35px;
  }

  .subscriptions .subscription-col .subscription-number-users, .subscriptions .subscription-col .subscription-title div, #login-form .input {
    font-size: 4vw;
  }

  label, #customer_details label, .checkout_coupon label, #login-form label {
    width: 100%;
    font-size: 4vw;
    display: initial !important;
  }

  .checkout_coupon .input-text, #login-form .input {
    width: calc(96% - 4px) !important;
    padding: 10px 2%;
  }

  .woocommerce-checkout .woocommerce input.button, #customer_details .input-text, #customer_details .select, #login-form .login-submit {
    width: 100% !important;
    margin: 10px 0;
  }

  #login-form label {
    display: block !important;
    text-align: left;
  }

  #payment .place-order, #payment .wc_payment_methods, .woocommerce #respond input#submit, .woocommerce a.button, .woocommerce-checkout .woocommerce button.button, .woocommerce input.button, #login-form .login-submit {
    width: 100%;
    text-align: center;
    float: none;
  }

  #add_payment_method #payment ul.payment_methods li, .woocommerce-cart #payment ul.payment_methods li, .woocommerce-checkout #payment ul.payment_methods li {
    text-align: center;
  }

  #nav-below a, .newsdesk-back {
    font-size: 4vw;
  }

  #site-navigation .menu-toggle {
    display: block;
    width: 40%;
    margin-left: 5%;
    font-size: 5vw;
    color: #000;
    background: #fff;
    border-radius: 5px;
    border: 2px solid #000;
    padding: 10px 0 5px;
    font-family: King;
    text-transform: uppercase;
    font-weight: bold;
  }

  #menu-main-menu {
    display: none;
  }

  #menu-main-menu.toggled-on {
    display: block;
    width: 100%;
    margin-top: 35px;
  }

  #site-navigation li {
    margin: 0;
    text-align: center;
    width: 100%;
    border-bottom: 2px solid #000;
    padding: 15px 0 10px;
  }

  #site-navigation li:first-child {
    border-top: 2px solid #000;
  }

  #site-navigation li:last-child {
    display: none;
  }

  #site-navigation li a {
    border: none !important;
    font-size: 5vw;
  }

  #login-form .login-remember input {
    float: none;
    position: initial;
    margin: 0;
  }

  .forgotten-password {
    font-size: 3vw;
    margin: 0;
    margin-top: 35px;
    text-align: center;
  }

  .mobile-subscribe {
    float: right;
    display: block;
    width: 40%;
    margin-right: 5%;
    font-size: 5vw;
    color: #fff;
    background: #39b54a;
    border-radius: 5px;
    border: 2px solid #39b54a;
    padding: 8px 0 3px;
    text-align: center;
    font-family: King;
    text-transform: uppercase;
    font-weight: bold;
  }

  #archive-filters-mobile {
    display: block;
  }

  #archive-filters {
    display: none;
  }

  #archive-filters-mobile {
    margin-top: 50px;
    font-family: King;
    width: 100%;
    margin-bottom: 50px;
    overflow: hidden;
  }

  #archive-filters-mobile .archive-filters-mobile-title {
    font-size: 22px;
    text-transform: uppercase;
    margin-left: 25px;
    margin-bottom: 25px;
  }

  #archive-filters-mobile .category-column, #archive-filters-mobile .subcategory-column, #archive-filters-mobile .subsubcategory-column {
    width: 100%;
    float: none;
    height: auto;
    overflow: auto;
    margin-right: 0px;
  }

  #archive-filters-mobile .subcategory-column, #archive-filters-mobile .subsubcategory-column {
    border: 3px solid #b7b7b7;
    display: none;
  }

  #archive-filters-mobile .subcategory-column.active, #archive-filters-mobile .subsubcategory-column.active {
    display: block;
  }

  #archive-filters-mobile .subsubcategory-column {
    margin-right: 0;
  }

  #archive-filters-mobile .archive-category, #archive-filters-mobile .archive-subcategory, #archive-filters-mobile .archive-subsubcategory {
    display: block;
    width: 100%;
    height: auto;
    line-height: 45px;
    font-size: 16px
  }

  #archive-filters-mobile .archive-subcategory, #archive-filters-mobile .archive-subsubcategory {
    font-size: 14px;
    height: auto;
    line-height: 35px;
    display: none;
  }

  #archive-filters-mobile .archive-subcategory.active, #archive-filters-mobile .archive-subsubcategory.active {
    display: block;
  }

  #archive-filters-mobile .archive-category:hover, #archive-filters-mobile .archive-subcategory:hover, #archive-filters-mobile .archive-subsubcategory:hover, #archive-filters-mobile .archive-category.trail, #archive-filters-mobile .archive-subcategory.trail {
    background: #b7b7b7;
    color: #fff;
    cursor: pointer;
  }

  #archive-filters-mobile .archive-checkbox {
    background: #fff;
    width: 22px;
    height: 22px;
    border: 3px solid #b7b7b7;
    margin-right: 25px;
    margin-left: 15px;
    display: inline-block;
    vertical-align: middle;
  }

  #archive-filters-mobile .archive-subcategory .archive-checkbox, #archive-filters-mobile .archive-subsubcategory .archive-checkbox {
    width: 18px;
    height: 18px;
    margin-right: 15px;
  }

  #archive-filters-mobile .archive-category .archive-checkbox-title {
    vertical-align: middle;
    text-transform: uppercase;
  }

  #archive-filters-mobile .archive-subcategories {
    display: none;
    background: #fff;
  }

  #archive-filters-mobile .archive-subcategories.visible {
    display: block;
  }

  #archive-filters-mobile .archive-subcategories .archive-subcategory.active {
    background: #fff;
    color: #000;
    border-left: 2px solid #b7b7b7;
    border-right: 2px solid #b7b7b7;
    width: calc(90% - 4px);
    margin-left: 10%;
  }

  #archive-filters-mobile .archive-subcategories .archive-subcategory.active:last-child {
    border-bottom: 2px solid #b7b7b7;
  }

  #archive-filters-mobile .selected > .archive-checkbox .checkbox-status {
    background: #39b54a;
    width: 14px;
    height: 14px;
    border-radius: 100%;
    margin: 4px auto;
  }

  #archive-filters-mobile .archive-subcategory.selected .checkbox-status, #archive-filters-mobile .archive-subsubcategory.selected .checkbox-status {
    margin: 2px auto;
    background: #39b54a;
  }

  #archive-filters-mobile .archive-checkbox-title {
    width: 75%;
  }

  #archive-filters-mobile .archive-subcategory .archive-subsubcategories {
    display: none;
    background: #fff;
    padding-top: 5px;
    padding-bottom: 5px;
  }

  #archive-filters-mobile .archive-subcategory .archive-subsubcategories.visible {
    display: block;
  }

  #archive-filters-mobile .archive-subsubcategories .archive-subsubcategory.active {
    padding-left: 2%;
    padding-right: 2%;
    border-left: 2px solid #b7b7b7;
    border-right: 2px solid #b7b7b7;
    margin-left: 5%;
    margin-right: 5%;
    width: calc(86% - 4px);
    color: #000;
  }

  #archive-filters-mobile .archive-subsubcategories .archive-subsubcategory.active:first-child {
    margin-top: 5px;
    border-top: 2px solid #b7b7b7;
    padding-top: 5px;
  }

  #archive-filters-mobile .archive-subsubcategories .archive-subsubcategory.active:last-child {
    margin-bottom: 5px;
    border-bottom: 2px solid #b7b7b7;
    padding-bottom: 5px;
  }

  #archive-filters-mobile .archive-subcategories .archive-subcategory.trail {
    background: #b7b7b7;
    color: #fff;
  }

  #archive-filters .selected .checkbox-status {
    background: #39b54a;
    width: 14px;
    height: 14px;
    border-radius: 100%;
    margin: 4px auto;
  }

  #archive-filters .archive-subcategory.selected .checkbox-status, #archive-filters .archive-subsubcategory.selected .checkbox-status {
    margin: 2px auto;
  }

  #archive-filters .category-column, #archive-filters .subcategory-column, #archive-filters .subsubcategory-column {
    width: 100%;
    float: none;
  }

  .archive-checkbox-title, #archive-filters-bottom .bottom-filters select, #archive-buttons button, #search-query p {
    font-size: 4vw;
  }

  #archive-filters-bottom .bottom-filters, #archive-filters-bottom .bottom-filters input, #archive-filters-bottom .ui-multiselect {
    width: 100%;
    margin: 0;
    font-size: 4vw;
  }

  #archive-filters-bottom .bottom-filters {
    margin-bottom: 35px;
  }

  #archive-filters-bottom .date-fields label {
    width: 20%;
    font-size: 4vw;
    margin-left: 3%;
    margin-right: 0;
    display: inline-block !important;
  }

  #archive-filters-bottom .bottom-filters label, #search-query h3 {
    margin-left: 3%;
    text-align: left;
  }

  #archive-button {
    text-align: center;
  }

  #archive-buttons button {
    width: 45%;
    margin: 0;
    margin-right: 5%;
  }

  #archive-buttons button:last-child {
    float: right;
    margin-left: 5%;
    margin-right: 0;
  }

  footer#colophon .footer-right {
    float: none;
  }

  footer#colophon .footer-right p {
    float: left;
  }

  footer#colophon .footer-right p:last-child {
    margin-top: 10px;
    margin-left: 0;
  }

  #get-back-to-archive {
    margin-bottom: 50px;
    text-align: center;
  }

  #get-back-to-archive a {
    margin-right: 0;
  }

  #archive-search-result .blog-article-left, #blogreg-index .blog-article-left, #archive-search-result .blog-article-right, #blogreg-index .blog-article-right {
    width: 100%;
    float: none;
  }

  #archive-search-result article {
    margin-bottom: 35px;
  }

  .footer-right {
    border-top: 2px solid white;
    padding-top: 20px;
    margin-top: 25px;
  }

  .footer-right p {
    margin: 10px 0;
  }

  .newswire-subscription-forms form label, 
  #sri-contact-form .subscription-form-content .field a {
    font-size: 16px;
  }

}

@media only screen and (max-width: 500px) {

  .subscription-form-header {
    background: none;
    height: auto;
    margin: 0 0 15px 0;
    padding: 0;
  }

}

@media only screen and (max-width: 450px) {

  .site-title .medium-logo {
    display: none;
  }

  .site-title .small-logo {
    display: block;
    margin-bottom: 25px;
  }

}