/**
    MOBILE RESPONSIVE STYLES
    Tablet, small tablet and mobile sizes
    @author: WReithmeyer
 */
/**
Common Elements
 */
@media (max-width: 480px) {
  body {
    overflow: unset !important;
  }
}

@media (max-width: 768px) {
  a, p {
    word-break: break-word !important;
  }
}

/**
Menus
 */
@media (max-width: 1024px) {
  #menu-menu-primary {
    width: 100%;
    padding: 0;
    margin: 0;
  }
  #menu-menu-primary .dropdown-menu.show {
    margin: 0 0.5em 1em;
  }
}

@media (max-width: 768px) {
  #header-second-row .container-fluid {
    padding: 0;
  }
  #header-second-row .container-fluid > div {
    margin: 0;
  }
  #header-second-row .container-fluid > div > div {
    padding: 0;
  }
  #header-second-row .menu-item {
    top: unset;
    font-size: unset;
    margin: 0.5em;
  }
  #header-second-row .menu-item a {
    padding: 0.5em 0;
  }
}
@media (max-width: 480px) {
  #header-second-row #secondary-menu {
    justify-content: center;
  }
  #header-second-row #secondary-menu .menu-item a {
    padding: 0.25em;
    display: block;
  }
}

.dropdown-menu.show {
  z-index: 10000;
}

/**
Home Page
 */
@media (max-width: 768px) {
  .home-section.alerts-cta .home-container {
    padding: 1em;
  }
  .home-section.alerts-cta .home-container #home-create-alert {
    display: block;
    margin: 1em auto 0;
    font-size: unset;
  }
}
@media (max-width: 768px) {
  .home-section.main-cta::after {
    content: "";
  }
}
@media (max-width: 480px) {
  .home-section.main-cta {
    padding: 0;
  }
  .home-section.main-cta::after {
    content: unset;
  }
  .home-section.main-cta a.button {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .home-section.society-scroller .slick-arrow {
    width: 2rem;
    height: 1.5rem;
  }
  .home-section.society-scroller .slick-arrow.slick-prev {
    left: 0.5em;
  }
  .home-section.society-scroller .slick-arrow.slick-next {
    right: 0.5em;
  }
  .home-section.society-scroller .slick-list {
    margin: 0 2em !important;
  }
  .home-section.society-scroller .slick-slide {
    margin: 0 2em !important;
  }
  .home-section.society-scroller .slick-slide img {
    filter: unset;
  }
}
@media (max-width: 480px) {
  .home-section.society-scroller .slick-arrow {
    display: none !important;
  }
  .home-section.society-scroller .slick-list {
    margin: 0 !important;
  }
  .home-section.society-scroller .slick-slide {
    margin: 0 2em !important;
  }
}
@media (max-width: 480px) {
  .home-section.guidelines-platform .platform-list ul li {
    padding-left: 4em;
  }
  .home-section.guidelines-platform .platform-list ul li::before {
    width: 3em;
  }
  .home-section.guidelines-platform .platform-list ul li::after {
    font-size: 0.5em;
    left: 0.5em;
  }
}
@media (max-width: 480px) {
  .home-section.features .content-list {
    padding: 0 !important;
    margin-bottom: 1em !important;
  }
  .home-section.features .content-display::before {
    backdrop-filter: unset !important;
    background-color: unset !important;
  }
  .home-section.features .content-display img {
    opacity: unset !important;
  }
  .home-section.features .content-display::after {
    content: attr(data-hover-text) !important;
    opacity: 1 !important;
    bottom: 0 !important;
    top: unset !important;
    left: 1em !important;
    right: 1em !important;
    transform: unset !important;
    padding: 0.5em 1em;
    white-space: nowrap;
    font-size: 20px;
    background-color: #1D8FBB;
    color: #FFFFFF;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
    border-radius: 2px;
  }
}

/**
Landing Pages
 */
@media (max-width: 480px) {
  #landing-banner-hero {
    background: #eee;
  }
}
@media (max-width: 1024px) {
  #landing-banner-hero::before, #landing-banner-hero::after {
    background-size: 22vw;
    background-attachment: unset;
    opacity: 0.7;
  }
}
@media (max-width: 480px) {
  #landing-banner-hero::before, #landing-banner-hero::after {
    display: none;
  }
}
@media (max-width: 480px) {
  #landing-banner-hero .banner-body {
    padding: 0 1em;
  }
}

@media (max-width: 768px) {
  #landings-search-desktop .nav {
    flex-wrap: nowrap;
    flex-direction: row;
    white-space: nowrap;
    align-items: center;
    overflow: auto;
    overflow: overlay;
  }
}

