.primary_block {
    @media screen and (min-width: 768px) {
        grid-template-columns: 1fr 1fr;
    }

    @media screen and (min-width: 1200px) {
        grid-template-columns: 518px auto;
        gap: 90px !important;
    }
}

.first-section {
    border-radius: 10px;
    grid-template-areas:
        "name"
        "prices"
        "small_details"
    ;

    @media screen and (min-width: 1200px) {
        grid-template-areas:
            "name prices"
            "small_details prices"
        ;
    }

    .name {
        grid-area: name;
        font-size: 24px;
        text-transform: none;
    }

    .small-details {
        grid-area: small_details;
        font-size: 16px;
    }

    .content_prices {
        grid-area: prices;
        font-size: 20px;

        .our_price_display {
            font-size: 20px;
        }
    }

    @media screen and (max-width: 768px) {
        grid-template-columns: 100%;
        position: relative;
        .name {
            font-size: 18px;
        }
        .content_prices {
            .our_price_display {
                font-size: 14px;
            }
        }
        
        span#see_all_price {
            position: absolute;
            right: 15px;
            bottom: 20px;
        }
    }
}

.box-info-product {
    position: relative;
    border-radius: 10px;
    border: 6px solid transparent;
    background-image:
        linear-gradient(white, white),
        linear-gradient(266.63deg, #FFE5C0 -2.69%, #CE9647 40.51%, #FFE3BC 74.51%, #CE9647 96.14%);
    background-origin: border-box;
    background-clip: content-box, border-box;
    box-shadow: 0px 4px 20.1px 0px #00000057;
    font-weight: 600;
    margin-top: 20px;
    padding: 0 !important;

    .product_attributes {
        padding: 1rem;
    }

    label {
        cursor: pointer;
        font-weight: 600;
    }

    span.checkbox {
        display: inline-block;
        background-color: #FCF9F2;
        border: 1px solid #DED3B8;
        width: 19px;
        height: 19px;
        border-radius: 6px;
    }

    #hero-gender label:has(:checked) {
        span.checkbox {
            background: url(https://magipa.dk/themes/shoptech/img/check.svg) no-repeat;
            background-size: contain;
            background-position: center;
        }
    }

    #mobile_hero-gender label:has(:checked) {
        span.checkbox {
            background-color: var(--foreground-color);
        }
    }

    #add_to_cart, #mobile_add_to_cart {
        button {
            background-color: #6B4872;
            border: none;
            box-shadow: 0px 4px 6px 0px #5e5e5e;
            border-radius: 10px;
            gap: 0 !important;
        }
    }

    #add_to_cart_transform, #mobile_add_to_cart_transform {
        margin-top: 20px;

        button {
            background-color: #6B4872;
            border: 1px solid #2B0D2E;
            box-shadow: 0px 4px 4px 0px #00000040;
            border-radius: 10px;
            padding: 10px 25px !important;
            transition: .2s;

            span {
                font-size: 16px;
            }
        }
        .disabled {
            background-color: #a1a1a1;
            border: 1px solid #a1a1a1;
        }
    }
}

.product_attributes #main_prod_window {
    display: flex;
    flex-wrap: wrap;
    column-gap: 30px;
    justify-content: center;
    /* flex-direction: column !important; */

    strong {
        width: 100%;
        text-align: center;
        margin-bottom: 35px !important;
        margin-top: 20px;
    }

    label,
    #hero-gender {
        flex-direction: column !important;
        /* display: grid !important;
        grid-template-columns: 30% 70% !important; */
        width: calc((100% / 3) - 20px);
        gap: 0;
        margin: 0 !important;
    }

    #hero-gender>div {
        max-height: 20px;

    }

    label {
        span {
            font-size: 15px;
        }
    }

    #hero-gender>div>label {
        flex-direction: row !important;
        width: 100%;
    }

    .box-cart-bottom {
        width: 100%;
    }

    @media screen and (max-width: 1313px) and (min-width: 769px) {
        strong {
            margin-bottom: 0px !important;
        }
        label,
        #hero-gender {
            width: 100%;
            margin-top: 15px !important;
        }
        .box-cart-bottom > .add_to_cart_container {
            flex-direction: column;
        }
        .gdpr_policy {
            width: 100%;
        }
        #hero-gender>div>label {
            width: auto !important;
        }
    }

    @media screen and (max-width: 600px) {

        label,
        #hero-gender {
            width: 100%;
        }
    }
}

