@media screen and (max-width: 768px) {
  :root {
    --promo_w: 250px;
    --ratio: 1.69;
  }

  .blockMsg {
    box-sizing: border-box;
    height: 100%;
    width: 100%;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    min-width: 100%;
    min-height: 100%;
    max-width: 100%;
    max-height: 100%;
  }


  /*Coming Soon*/
  #comingsoon{
    padding: 20px;
    background-position: 70%;
  }

  #comingsoon .left_panel{
    width: 100%;
  }

  #comingsoon .landing_wrapper{
  width: 100%;
  }
  /*Coming Soon*/

  #loginpaneleft {
    display: none;
  }

  #loginpaneright {
    width: 100%;
  }

  .promo_wrapper {
    display: block;
    flex-direction: column;
    min-width: 248px;
    max-width: 248px !important;
    max-height: 100%;
    padding-right: 20px;
  }

  .carousel {
    padding: 10px;
  }

  .promo_details {
    display: none;
  }

  /* Teaser Only*/
  .teaser .promo_details {
    display: flex;
  }

  .teaser .teaser-content {
    padding: 0;
  }

  .teaser .product_sku {
    border-radius: 0;
    border: 0;
    max-width: 100%;
    max-height: 100%;
  }

  .teaser .col_left {
    flex: 0 0 35%;
    max-width: 35%;
  }

  .teaser .col_right {
    flex: 0 0 65%;
    max-width: 65%;
  }

  .teaser .promo_title {
    padding-bottom: 5px;
    padding-top: 0px;
    font: 12pt / 13.5pt "Roboto";
  }

  .teaser .promo_description {
    padding-top: 5px;
  }

  /* Teaser Only*/

  .promo_container_vertical {
    flex: 1;
    /* KEY */
    display: flex;
    flex-direction: column;
    justify-content: center;
    /* optional */
  }

  .img1 {
    height: auto;
    width: 100%;
    max-width: 100%;
  }

  .promo_info_wrapper,
  .promo_info .product_info {
    padding-bottom: 0;
    padding: 0;
    bottom: 0;
  }

  .promo_info_wrapper {
    padding-bottom: 20px;
  }

  .promo_wrapper .product_info,
  .promo_wrapper .product_category {
    position: relative;
    bottom: 0;
    padding: 0;
    height: 34px;
  }

  #content_wrapper {
    overflow-y: auto;
    left: 65px;
    padding-right: 5px;
  }

  #col1 {
    width: 65px;
    min-width: 65px;
    max-width: 65px;
  }

  .category_wrapper {
    overflow-x: auto;
    min-height: 50px;
  }

  .v_icon_64,
  .h_icon_64 {
    width: 65px;
  }

  #header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 5px;
    padding-bottom: 25px;
    -webkit-mask-image: linear-gradient(
      to bottom,
      rgba(0, 0, 0, 1) 85%,
      rgba(0, 0, 0, 0) 100%
    );
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-image: linear-gradient(
      to bottom,
      rgba(0, 0, 0, 1) 85%,
      rgba(0, 0, 0, 0) 100%
    );
    gap: 0;
  }

  #content {
    padding: 10px;
    padding-top: 0;
  }

  .cards_container {
    flex-direction: column-reverse; /* 🔥 key */
  }
  .cards_container_inverted{
    flex-direction: column;
  }

  .cards_container .data_card, .cards_container_inverted .data_card{
    width: 100%;
  }

  .data_card,
  #stripe {
    padding: 10px;
  }
  .shopping_cart_sku_description {
    max-width: 100%;
  }
  .summarytable tr.padding td {
    padding: 5px;
    overflow: hidden;
    text-overflow: ellipsis;
    height: 40px;
  }



  .branding_logo {
        height: 80px;
        width: 100%;
        background-position: -57px 12px;
        background-size: 195px;
  }

  .top_branding,
  .top_tools {
    min-width: 50%;
    width: 50%;
    max-width: 50%;
    padding-bottom: 8px;
  }

  .location_detected {
    padding-top: 4px;
    background-position: 0px 4px;
    line-height: 19px;
    padding-bottom: 10px;
  }

  /* Top row left */
  .top_branding {
    order: 1;
  }

  /* Top row right */
  .top_tools {
    order: 2;
    margin-left: auto;
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    height: 35px;
  }
  .top_tools .h_icon_64 {
    height: 60px !important;
    margin-top: 22px;
  }

  /* Second row full width */
  .top_search {
    order: 3;
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
  }

  .search_wrapper {
    margin-left: 0;
  }

  .product_wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 320px));
    gap: 10px;
    justify-content: normal;
    box-sizing: border-box;

  }

  #player {
    width: 100%;
    max-height: 100%;
    display: block;
    padding: 0px;
    align-items: initial;
    min-height: auto;
  }

  #mediaplayer {
    display: block;
    width: 100%;
    aspect-ratio: auto;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    overflow: hidden;
  }

  #mediacontainer {
    width: auto;
    height: auto;
  }

  #mediaindex {
    width: 100%;
    display: block;
    margin: 0;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }

  .notification {
    padding: 20px;
    padding-left: 5px;
    padding-top: 10px;
  }


.course_progress {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }

.course_progress > div:not(.separator):nth-child(2n+1) {
    border-right: none;
}

.course_progress > div:not(.separator):nth-last-child(-n+4) {
    border-bottom-width: 1px;
    border-bottom-style: solid;
}

.course_progress > div:not(.separator):nth-last-child(-n+2) {
    border-bottom: none;
}

#footer_wrapper{    padding: 10px;}

.footer_20 {
        width: calc(50% - 2px);
        height: auto;
        padding-bottom: 0;
        height: auto; 
    }

.static_public{padding:20px;}

/* =========================================
Responsive Footer Adjustments (Mobile Phones)
Optimizes footer layout, spacing, and width
for screens 480px and smaller.
========================================= */
@media screen and (max-width: 480px) {
  #footer_wrapper{    padding: 10px;}
    .footer_20 {
        width: calc(100% - 2px);
        height: auto;
        padding-bottom: 0;
    }
}