@media (max-width: 1024px) {
  .calcs-landing-windows .search-window,
  .guidelines-landing-windows .search-window {
    max-height: 50vh;
    animation: shrink 0.3s ease-in;
    animation-fill-mode: forwards;
  }
  @keyframes shrink {
    from {
      max-height: 60vh;
    }
  }
  .calcs-landing-windows .search-window.scrollable-lg,
  .guidelines-landing-windows .search-window.scrollable-lg {
    position: relative;
    max-height: 60vh;
    animation: grow 0.3s ease-in;
    animation-fill-mode: forwards;
  }
  @keyframes grow {
    from {
      max-height: 50vh;
    }
  }
  .calcs-landing-windows .search-window.scrollable-lg::before, .calcs-landing-windows .search-window.scrollable-lg::after,
  .guidelines-landing-windows .search-window.scrollable-lg::before,
  .guidelines-landing-windows .search-window.scrollable-lg::after {
    content: "";
    pointer-events: none;
    position: sticky;
    width: 100%;
    height: 2em;
    display: block;
    z-index: 1000;
  }
  .calcs-landing-windows .search-window.scrollable-lg::before,
  .guidelines-landing-windows .search-window.scrollable-lg::before {
    top: 0;
    margin-top: -2em;
    background: linear-gradient(to bottom, white, rgba(255, 255, 255, 0));
  }
  .calcs-landing-windows .search-window.scrollable-lg::after,
  .guidelines-landing-windows .search-window.scrollable-lg::after {
    bottom: 0;
    margin-bottom: -2em;
    background: linear-gradient(to top, white, rgba(255, 255, 255, 0));
    animation: appear-up 0.3s ease-in;
    animation-fill-mode: forwards;
  }
  @keyframes appear-up {
    from {
      opacity: 0;
      height: 0;
    }
  }
}

@media (max-width: 768px) {
  #left-column .left-column-wrapper {
    padding: 0 !important;
  }
  #left-column .left-column-wrapper #applied-filters-title {
    padding-left: 0 !important;
  }
  #left-column .left-column-wrapper #applied-filters-badge-list {
    padding-left: 0;
  }
}
@media (max-width: 768px) {
  #left-column #unified-filters {
    min-height: unset !important;
    margin-bottom: 1.5em;
  }
  #left-column #unified-filters .filter-container {
    border: 1px solid #ddd;
  }
  #left-column #unified-filters .filter-container:not(:has(div)) {
    display: none;
  }
  #left-column #unified-filters .card:last-of-type {
    border-bottom: none !important;
  }
  #left-column #unified-filters .loading-splash > div {
    top: 50%;
    transform: translate(-50%, -50%);
  }
  #left-column #unified-filters .loading-splash .gc-loader .container .dot {
    width: 50px;
    height: 50px;
  }
}

@media (max-width: 1024px) {
  #primary .row {
    margin: 0;
  }
}
@media (max-width: 768px) {
  #primary #search-header.third-header {
    padding: 1em;
  }
  #primary #search-header.third-header a {
    padding: 0.5em;
  }
}

/**
Results
 */
@media (max-width: 768px) {
  .search-result {
    position: relative;
  }
  .search-result .result-icon-wrapper {
    width: unset;
    height: unset;
    position: absolute;
    margin: 0 !important;
    padding: 1em;
    top: 0;
    z-index: 1;
    pointer-events: none;
  }
  .search-result .result-icon-wrapper svg {
    max-width: 50px;
    height: unset;
  }
  .search-result .result-title-wrapper {
    margin-top: 0 !important;
    padding-left: calc(50px + 2em);
    z-index: 10;
  }
  body.logged-in .search-result .result-title-wrapper {
    margin-right: 3em;
  }
  .search-result .result-title-wrapper .doc-auth-org {
    font-size: unset;
    line-height: unset;
  }
  .search-result .bookmark-wrapper {
    left: 0;
    position: absolute;
    text-align: right;
    z-index: 9;
  }
}
@media (max-width: 480px) {
  .search-result .result-icon-wrapper {
    display: none;
  }
  .search-result .result-title-wrapper {
    padding-left: 1em;
  }
}

@media (max-width: 768px) {
  #feedback-form-button {
    z-index: 100;
  }
}

/**
Pagination Results
 */
@media (max-width: 480px) {
  li.page-item {
    white-space: nowrap;
  }
  #library-content {
    padding: 0;
  }
}
/**
Guideline Single
 */