div#upload_photo_check_security, div#mobile_upload_photo_check_security {
    /* position: fixed; */
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    background: #fff;
    display: flex;
    /* justify-content: center; */
    align-items: center;
    flex-direction: column;

    .img_guide {
        width: 400px;
        max-width: 100%;
        max-height: 400px;
        object-fit: scale-down;
    }

    #start_steps, #mobile_start_steps {
        border: none;
        background: #000;
        padding: 15px 20px;
        width: auto;
        border-radius: 10px;
        font-size: 18px;
        color: #fff;
        display: block;
        text-align: center;
        text-decoration: none;
        margin: 15px 0;
    }

    #upload_photo_check_security_closer, #mobile_upload_photo_check_security_closer {
        border-radius: 10px;
        color: #000;
        padding: 0px 0 !important;
        font-size: 14px !important;
        text-align: left !important;
        align-items: end;
        cursor: pointer;
        display: grid;
        grid-template-columns: 50% 50%;
    }

    div#steps, #mobile_steps {
        width: 700px;
        text-align: center;

        div {
            display: grid;
            grid-template-columns: 50% 50%;
            margin: 5px 0;
            align-items: center;

            span {
                font-size: 13px;
                display: block;
                margin-top: 0;
                text-align: left;
                padding: 0;
            }

            select {
                height: 27px;
                border-radius: 10px !important;
                border-color: var(--light-yellow) !important;
                color: var(--foreground-color);
            }

            label {
                cursor: pointer;
                padding: 10px;
                border: 1px solid;

                .radio {
                    position: absolute !important;
                }

                span {
                    opacity: 0;
                }
            }

            label.selected {
                background: #2b875c;
                color: #fff;
            }
        }

        div#additional_info, #mobile_additional_info {
            display: flex !important;
            height: 199px;
            flex-direction: column;
            align-items: normal;
            justify-content: center;
        }

        div.add_to_cart_container {
            display: flex;
            justify-content: center;
            align-items: center;
            margin: 15px 0;

            div {
                justify-content: center;
                align-items: center;
                gap: 20px;
            }

            span {
                margin-top: 0;
                font-size: 18px;
                padding: 10px;
            }

            span#upload_photo_check_security_closer, #mobile_upload_photo_check_security_closer {
                width: 100px;
                text-align: center !important;
                padding: 14px !important;
                border-radius: 10px;
            }
        }
    }
}

div#upload_photo_check_security.has_img_target, #mobile_upload_photo_check_security.has_img_target {
    display: grid !important;
    grid-template-columns: calc(30% - 10px) calc(70% - 10px);
    align-items: start;
    text-align: center;
    gap: 20px;

    >div:nth-child(1),
    >div:nth-child(2) {
        display: flex;
        flex-direction: column;
        height: 220px;
        justify-content: space-between;
    }

    img.img_guide {
        height: 199px;
        object-fit: scale-down;
        max-width: 100%;
    }

    div#steps, #mobile_steps {
        grid-column: 2;
        grid-row: 1;
        max-width: 100%;
        width: auto;
    }

    a#next_steps, #mobile_next_steps {
        display: none !important;
    }

    div#transform_btn, #mobile_transform_btn {
        grid-column: 1 / span 2;

        div#add_to_cart span, #mobile_add_to_cart span {
            font-size: 16px;
            padding: 10px !important;
            text-transform: uppercase;
        }
    }

    a#start_steps, #mobile_start_steps {
        background: transparent;
        color: #000;
        font-size: 14px;
        padding: 0;
        margin: 0;
        text-align: left;
    }

    @media screen and (max-width: 600px) {
        grid-template-columns: 100%;

        >div:nth-child(1),
        >div:nth-child(2) {
            height: auto;
        }

        div#steps, #mobile_steps {
            grid-column: 1;
            grid-row: 2;
        }

        #upload_photo_check_security_closer, #mobile_upload_photo_check_security_closer {
            grid-template-columns: 100%;
        }

        div#additional_info, #mobile_additional_info {
            height: auto !important;
        }

        div#transform_btn, #mobile_transform_btn {
            grid-column: 1 !important;
        }
    }
}


a#next_steps.show, #mobile_a#next_steps.show {
    display: block !important;
    background-color: #6B4872;
    border: 1px solid #2B0D2E;
    box-shadow: 0px 4px 4px 0px #00000040;
    border-radius: 10px;
    color: #fff;
    text-decoration: none;
    width: 100%;
    padding: 15px;
    text-align: center;
    font-size: 20px;
}

