/* Global CSS - this would be included in all templates/theme  */

.required > label:after {
	content:" *";
	color:red;
	font-size:18px;
	
}

@media print {
    #printbtn {
        display :  none;
    }
}

/* ----------------------- */
/* quotation survey styles */
.quotation-subtitle {
    background-color: #008348;
    color: #fff;
}
.quotation-line-item {
    width: 60%;
    text-align: left;
}
.quotation-sub-total {
    background-color: #eeeeee;
    font-weight: 700;
    text-align: right;
}
.quotation-total {
    background-color: #eeeeee;
    font-size: 1.1em;
    font-weight: 700;
    text-align: right;
}
/* ----------------------- */

/* ----------------------- */
/* online order survey styles */
.order-subtitle {
    background-color: #008348;
    color: #fff;
}
.order-line-item {
    width: 60%;
    text-align: left;
}

.order-line-subitem {
    width: 60%;
    text-align: left;
    font-size: 0.9em;
}

.order-line-subitem-request {
    text-align: left;
    font-size: 0.9em;
}

.order-line-subitem-qty {
    width: 10%;
    text-align: center;
	vertical-align: middle !important;
    font-size: 1em;
}
.order-discount {
    font-size: 1.0em;
    font-weight: 600;
	text-align: right;
	color: #f00;
}
.order-fee {
    background-color: #f5f5f5;
    font-size: 1.0em;
    font-weight: 500;
	text-align: right;
}
.order-sub-total {
    background-color: #f5f5f5;
    font-size: 1.1em;
    font-weight: 600;
	text-align: right;
}
.order-tax-total {
    background-color: #f5f5f5;
    font-size: 1.1em;
    font-weight: 500;
	text-align: right;
}
.order-total {
    background-color: #f1f1f1;
    font-size: 1.1em;
    font-weight: 700;
	text-align: right;
}
.order-survey-cta-box {
    margin: 10px 0;
}
.order-survey-cta-box > a {
    padding: 15px 30px;
    color: #fff;
    text-decoration: none;
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    background-color: #de8330;
    transition: all .5s ease 0s;
}
.order-survey-cta-box > a:hover {
    background-color: #de8430c9;
}

.order-delivery-instructions {
    padding: 15px 10px!important;
    background-color: #fafafa;
    font-size: 1.0em;
    font-weight: 500;
	text-align: center;
    border: none!important;
}
.tip-selection-div {
    margin: 10px 0 30px; 
    text-align: center;
}

.tip-selection-div .btn-tip-pct-amt,
.tip-selection-div .btn-tip-pct-none {
    margin-left: 2.5%;
    border-radius: 7px;
    border: none;
    padding: 0;
    color: #D0021B;
    font-style: italic;
    font-weight: 700;
    transition: all .5s ease 0s;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 3px 10px 0 rgba(0, 0, 0, 0.19);
}

.tip-selection-div .btn-tip-pct-amt,
.tip-selection-div .btn-tip-pct-none,
.tip-selection-div .tip-text {
    font-size: 16px;
}

.tip-selection-div .btn-tip-pct-amt:focus,
.tip-selection-div .btn-tip-pct-none:focus {
    background-color: #D0021B;
    box-shadow: none;
    outline: none;
    color: #fff;
}

.tip-selection-div .btn-tip-pct-amt:hover,
.tip-selection-div .btn-tip-pct-none:hover,
.tip-selection-div .btn-tip-split:hover {
    transform: scale(1.035);
}

.tip-selection-div .tip-options { 
    padding: 13px;
    border-radius: 7px;
}

.tip-selection-div .top-option-selected {
    background-color: #D0021B;
    color: #fff;
}

/* ----- */

.tip-selection-div .btn-tip-split {
    margin-left: 2.5%;
    border-radius: 7px;
    border: none;
    padding: 0;
    color: #6b7edc;
    font-style: italic;
    font-weight: 700;
    transition: all .5s ease 0s;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 3px 10px 0 rgba(0, 0, 0, 0.19);
}

.tip-selection-div .btn-tip-split:focus {
    background-color: #6b7edc;
    box-shadow: none;
    outline: none;
    color: #fff;
}

.tip-selection-div .top-split-option-selected {
    background-color: #6b7edc;
    color: #fff;
}
/*
.tip-selection-div .btn-tip-pct-amt,
.tip-selection-div .btn-tip-pct-none,
.tip-selection-div .tip-text {
    font-size: 16px;
}

.tip-selection-div .btn-tip-pct-amt:focus,
.tip-selection-div .btn-tip-pct-none:focus {
    background-color: #D0021B;
    box-shadow: none;
    outline: none;
    color: #fff;
}

.tip-selection-div .btn-tip-pct-amt:hover,
.tip-selection-div .btn-tip-pct-none:hover {
    transform: scale(1.035);
}

.tip-selection-div .tip-options { 
    padding: 13px;
    border-radius: 7px;
}

.tip-selection-div .top-option-selected {
    background-color: #D0021B;
    color: #fff;
}
*/