@media (max-width: 480px) {
  #pocket-guide-header {
    padding: 0.5em;
  }
  #pocket-guide-header .prod-title {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  #pocket-guide-header .prod-title a {
    width: unset;
  }
  #pocket-guide-header .prod-title a:not(.btn) {
    padding: 0.5em;
  }
  #pocket-guide-header .prod-logos {
    display: none;
    width: 0;
  }
}
#pocket-guide-header.third-header {
  z-index: 1002;
}
@media (max-width: 768px) {
  #pocket-guide-header.third-header #mega-menu {
    left: 0;
    min-width: 100%;
    width: 100%;
  }
}

/**
Pocket Guide
 */
@media (max-width: 480px) {
  #pocket-guide-no-access-wrapper .no-access-modal h3 {
    font-size: 18px;
  }
  #pocket-guide-no-access-wrapper .no-access-modal .no-access-message {
    font-size: 16px !important;
  }
}

/**
Pages
 */
@media (max-width: 480px) {
  #get-the-app-container .app-col {
    flex-wrap: wrap;
    flex: 1;
    max-width: 100%;
    align-content: center;
  }
  #get-the-app-container .app-col:first-of-type {
    border-bottom: 1px solid #eee;
    padding-bottom: 1em;
  }
  #get-the-app-container .app-col img {
    max-width: 250px;
  }
  #get-the-app-container + .features {
    padding: 0;
  }
}

/**
Body Containers
 */
body {
  /**
  This happens to be everywhere, dont apply to woocommerce pages, or home
   */
}
@media (max-width: 768px) {
  body:not(.woocommerce-account):not(.home):not(.woocommerce-checkout) .entry-content, body:not(.woocommerce-account):not(.home):not(.woocommerce-checkout) .blog-posts {
    padding: 1em !important;
  }
}

/**
Blog
 */
@media (max-width: 768px) {
  .blog-post {
    padding: 0 !important;
  }
}

/**
Shop
 */
@media (max-width: 480px) {
  .subscription-toolbar-wrapper,
  #shop-toolbar {
    flex-direction: column;
  }
  .subscription-toolbar-wrapper .toolbar-col,
  #shop-toolbar .toolbar-col {
    flex-basis: unset !important;
    width: 100%;
    padding: 0.5em;
  }
  .subscription-toolbar-wrapper .toolbar-separator,
  #shop-toolbar .toolbar-separator {
    display: none !important;
  }
}

@media (max-width: 480px) {
  .subscription-toolbar-wrapper {
    flex-direction: column;
  }
}

