/**
 * All of the CSS for your public-facing functionality should be
 * included in this file.
 */

.tpgw_add_gift_wrap_box{
    font-size: 15px;
    width: 100%;
    display: inline-block;
    padding: 0;
    margin: 15px 0;
    position: relative;
}
.tpgw_select_gift_wrap{
    display: none;
}

.gift_wrap_item{
    width: auto;
    float: left;
    padding: 0;
    margin: 0 5px;
}
.tpgw_add_gift_wrap{
    background: #29a6e5;
    color: #fff;
    display: inline-block;
    cursor: pointer;
    padding: 10px;
    margin: 15px 0 0 0;
}
.tpgw_add_gift_wrap:hover{
    opacity: 0.8;
}
.tpgw_display_affter_selected{
    display: none;
    width: 100%;
    padding: 0;
    margin: 15px 0;
}
.tpgw_add_gift_wrap_btn{
    text-decoration: underline;
    margin: 0 0 15px 0;
    cursor: pointer;
}
.tpgw_add_gift_wrap_note textarea{
    padding: 10px;
    min-height: 100px;
}
.gift_wrap_free{
    background: #e5ffc3;
    padding: 3px 10px;
}
.gift_wrap_item_price{
    text-align: center;
}

dd.variation-PersonalGreeting{
    white-space: nowrap; 
    width: 100px; 
    overflow: hidden;
    text-overflow: ellipsis;
}
.product-type-gift_wrap .related{
    width: 100%;
    display: inline-block;
    padding: 0;
    margin: 0;
}
.product-type-gift_wrap .product_meta{
    display: none;
}
.tpgw_wrap_note_single_product{
    width: 100%;
    display: inline-block;
    padding: 0;
    margin: 15px 0;
}
.tpgw_wrap_note_single_product label{
    width: 100%;
    display: inline-block;
    padding: 0;
    margin: 0 0 15px 0;
}
.tpgw_wrap_note_single_product textarea{
    width: 100%;
    padding: 10px;
    min-height: 100px;
}
.tpgw_add_gift_wrap_box_open .tpgw_select_gift_wrap,
.tpgw_add_gift_wrap_box_popup .tpgw_select_gift_wrap{
    display: block;
}

.tpgw_add_gift_wrap_box_popup .tpgw_select_gift_wrap{
    position: relative;
}

.tpgw_add_gift_wrap_box_popup .tpgw_select_gift_wrap{
    max-width: 760px;
    width: 100%;
    padding: 2rem;
    display: inline-block;
    overflow: hidden;
    margin: 0 auto;
    background: #fff;
}
.tpgw_select_gift_wrap h4{
    padding: 0;
    margin: 0 0 1rem 0;
}

/* ------------------------------------------------------------------------------ */
/* <label class="tpgwcontainer">One
  <input type="checkbox" checked="checked">
  <span class="tpgwcheckmark"></span>
</label> */
/* The container */
.tpgwcontainer {
    display: block;
    position: relative;
    padding-left: 35px;
    margin-bottom: 12px;
    cursor: pointer;
    font-size: 1em;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* Hide the browser's default checkbox */
.tpgwcontainer input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

/* Create a custom checkbox */
.tpgwcheckmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 25px;
    width: 25px;
    background-color: #eee;
}

/* On mouse-over, add a grey background color */
.tpgwcontainer:hover input ~ .tpgwcheckmark {
    background-color: #ccc;
}

/* When the checkbox is checked, add a blue background */
.tpgwcontainer input:checked ~ .tpgwcheckmark {
    background-color: #2196F3;
}

/* Create the checkmark/indicator (hidden when not checked) */
.tpgwcheckmark:after {
    content: "";
    position: absolute;
    display: none;
}

/* Show the checkmark when checked */
.tpgwcontainer input:checked ~ .tpgwcheckmark:after {
    display: block;
}