/* ------------------------ */
/* Payment Floating Buttons */
/*
.order-payment-content #btnPayPal {
    bottom: 1%;
}
.order-payment-content #btnCreditCard {
    bottom: 7%;
}
.order-payment-content #btnPayIn {
    bottom: 15%; 
}
*/
.order-payment-content .btnCardGroup {
    position: fixed;
/*    display: block !important;*/
    right: 1%;
    z-index: 1030;
}

.btnCardGroup  {
    transition: all 0.5s;
    border-radius: 7px;
    margin-left: 20px !important;
}

.order-payment-content .btnCardGroup  img {
    width: 200px;
    max-width: 100%;
}

#imgPayInLoading {
 	position: relative;
    width: 16px;
	right: 85px;
	bottom: 20px;
	background-color: #FFF !important;
}


[type="submit"].btn-float img {
    border-radius: 7px;
}
[type="submit"].btn-float {
    display: block;
    text-align: center;
}

.order-payment-content #btnCreditCard {
    bottom: 8%;
}
@media (max-width: 640px) {
    .order-payment-content .btnCardGroup {
	width: 30%;
    }
    .order-payment-content #btnPayIn,
    .order-payment-content #btnPayInClicked,
    .order-payment-content #btnCreditCard,
    .order-payment-content #btnPayPal {
        bottom: 1% !important;
    }
    .order-payment-content #btnCreditCard {
        right: 33%;
    }
    .order-payment-content #btnPayPal {
        right: 66%;
    }
	#imgPayInLoading {
		position: relative;
		width: 16px;
		right: 0px;
		bottom: 15px;
		background-color: #FFF !important;
	}	
}
/* ------------------------ */



/* ------------------------ */
/* Loading overlay          */
.spanner{
	position:fixed;
	top: 50%;
	left: 0;
	background: #2a2a2a55;
	width: 100%;
	display:block;
	text-align:center;
	height: 100%;
	color: #FFF;
	transform: translateY(-50%);
	z-index: 1000;
	visibility: hidden;
}

.loader,
.loader:before,
.loader:after {
	border-radius: 50%;
	width: 2.5em;
	height: 2.5em;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation: load7 1.8s infinite ease-in-out;
	animation: load7 1.8s infinite ease-in-out;
}
.loader {
	color: #ffffff;
	font-size: 10px;
	margin: 80px auto;
	position: relative;
	text-indent: -9999em;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-animation-delay: -0.16s;
	animation-delay: -0.16s;
}
.loader:before,
.loader:after {
	content: '';
	position: absolute;
	top: 0;
}
.loader:before {
	left: -3.5em;
	-webkit-animation-delay: -0.32s;
	animation-delay: -0.32s;
}
.loader:after {
left: 3.5em;
}
@-webkit-keyframes load7 {
	0%,
	80%,
	100% {
		box-shadow: 0 2.5em 0 -1.3em;
	}
	40% {
		box-shadow: 0 2.5em 0 0;
	}
}
@keyframes load7 {
	0%,
	80%,
	100% {
		box-shadow: 0 2.5em 0 -1.3em;
	}
	40% {
		box-shadow: 0 2.5em 0 0;
	}
}

.show{
	visibility: visible;
}

.spanner {
	opacity: 0;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
}

.spanner.show {
	opacity: 1
}
/* ------------------------ */


@keyframes blink {
    /**
     * At the start of the animation the dot
     * has an opacity of .2
     */
    0% {
      opacity: .2;
    }
    /**
     * At 20% the dot is fully visible and
     * then fades out slowly
     */
    20% {
      opacity: 1;
    }
    /**
     * Until it reaches an opacity of .2 and
     * the animation can start again
     */
    100% {
      opacity: .2;
    }
}

.dots-animated span {
    /**
     * Use the blink animation, which is defined above
     */
    animation-name: blink;
    /**
     * The animation should take 1.4 seconds
     */
    animation-duration: 1.4s;
    /**
     * It will repeat itself forever
     */
    animation-iteration-count: infinite;
    /**
     * This makes sure that the starting style (opacity: .2)
     * of the animation is applied before the animation starts.
     * Otherwise we would see a short flash or would have
     * to set the default styling of the dots to the same
     * as the animation. Same applies for the ending styles.
     */
    animation-fill-mode: both;
}

.dots-animated span:nth-child(2) {
    /**
     * Starts the animation of the third dot
     * with a delay of .2s, otherwise all dots
     * would animate at the same time
     */
    animation-delay: .2s;
}

.dots-animated span:nth-child(3) {
    /**
     * Starts the animation of the third dot
     * with a delay of .4s, otherwise all dots
     * would animate at the same time
     */
    animation-delay: .4s;
}