a#start_steps.hasExistingImg, #mobile_a#start_steps.hasExistingImg {
    background: transparent !important;
    color: #000 !important;
    padding: 0 !important;
    font-size: 16px !important;
}

#product #page #attributes fieldset label {
    width: 200px;
    text-align: left;
    font-size: 14px !important;
    font-weight: 600 !important;
}

#attributes .attribute_list ul {
    text-align: left;
    padding: 0;
}

#attributes .attribute_list ul li {
    margin-left: 10px !important;
}

div#product_options, div#mobile_product_options {
    display: none;
    margin: 20px 0;
}

div#add_to_cart_checkout, #mobile_add_to_cart_checkout {
    display: none !important;
}

div#add_to_cart_checkout.gocheckout, div#mobile_add_to_cart_checkout.gocheckout {
    display: block !important;
}

div#product_options.gocheckout, #mobile_product_options.gocheckout {
    display: block !important;
}

#add_to_cart.gocheckout, #mobile_add_to_cart.gocheckout,
div#upload_photo_check_security.has_img_target>div.gocheckout, #mobile_upload_photo_check_security.has_img_target>div.gocheckout,
#steps.gocheckout, #mobile_steps.gocheckout {
    display: none !important;
}

div#add_to_cart_checkout.gocheckout>button, #mobile_add_to_cart_checkout.gocheckout>button {
    width: 100%;
    border: none;
    background: #2b0d2e;
    padding: 15px 10px !important;
    font-size: 20px;
    border-radius: 15px;
}
div#add_to_cart_checkout.gocheckout>button.disabled,
div#mobile_add_to_cart_checkout.gocheckout>button.disabled {
    background: #5c445e;
}
div#product_options {
    margin: -10px 0 20px;
}
div#type_choices ul, #mobile_type_choices ul {
    display: flex;
    gap: 10px;
    margin: 0px 0 10px;
    padding: 0;
}

div#type_choices ul li, #mobile_type_choices ul li {
    padding: 10px;
    border: none;
    width: calc(100% / 5);
    font-size: 16px;
    background: #FFFDF9;
    box-shadow: 0px 4px 4px 0px #00000026;
    border-radius: 10px;
    transition: .2s;
    text-align: center;
    border: 1px solid #dedede;
}
div#type_choices ul li {
    font-size: 14px;
    text-align: left;
}
div#type_choices ul li label {
    display: grid;
    grid-template-columns: auto auto;
    align-items: center;
    justify-content: space-between;
}
div#type_choices ul li label span.price {
    grid-row: 2;
    grid-column: 1;
}
div#type_choices ul li label img {
    height: 35px;
    width: max-content;
    grid-row: 1 / span 2;
}

div#product_options.gocheckout div#type_choices ul li.has-checked, #mobile_product_options.gocheckout div#mobile_type_choices ul li.has-checked {
    box-shadow: 0px 1px 2px #ababab;
}
div#product_options.gocheckout div#type_choices ul li.has-checked {
    border-color: #2b0d2e;
    position: relative;
}
div#product_options.gocheckout div#type_choices ul li.has-checked:after {
    content: "";
    background: url(https://magipa.dk/themes/shoptech/img/check.svg) no-repeat;
    background-size: 18px;
    display: block;
    width: 18px;
    height: 18px;
    position: absolute;
    right: 3px;
    bottom: 0px;
}

div#type_choices ul li div.checker, #mobile_type_choices ul li div.checker {
    display: none;
}

div#long_desc {
    margin: 20px 0px 10px;
    display: flex;
    gap: 40px;
   background: rgb(255 252 244)!important;
}
div#long_desc > div {
    width: 100%;
}
.pb-center-column #short_description_block {
    margin: 50px 0 !important;
}
.pb-center-column #short_description_block #short_description_content {
    padding: 30px;
    word-wrap: break-word;
}
#product .pb-center-column #short_description_block #short_description_content p {
    font-size: 18px;
    line-height: 25px;
}
#short_description_block_mobile {
    display: none;
    margin: 30px 0 !important;
}
@media screen and (max-width: 1023px) {
    #long_desc {
        flex-direction: column;
    }
    .pb-center-column #short_description_block {
        display: none;
    }
    #short_description_block_mobile {
        display: block;
    }
}
div#progress_bar, #mobile_progress_bar {
    position: absolute;
    z-index: 999999999;
    height: auto;
    top: 0;
    width: 100%;
    left: 0;
    right: 0;
    bottom: 0;
    text-align: center;
    /* background: #ffffffad; */
    background: #ffffff;
    background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 38%, rgba(255, 255, 255, 0) 100%);
}