@media (max-width: 480px) {
  .subscriptions-page,
  .igc-shop-container {
    padding: 0 !important;
  }
  .subscriptions-page .subscriptions-display.list-display .product-list-row .product-list-thumbnail,
  .subscriptions-page .product-display.list-display .product-list-row .product-list-thumbnail,
  .igc-shop-container .subscriptions-display.list-display .product-list-row .product-list-thumbnail,
  .igc-shop-container .product-display.list-display .product-list-row .product-list-thumbnail {
    display: none;
  }
  .subscriptions-page .subscriptions-display.list-display .product-list-row .product-list-table,
  .subscriptions-page .product-display.list-display .product-list-row .product-list-table,
  .igc-shop-container .subscriptions-display.list-display .product-list-row .product-list-table,
  .igc-shop-container .product-display.list-display .product-list-row .product-list-table {
    display: flex;
  }
  .subscriptions-page .subscriptions-display.list-display .product-list-row .product-list-table thead,
  .subscriptions-page .product-display.list-display .product-list-row .product-list-table thead,
  .igc-shop-container .subscriptions-display.list-display .product-list-row .product-list-table thead,
  .igc-shop-container .product-display.list-display .product-list-row .product-list-table thead {
    background: unset !important;
    border-right: 2px solid #ccc;
  }
  .subscriptions-page .subscriptions-display.list-display .product-list-row .product-list-table thead tr, .subscriptions-page .subscriptions-display.list-display .product-list-row .product-list-table tbody tr,
  .subscriptions-page .product-display.list-display .product-list-row .product-list-table thead tr,
  .subscriptions-page .product-display.list-display .product-list-row .product-list-table tbody tr,
  .igc-shop-container .subscriptions-display.list-display .product-list-row .product-list-table thead tr,
  .igc-shop-container .subscriptions-display.list-display .product-list-row .product-list-table tbody tr,
  .igc-shop-container .product-display.list-display .product-list-row .product-list-table thead tr,
  .igc-shop-container .product-display.list-display .product-list-row .product-list-table tbody tr {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .subscriptions-page .subscriptions-display.list-display .product-list-row .product-list-table thead tr > th, .subscriptions-page .subscriptions-display.list-display .product-list-row .product-list-table tbody tr > th,
  .subscriptions-page .product-display.list-display .product-list-row .product-list-table thead tr > th,
  .subscriptions-page .product-display.list-display .product-list-row .product-list-table tbody tr > th,
  .igc-shop-container .subscriptions-display.list-display .product-list-row .product-list-table thead tr > th,
  .igc-shop-container .subscriptions-display.list-display .product-list-row .product-list-table tbody tr > th,
  .igc-shop-container .product-display.list-display .product-list-row .product-list-table thead tr > th,
  .igc-shop-container .product-display.list-display .product-list-row .product-list-table tbody tr > th {
    justify-content: right;
  }
  .subscriptions-page .subscriptions-display.list-display .product-list-row .product-list-table thead tr > th, .subscriptions-page .subscriptions-display.list-display .product-list-row .product-list-table thead tr > td, .subscriptions-page .subscriptions-display.list-display .product-list-row .product-list-table tbody tr > th, .subscriptions-page .subscriptions-display.list-display .product-list-row .product-list-table tbody tr > td,
  .subscriptions-page .product-display.list-display .product-list-row .product-list-table thead tr > th,
  .subscriptions-page .product-display.list-display .product-list-row .product-list-table thead tr > td,
  .subscriptions-page .product-display.list-display .product-list-row .product-list-table tbody tr > th,
  .subscriptions-page .product-display.list-display .product-list-row .product-list-table tbody tr > td,
  .igc-shop-container .subscriptions-display.list-display .product-list-row .product-list-table thead tr > th,
  .igc-shop-container .subscriptions-display.list-display .product-list-row .product-list-table thead tr > td,
  .igc-shop-container .subscriptions-display.list-display .product-list-row .product-list-table tbody tr > th,
  .igc-shop-container .subscriptions-display.list-display .product-list-row .product-list-table tbody tr > td,
  .igc-shop-container .product-display.list-display .product-list-row .product-list-table thead tr > th,
  .igc-shop-container .product-display.list-display .product-list-row .product-list-table thead tr > td,
  .igc-shop-container .product-display.list-display .product-list-row .product-list-table tbody tr > th,
  .igc-shop-container .product-display.list-display .product-list-row .product-list-table tbody tr > td {
    min-height: 4em !important;
    padding: 0.5em !important;
    display: flex;
    align-items: center;
  }
  .subscriptions-page .subscriptions-display.list-display .product-list-row .product-list-table thead tr > th.product-view, .subscriptions-page .subscriptions-display.list-display .product-list-row .product-list-table thead tr > td.product-view, .subscriptions-page .subscriptions-display.list-display .product-list-row .product-list-table tbody tr > th.product-view, .subscriptions-page .subscriptions-display.list-display .product-list-row .product-list-table tbody tr > td.product-view,
  .subscriptions-page .product-display.list-display .product-list-row .product-list-table thead tr > th.product-view,
  .subscriptions-page .product-display.list-display .product-list-row .product-list-table thead tr > td.product-view,
  .subscriptions-page .product-display.list-display .product-list-row .product-list-table tbody tr > th.product-view,
  .subscriptions-page .product-display.list-display .product-list-row .product-list-table tbody tr > td.product-view,
  .igc-shop-container .subscriptions-display.list-display .product-list-row .product-list-table thead tr > th.product-view,
  .igc-shop-container .subscriptions-display.list-display .product-list-row .product-list-table thead tr > td.product-view,
  .igc-shop-container .subscriptions-display.list-display .product-list-row .product-list-table tbody tr > th.product-view,
  .igc-shop-container .subscriptions-display.list-display .product-list-row .product-list-table tbody tr > td.product-view,
  .igc-shop-container .product-display.list-display .product-list-row .product-list-table thead tr > th.product-view,
  .igc-shop-container .product-display.list-display .product-list-row .product-list-table thead tr > td.product-view,
  .igc-shop-container .product-display.list-display .product-list-row .product-list-table tbody tr > th.product-view,
  .igc-shop-container .product-display.list-display .product-list-row .product-list-table tbody tr > td.product-view {
    margin: 0;
  }
}

/**
Checkout
 */
@media (max-width: 480px) {
  #customer_details {
    /**
    Order Summary should placed at the top, to allow the customer
    to edit their cart, and see what they're buying, on phone, default is at bottom
    which can be missed if they click "Checkout"
     */
  }
  #customer_details > .col-8 {
    order: 2;
  }
  #customer_details > .col-4 {
    order: 1;
  }
}

@media (max-width: 480px) {
  .order-summary-container .checkout-table-body table tr td.product-name .product-image {
    display: none;
  }
  .order-summary-container .checkout-table-body table tr td.product-name .product-information {
    position: relative;
    left: unset;
    max-width: unset;
    top: unset;
    transform: unset;
  }
}

