body {
    background-color: #f2f2f2;
    font-family: 'Roboto';
    color: #583e99;
    font-size: 18px;
}

.color-1 {
    color: #583e99 !important;
}

.color-2 {
    color: #ec2985 !important;
}

.modal-video .modal-body .close {
    background-color: #583e99;
}

.scroll-to-top {
    background-color: rgba(236, 41, 133, 0.87);
}

.button-submit-container {
    cursor: pointer;
}

.success {
    color: #583e99;
}

.success h2 {
    font-size: 50px;
    font-weight: 900;
}

.btn {
    border-radius: 0 !important;
}

.btn-primary {
    background-color: #583e99 !important;
}

@media only screen and (max-width: 999px) {
    .success h2 {
        font-size: 5vw;
    }
}

@media only screen and (max-width: 375px) {
    .success h2 {
        font-size: 8vw;
    }
}

.product-counter {
    position: absolute;
    left: 8px;
    top: 119px;
    font-size: 90px;
    color: #fff;
    font-weight: 900;
    width: 424px;
    text-align: center;
    line-height: 1;
}

#product-counter-4 {
    top: 155px;
}

#product-counter-5 {
    top: 93px;
}

@media only screen and (max-width: 999px) {
    .product-counter {
        left: .8vw;
        top: 11.9vw;
        font-size: 9vw;
        width: 42.4vw;
    }
    #product-counter-4 {
        top: 15.5vw;
    }
    #product-counter-5 {
        top: 9.3vw;
    }
}

.custom-option-container [type=radio] {
    position: absolute;
    left: -9999px;
}

.custom-option-container {
    text-align: center;
    padding-left: 5px;
    padding-right: 5px;
    padding-bottom: 30px;
}

.custom-option-container label {
    text-align: center;
    display: inline-block;
    border: 2px solid #c9c9c9;
    box-shadow: inset 0 0 5px #787878;
    padding: 30px;
    font-size: 60px;
    line-height: 1;
    font-weight: 700;
    min-width: 190px;
    cursor: pointer;
    border-radius: 50%;
}

@media only screen and (max-width: 999px) {
    .custom-option-container label {
        padding: 3vw;
        font-size: 6.5vw;
        min-width: 20vw;
    }
}

.custom-option-container.selected label {
    background-color: #583e99;
    color: #fff;
    border-color: #583e99;
    box-shadow: none;
}

.product {
    margin-bottom: 30px;
}

@media only screen and (max-width: 999px) {
    .product {
        margin-bottom: 3vw;
    }
}

.product [type=radio], .product [type=checkbox] {
    position: absolute;
    left: -9999px;
}

.product h2 {
    font-size: 58px;
    font-weight: 700;
    margin-bottom: 60px;
    letter-spacing: -3px;
}

@media only screen and (max-width: 999px) {
    .product h2 {
        font-size: 7vw;
        letter-spacing: -1px;
        margin-bottom: 6vw;
    }
}

.product h2 span {
    display: block;
    font-size: 38px;
    font-weight: 400;
}

@media only screen and (max-width: 999px) {
    .product h2 span {
        font-size: 3.8vw;
    }
}

@media only screen and (max-width: 375px) {
    .product h2 span {
        font-size: 5vw;
    }
}

.product .detail {
    padding-top: 5px;
    padding-bottom: 30px;
    padding-left: 0;
}

@media only screen and (max-width: 999px) {
    .product .detail {
        padding-bottom: 3vw;
    }
}

.product .price-container {
    font-size: 65px;
    font-weight: 900;
    letter-spacing: -5px;
}

@media only screen and (max-width: 999px) {
    .product .price-container {
        font-size: 6.5vw;
        letter-spacing: 0;
        margin-bottom: 15px;
    }
}

@media only screen and (max-width: 375px) {
    .product .price-container {
        font-size: 6.5vw;
        letter-spacing: 0;
    }
}

.product .price-container .info {
    font-size: 37px;
    font-weight: 300;
    line-height: 92px;
    letter-spacing: 0;
    text-align: center;
}

@media only screen and (max-width: 999px) {
    .product .price-container .info {
        font-size: 3.7vw;
        line-height: 10vw;
    }
}

@media only screen and (max-width: 375px) {
    .product .price-container .info {
        font-size: 5vw;
    }
}

.product .price-container .info, .product .price-container .old, .product .price-container .sale {
    padding-left: 0;
    padding-right: 0;
}

.totals .item {
    font-size: 58px;
    font-weight: 800;
    padding-top: 30px;
    padding-bottom: 30px;
}

.totals .item.border {
    border-top: 5px dotted #583e99;
}

@media only screen and (max-width: 999px) {
    .totals .item {
        font-size: 5vw;
        padding-top: 15px;
        padding-bottom: 15px;
    }
    .totals .item.border {
        border-top: 2px dotted #583e99;
    }
}

@media only screen and (max-width: 375px) {
    .totals .item {
        font-size: 6vw;
    }
}