/* book animation generation progress bar */
/* based on https://codepen.io/aaroniker/pen/zYOewEP */
.book-loader-container {
  --color: #CE9647 ;
  --line-width: 0.5ch;
  --_border-width: calc(var(--line-width) / 2);
  --duration: 2s;
  --spine-length: 5ch;
  --spine-height: calc(var(--spine-length) * 0.5);
  --page-length: 7ch;
  --cover-length: calc(var(--page-length) + 0ch);
  --page-offset-y: 0.4ch;
  --page-offset-x: 0.5ch;
  --page-anim-offset: calc(2s / 4);
  --_width: calc(
    2 * var(--cover-length) + var(--spine-length) + 2 * var(--line-width)
  );
  --_wrapper-width: calc(
    var(--cover-length) + var(--line-width) + var(--spine-length) / 2
  );
  --_height: calc(
    var(--_wrapper-width) + var(--spine-height) + var(--page-offset-y)
  );
  /*   --border-radius: 15px; */

  position: relative;
  width: var(--_width);
  height: var(--_height);

  & .spine {
    border: var(--line-width) var(--color) solid;
    border-radius: 0 0 9px 9px;
    border-top: none;
    position: absolute;
    width: var(--spine-length);
    height: var(--spine-height);
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;

    &::after,
    &::before {
      --border-radius: 15px;
      content: "";
      position: absolute;
      border: solid var(--_border-width) var(--color);
      border-radius: 15px;
      width: calc(var(--cover-length) + var(--line-width));
      top: 0;
    }

    /* right cover */
    &::after {
      border-radius: 0 var(--border-radius) var(--border-radius) 0;
      left: 0;
      transform: translatex(calc(var(--spine-length) - var(--line-width)));
    }

    /* left cover */
    &::before {
      border-radius: var(--border-radius) 0 0 var(--border-radius);
      right: 0;
      transform: translatex(calc(-1 * var(--spine-length) + var(--line-width)));
    }
  }
  & .page {
    width: var(--_wrapper-width);
    position: absolute;
    right: 0;
    bottom: calc(var(--spine-height) + var(--page-offset-y));
    transform-origin: left center;
    rotate: 0deg;

    &:not(.static) {
      animation: rotation var(--duration) linear infinite;
      animation-delay: calc((var(--page-num) - 1) * var(--page-anim-offset));
    }

    &.left {
      left: 0;
    }

    &.right {
      right: 0;
    }

    &::after {
      content: "";
      display: block;
      --_radius: calc(var(--page-length) + var(--line-length));

      border: solid var(--_border-width) var(--color);
      border-radius: 15px;
      width: var(--page-length);
    }
    &.left::after {
      transform: translatex(
        calc(
          1 * (var(--_wrapper-width) - var(--page-length)) -
            (var(--spine-length) / 2) + var(--line-width) - var(--page-offset-x)
        )
      );
    }

    &:not(.left):after {
      transform: translatex(
        calc(
          (var(--spine-length) / 2 - var(--line-width)) + var(--page-offset-x)
        )
      );
    }
  }
}

.wrapper {
    min-width: 10ch;
    min-height: 10ch;
    margin: 5em;
    display: flex;
    text-align: center;
    justify-content: space-around;
    flex-direction: column;
    align-items: center;
    gap: 35px;
}
@keyframes rotation {
  to {
    rotate: -180deg;
  }
}

/* book animation generation progress bar end */

.pb-left-column #image-block img.generated {
  animation: flipAndScale 1s ease forwards;
}

@keyframes flipAndScale {
  0% {
    transform: scale(1.2) rotateY(0deg);
  }
  50% {
    transform: scale(1.2) rotateY(180deg);
  }
  100% {
    transform: scale(1) rotateY(360deg);
  }
}

/* book cover pre-loader animation start */

.loader {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 999;
}
.loader > div {
    height: 150px;
    display: block;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: calc(50% - 75px);
    width: 100%;
}
.book-wrapper {
left: calc(50% - 50px);
  position:relative;
  margin:0 auto;
  width:20%;
  .book-inner{
    fill: #fff;
  }
  .book-border{
    fill: #2b0d2e;
  }
}