@media (max-width: 480px) {
  .checkout-table .checkout-table-body {
    padding: 0.5em;
  }
  .checkout-table .checkout-table-body .form-row {
    width: 100% !important;
  }
}

/**
Cart
 */
@media (max-width: 1024px) {
  .cart-custom-link {
    margin-bottom: 0.5em;
    display: inline-block;
  }
}

@media (max-width: 480px) {
  form.woocommerce-cart-form table.shop_table_responsive tbody tr {
    border: 0 !important;
    margin: 1em 0;
    display: flex;
    flex-direction: column;
    background-color: rgba(0, 0, 0, 0.03);
  }
  form.woocommerce-cart-form table.shop_table_responsive tbody tr td {
    position: relative;
  }
  form.woocommerce-cart-form table.shop_table_responsive tbody tr td::before {
    opacity: 0.8;
    font-style: italic;
    padding: 0.5em !important;
    position: absolute;
    font-size: 14px !important;
    left: 0;
  }
  form.woocommerce-cart-form table.shop_table_responsive tbody tr td.product-remove {
    align-self: end !important;
    background-color: unset !important;
    padding: 0 !important;
    margin-top: 0.5em;
    order: 10;
  }
  form.woocommerce-cart-form table.shop_table_responsive tbody tr td.product-remove a.remove {
    font-size: 1em;
    width: unset;
    height: unset;
    padding: 0.5em;
    border-radius: 0.25em;
    background-color: rgba(255, 0, 0, 0.1);
  }
  form.woocommerce-cart-form table.shop_table_responsive tbody tr td.product-remove a.remove::before {
    content: attr(aria-label);
    margin-right: 1em;
  }
  form.woocommerce-cart-form table.shop_table_responsive tbody tr td.product-thumbnail {
    display: none !important;
  }
  form.woocommerce-cart-form table.shop_table_responsive tbody tr td.product-name {
    flex-basis: unset !important;
    background-color: rgba(153, 153, 153, 0.1) !important;
    padding: 0.7em !important;
    font-weight: 600 !important;
    position: relative;
    font-size: 18px !important;
    line-height: unset !important;
  }
  form.woocommerce-cart-form table.shop_table_responsive tbody tr td.product-format {
    margin-top: 0.5em;
    padding: 1em !important;
    color: #000 !important;
    background-color: rgba(153, 153, 153, 0.1) !important;
    font-size: 18px;
    display: flex;
    justify-content: flex-end;
  }
  form.woocommerce-cart-form table.shop_table_responsive tbody tr td.product-quantity, form.woocommerce-cart-form table.shop_table_responsive tbody tr td.product-price {
    margin-top: 0.5em;
    position: relative !important;
    bottom: unset !important;
    min-width: unset !important;
    background-color: rgba(153, 153, 153, 0.1) !important;
    align-self: unset !important;
    margin-left: unset !important;
  }
  form.woocommerce-cart-form table.shop_table_responsive tbody tr td.product-quantity .quantity input.qty, form.woocommerce-cart-form table.shop_table_responsive tbody tr td.product-price .quantity input.qty {
    padding: 1em;
    font-size: 18px;
    margin: 0.5em;
  }
  form.woocommerce-cart-form table.shop_table_responsive tbody tr td.product-quantity .amount, form.woocommerce-cart-form table.shop_table_responsive tbody tr td.product-price .amount {
    padding: 1em;
    display: block;
    font-size: 18px;
    color: green;
  }
}

@media (max-width: 480px) {
  .cart_totals table.shop_table_responsive {
    display: block;
    width: 100%;
  }
}

/**
Footer
 */
@media (max-width: 768px) {
  footer {
    padding: 1em;
    position: relative;
  }
  footer .site-info {
    background: unset;
  }
}
@media (max-width: 480px) {
  footer {
    display: flex;
    flex-direction: column;
  }
  footer .site-info {
    position: unset;
  }
  footer .d-flex {
    flex-direction: column-reverse;
  }
}
footer button#show-footer {
  display: none;
}
@media (max-width: 768px) {
  footer .menu-footer-container #footer-links {
    flex-direction: column;
  }
  footer .menu-footer-container #footer-links > li {
    margin-bottom: 1em;
  }
  footer .menu-footer-container #footer-links > li > a {
    display: block;
    border-bottom: 1px solid rgba(255, 255, 255, 0.35);
  }
  footer .menu-footer-container #footer-links > li ul a {
    display: block;
    padding: 0.25em;
  }
}