/* Style the checkmark/indicator */
.tpgwcontainer .tpgwcheckmark:after {
    left: 9px;
    top: 4px;
    width: 7px;
    height: 13px;
    border: solid white;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
/* ------------------------------------------------------------------------------ */

/* HIDE RADIO */
.gift_wrap_item [type=radio] { 
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

/* IMAGE STYLES */
.gift_wrap_item [type=radio] + img {
    cursor: pointer;
    width: 90px;
}

/* CHECKED STYLES */
.gift_wrap_item [type=radio]:checked + img {
    outline: 2px solid #525252;
    box-shadow: 0 0 10px #000;
}

/* ----------------------------------------------------------------------- */

/* <div class="ldstpgw-ripple-mask"><div class="ldstpgw-ripple"><div></div><div></div></div></div> */

.ldstpgw-ripple-mask{
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(255, 255, 255, 0.8);
    width: 100%;
    height: 100%;
    text-align: center;
}
.ldstpgw-ripple {
    display: inline-block;
    position: relative;
    width: 80px;
    height: 80px;
}
.ldstpgw-ripple div {
    position: absolute;
    border: 4px solid #cef;
    opacity: 1;
    border-radius: 50%;
    animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}
.ldstpgw-ripple div:nth-child(2) {
    animation-delay: -0.5s;
}
@keyframes lds-ripple {
    0% {
        top: 36px;
        left: 36px;
        width: 0;
        height: 0;
        opacity: 1;
    }
    100% {
        top: 0px;
        left: 0px;
        width: 72px;
        height: 72px;
        opacity: 0;
    }
}

/* ---------------------------------------- */

/* <div class="ldstpgw-ripple-mask"><div class="lds-heart"><div></div></div></div> */

.ldstpgw-heart {
    display: inline-block;
    position: relative;
    width: 80px;
    height: 80px;
    transform: rotate(45deg);
    transform-origin: 40px 40px;
}
.ldstpgw-heart div {
    top: 32px;
    left: 32px;
    position: absolute;
    width: 32px;
    height: 32px;
    background: #fcf;
    animation: lds-heart 1.2s infinite cubic-bezier(0.215, 0.61, 0.355, 1);
}
.ldstpgw-heart div:after,
.ldstpgw-heart div:before {
    content: " ";
    position: absolute;
    display: block;
    width: 32px;
    height: 32px;
    background: #fcf;
}
.ldstpgw-heart div:before {
    left: -24px;
    border-radius: 50% 0 0 50%;
}
.lds-heart div:after {
    top: -24px;
    border-radius: 50% 50% 0 0;
}
@keyframes lds-heart {
    0% {
        transform: scale(0.95);
    }
    5% {
        transform: scale(1.1);
    }
    39% {
        transform: scale(0.85);
    }
    45% {
        transform: scale(1);
    }
    60% {
        transform: scale(0.95);
    }
    100% {
        transform: scale(0.9);
    }
}

/* ----------------------------------------------------------------------- */

/* <div class="tpgw_tooltip">Hover Me to Preview
    <div class="tpgw_right">
        <h3>Lorem Ipsum</h3>
        <p>Dolor sit amet, consectetur adipiscing elit.</p>
        <i></i>
    </div>
</div> */

.tpgw_tooltip {
    display:inline-block;
    position:relative;
    /* border-bottom:1px dotted #666; */
    text-decoration: underline;
    text-align:left;
}

.tpgw_tooltip .tpgw_right {
    min-width:300px; 
    top:50%;
    left:100%;
    margin-left:20px;
    transform:translate(0, -50%);
    padding:10px 20px;
    color:#444444;
    background-color:#EEEEEE;
    font-weight:normal;
    font-size:13px;
    border-radius:8px;
    position:absolute;
    z-index:99999999;
    box-sizing:border-box;
    box-shadow:0 1px 8px rgba(0,0,0,0.5);
    visibility:hidden; opacity:0; transition:opacity 0.8s;
}

.tpgw_tooltip:hover .tpgw_right {
    visibility:visible; opacity:1;
}

.tpgw_tooltip .tpgw_right i {
    position:absolute;
    top:50%;
    right:100%;
    margin-top:-12px;
    width:12px;
    height:24px;
    overflow:hidden;
}

.tpgw_tooltip .tpgw_right i::after {
    content:'';
    position:absolute;
    width:12px;
    height:12px;
    left:0;
    top:50%;
    transform:translate(50%,-50%) rotate(-45deg);
    background-color:#EEEEEE;
    box-shadow:0 1px 8px rgba(0,0,0,0.5);
}


.tpgw_tooltip .tpgw_top {
    min-width:300px; 
    top:-20px;
    left:50%;
    transform:translate(-50%, -100%);
    padding:10px 20px;
    color:#444444;
    background-color:#EEEEEE;
    font-weight:normal;
    font-size:13px;
    border-radius:8px;
    position:absolute;
    z-index:99999999;
    box-sizing:border-box;
    box-shadow:0 1px 8px rgba(0,0,0,0.5);
    visibility:hidden; opacity:0; transition:opacity 0.8s;
}

.tpgw_tooltip:hover .tpgw_top {
    visibility:visible; opacity:1;
}

.tpgw_tooltip .tpgw_top i {
    position:absolute;
    top:100%;
    left:50%;
    margin-left:-12px;
    width:24px;
    height:12px;
    overflow:hidden;
}

.tpgw_tooltip .tpgw_top i::after {
    content:'';
    position:absolute;
    width:12px;
    height:12px;
    left:50%;
    transform:translate(-50%,-50%) rotate(45deg);
    background-color:#EEEEEE;
    box-shadow:0 1px 8px rgba(0,0,0,0.5);
}

.tpgw_tooltip .tpgw_bottom {
    min-width:300px; 
    top:40px;
    left:50%;
    transform:translate(-50%, 0);
    padding:10px 20px;
    color:#444444;
    background-color:#EEEEEE;
    font-weight:normal;
    font-size:13px;
    border-radius:8px;
    position:absolute;
    z-index:99999999;
    box-sizing:border-box;
    box-shadow:0 1px 8px rgba(0,0,0,0.5);
    visibility:hidden; opacity:0; transition:opacity 0.8s;
}

.tpgw_tooltip:hover .tpgw_bottom {
    visibility:visible; opacity:1;
}

.tpgw_tooltip .tpgw_bottom i {
    position:absolute;
    bottom:100%;
    left:50%;
    margin-left:-12px;
    width:24px;
    height:12px;
    overflow:hidden;
}

.tpgw_tooltip .tpgw_bottom i::after {
    content:'';
    position:absolute;
    width:12px;
    height:12px;
    left:50%;
    transform:translate(-50%,50%) rotate(45deg);
    background-color:#EEEEEE;
    box-shadow:0 1px 8px rgba(0,0,0,0.5);
}

.tpgw_tooltip .tpgw_left {
    min-width:300px; 
    top:50%;
    right:100%;
    margin-right:20px;
    transform:translate(0, -50%);
    padding:10px 20px;
    color:#444444;
    background-color:#EEEEEE;
    font-weight:normal;
    font-size:13px;
    border-radius:8px;
    position:absolute;
    z-index:99999999;
    box-sizing:border-box;
    box-shadow:0 1px 8px rgba(0,0,0,0.5);
    visibility:hidden; opacity:0; transition:opacity 0.8s;
}

.tpgw_tooltip:hover .tpgw_left {
    visibility:visible; opacity:1;
}

.tpgw_tooltip .tpgw_left i {
    position:absolute;
    top:50%;
    left:100%;
    margin-top:-12px;
    width:12px;
    height:24px;
    overflow:hidden;
}

.tpgw_tooltip .tpgw_left i::after {
    content:'';
    position:absolute;
    width:12px;
    height:12px;
    left:0;
    top:50%;
    transform:translate(-50%,-50%) rotate(-45deg);
    background-color:#EEEEEE;
    box-shadow:0 1px 8px rgba(0,0,0,0.5);
}
/* ----------------------------------------------------------------------- */