.page-wrapper {
  position:absolute;
  width:20%;
  animation:flip 1.5s infinite linear;
  animation-fill-mode:forwards;
  .page-inner {
    fill: #f4f4f4;
    animation:fill 1.5s infinite linear;
    animation-fill-mode:forwards;
  }
  .page-border {
    fill: #2b0d2e;
  }
}


@keyframes flip {
  0%{
        left: calc(50% - 50px);
      transform: perspective( 600px )
      rotateY( -0deg );
  }
  
  30%{
      transform: perspective( 200px )
      rotateY( -90deg );
  }
  
  54.999%{
    opacity:1;
  }
  55%{
    opacity:0;
  }
  
  60%{
    left: calc(50% - 50px);
    transform: perspective( 200px )
    rotateY( -180deg );
  }
  
  100%{
    left: calc(50% - 50px);
    transform: perspective( 200px )
    rotateY( -180deg );
  }
}

@keyframes fill {
  20%{
    fill:#f4f4f4;
  }
  
  29.9%{
      fill:#d8d8d8;
  }

  
  60%{
    fill:#fff;
  }
  
  100%{
    fill:#fff;
  }
}

/* book cover pre-loader animation end */
div#long_desc {
    margin: 0px 0px 10px;
    display: flex;
    gap: 40px;
    background: #f7f3e9;
    padding: 20px;
    box-shadow: 0px 8px 30px 0px #0000002e;
}
img.product_seperator {
    margin: 50px auto;
    display: block;
}
.product-image-overlay {
    
}
span#see_all_price {
    display: block;
    font-family: Nunito Sans;
    font-weight: 400;
    font-size: 12px;
    line-height: 100%;
    text-align: right;
    color: #F6F1E6;
    margin-top: 5px;
    cursor: pointer;
}
div#usp_list {
    display: flex;
    justify-content: space-between;
    font-family: Nunito Sans;
    font-weight: 400;
    font-size: 12px;
    line-height: 100%;
    margin: 10px 0 0;
}
div#usp_list > span {
    display: flex;
    align-items: center;
}


/* mobile version of add to cart start */
#mobile_buy_block {
    position: relative;
    z-index: 1001;
    border-radius: 10px 10px 0 0;
    border: 6px solid transparent;
    background-image: linear-gradient(white, white), linear-gradient(266.63deg, #FFE5C0 -2.69%, #CE9647 40.51%, #FFE3BC 74.51%, #CE9647 96.14%);
    background-origin: border-box;
    background-clip: content-box, border-box;
    box-shadow: 0px 4px 20.1px 0px #00000057;
    text-align: center;
}
#mobile_box_start > img {
    position: absolute;
    left: 5px;
    top: 16px;
    z-index: 999;
    transition: .2s;
}
#mobile_box_start.expanded > img {
    transform: rotateZ(180deg);
}
#mobile_box_start > strong {
    font-size: 16px;
    padding: 5px 5px 5px 30px;
}
div#mobile_box_start.has_combinations strong {
    background: #16431C;
    color: #fff;
    max-width: 60%;
    margin: 7px auto;
    padding: 10px;
    border-radius: 10px;
}
div#mobile_box_start.has_combinations.expanded strong {
    content: "Coose your book types";
    background: transparent;
    font-size: 15px !important;
    padding: 5px !important;
    color: #000;
}
div#mobile_usp_list {
    font-size: 10px;
    display: flex;
    justify-content: space-between;
    padding: 0px;
}
div#mobile_usp_list img {
    width: 16px;
}
#mobile_buy_block {
    display: none;
    position: fixed;
    bottom: 0;
    width: 100%;
    left: 0;
}
#mobile_buy_block > .box-info-product {
    display: none;
}
#mobile_buy_block > .box-info-product.expanded {
    display: block;
    border: none;
    height: auto;
    padding: 0px 0 0px !important;
    background: no-repeat;
    box-shadow: none;
    max-height: 80vh !important;
    margin-top: 0px;
}
#mobile_buy_block > .box-info-product.expanded .product_attributes {
    padding: 5px;
}
div#mobile_our_price_display_window {
    font-size: 20px;
    font-weight: 600;
}
#mobile_type_choices ul {
    flex-direction: column;
    gap: 9px;
}
#mobile_type_choices ul li {
    width: 75%;
    background: #FCF9F2;
    border: 1px solid #DED3B8;
    box-shadow: none;
    display: block;
    margin-left: 10px;
    position: relative;
    padding: 0;
}
#mobile_type_choices ul li label {
    padding: 15px 0px;
    width: 100%;
    position: relative;

    img {
        position: absolute;
        right: 2px;
        top: 0;
        bottom: 0;
        margin: auto;
    }
}
#mobile_type_choices ul li > img:last-child {
    max-width: 55px;
    position: absolute;
    right: -22vw;
    top: -5px;
}
#mobile_type_choices ul li input {
    display: none;
}
#mobile_product_options.display_none {
    display: none !important;
}
#mobile_upload_photo_check_security.has_img_target img.img_guide {
    margin: 0 auto;
}
@media screen and (max-width: 768px){
    #cube_page, #cube_page>figure {
        transform:none !important;
    }
    div#product_options {
        display: flex;
    }
    #buy_block {
        display: none;
    }
    #mobile_buy_block {
        display: block;
    }
}
.box-cart-bottom > .add_to_cart_container {
    display: flex
;
    justify-content: space-between;
    flex-direction: column;
}
.gdpr_policy {
    display: flex;
    align-items: center;
    justify-content: start;
    margin: 15px 0 2px;
    gap: 15px;
    width: 100%;
    text-align: left;
}
.gdpr_policy label, .gdpr_policy label a {
    width: 100% !important;
    font-size: 14px;
    font-weight: 600 !important;
    line-height: 1;
    word-wrap: break-word;
    color: #494949;
}
.gdpr_policy .checker {
    margin: 0 !important;
}
.gdpr_policy .checker span {
    width: 20px;
    height: 20px;
    border-color: #2b0d2e !important;
}
#mobile_add_to_cart_transform {
    margin-top: 15px !important;
    margin-bottom: 10px;
}
div#see_all_price_window {
    position: fixed;
    top: 0;
    z-index: 999999;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;background: #00000082;
}
div#see_all_price_window div#mobile_product_options {
    display: block;
    flex: 0 0 95%;
    background: #fcf9f2;
    max-width: 400px;
    border-radius: 10px;
    padding: 10px 10px;
    box-shadow: 0px 4px 10px #00000057;
    position: relative;
}
span#close_see_all_price_window {
    position: absolute;
    top: -15px;
    right: -15px;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #2b0d2e;
    color: #fff;
    border-radius: 100%;
}
div#see_all_price_window div#mobile_product_options li img {
    right: -30%;
}
div#see_all_price_window div#mobile_product_options li img.checked {
    display: none;
}
.pb-left-column #image-block img {
    width: 100%;
}

.language-dropdown > img {
    height: 18px;
}

.language-switcher img {
    max-width: unset;
}

div#image-block span#cover_title {
    opacity: 1;
}
div#discount_flag {
    position: absolute;
    top: 18px;
    left: 25px;
    background: url(https://magipa.dk/themes/shoptech/img/magipa-ribbon.png) no-repeat;
    background-size: contain;
    width: 150px;
    height: 150px;
    z-index: 9;
    display: flex;
    justify-content: center;
    align-items: center;
}
div#discount_flag span {
    transform: rotateZ(-45deg);
    position: relative;
    top: -10px;
    color: #fff;
    left: -10px;
}
.product_attributes #main_prod_window label#hero-age-label {
    width: max-content;
}
label#mobile_hero-age-label {
    flex-direction: row !important;
    align-items: center;
}
label#mobile_hero-age-label span {
    width: 100%;
    text-align: left;
}
select#hero-age,
select#mobile_hero-age {
    background-position: right 8px center;
}
div#mobile_hero-gender > span {
    width: 47%;
    text-align: left;
}

.confirm-reset-book {
    font-size: 120%;
}

/* add shrink expand animation to add to cart (choose book type button) after preview generation */
div#mobile_box_start.has_combinations strong {
    animation: pulseAnim 1s infinite ease-in-out;
}
div#mobile_box_start.has_combinations.expanded strong {
    animation: none; 
}
div#mobile_box_start.has_combinations > img {
    animation: bounceAnim 1s infinite ease-in-out;
}
#mobile_box_start.has_combinations.expanded > img {
    animation: none; 
}
@keyframes bounceAnim {
    0%   { transform: translateY(0); }
    50%  { transform: translateY(10px); }
    100% { transform: translateY(0); }
}

@keyframes pulseAnim {
    0%   { transform: scale(1); }
    50%  { transform: scale(1.15); }
    100% { transform: scale(1); }
}