/* Custom CSS */

:root {
    --primary: #0160c5;
}
body {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 100vh;
    padding-bottom: 55px;
    font-family: 'Nunito', sans-serif;
    font-size: .9rem;
    color: #333;
}
p {
    text-align: justify;
}
.container-xl {
    width: 1440px;
    max-width: 100%;
    margin: auto;
    padding-left: 20px;
    padding-right: 20px;
}
.form-group {
    margin-bottom: 1.2rem;
}
.form-group label:not(.c-error) {
    margin-bottom: 3px;
    color: #3f3649;
    display: block;
    line-height: 1.2;
}
.form-control {
    height: calc(1.9695rem + 2px) !important;
    padding: 5px 10px;
    font-size: .86rem;
}
.form-control.validate.is-valid,
.form-control.validate.is-invalid,
.form-control.validate {
    background-image: none;
    padding: 5px 10px !important;
}
.bootstrap-select.form-control.validate.is-valid,
.bootstrap-select.form-control.validate.is-invalid,
.bootstrap-select.form-control.validate {
    padding: 0 !important; 
}
.input-group-append .btn,
.input-group-prepend .btn {
    padding: 2px 14px;
}
.flex-grow-1 {
    flex-grow: 1 !important;
}
.flex-grow-2 {
    flex-grow: 2 !important;
}
.flex-grow-3 {
    flex-grow: 3 !important;
}
.flex-grow-4 {
    flex-grow: 4 !important;
}
.flex-grow-5 {
    flex-grow: 5 !important;
}
.btn-rounded {
    border-radius: 20px;
    padding-left: 20px;
    padding-right: 20px;
}
label.c-error {
    font-style: normal;
    font-family: inherit;
    margin-bottom: 0;
    font-weight: 400;
    font-size: 11.5px;
}
.text-primary {
    color: var(--primary) !important;
}
.text-info-dark {
    color: #0053ad !important;
}
.text-gray-500 {
    color: #9fa5ab !important;
}
.text-gray-600 {
    color: #80858b !important;
}
.bg-gray {
    background-color: #eee;
}
.hide {
    display: none;
}
.overflow-auto {
    overflow: auto;
}
.cursor-pointer {
    cursor: pointer;
}
.cursor-default {
    cursor: default;
}
.form-container {
    position: relative;
    padding: 0 .5rem;
    width: 1000px;
    max-width: 100%;
}
@media screen and (max-width: 767px) {
    body {
        line-height: 1.4;
    }
    .container-xl {
        padding-left: 12px;
        padding-right: 12px;
    }
}


/* Header */
.navbar-light .navbar-nav .nav-link {
    position: relative;
    font-size: 1rem;
    color: #555;
    padding: .5rem 1rem;
}
.navbar-light .navbar-nav .nav-link:hover {
    color: var(--primary);
}
.navbar-light .navbar-nav .nav-link:after {
    content: '';
    position: absolute;
    width: 0;
    left: 50%;
    bottom: 5px;
    border-bottom: 3px solid var(--primary);
    transition: all .4s;
}
.navbar-light .navbar-nav .nav-link:hover:after {
    width: calc(100% - 1rem);
    left: .5rem;
}

/* Toaster */
.toast {
	opacity: .95 !important;
}
.toast-message {
    line-height: 1.2;
}

/* Typography */
.text-10 {
    font-size: 10px
}
.text-11 {
    font-size: 11px
}
.text-12 {
    font-size: 12px
}
.text-13 {
    font-size: 13px
}
.text-14 {
    font-size: 14px
}
.text-15 {
    font-size: 15px
}
.text-16 {
    font-size: 16px
}
.text-17 {
    font-size: 17px
}
.text-18 {
    font-size: 18px
}
.text-19 {
    font-size: 19px
}
.text-20 {
    font-size: 20px
}
.text-25 {
    font-size: 25px
}
.text-30 {
    font-size: 30px
}
.text-35 {
    font-size: 35px
}
.text-40 {
    font-size: 40px
}
.text-45 {
    font-size: 45px
}
.text-50 {
    font-size: 50px
}
.text-55 {
    font-size: 55px
}
.text-60 {
    font-size: 60px
}
.input-group-append .btn {
    border-width: 1px;
    border-style: solid;
}
.form-check {
    padding-left: 32px;
}
.form-check-input {
    transform: scale(1.4);
    cursor: pointer;
    margin-left: -22px;
}
@media screen and (max-width: 991px) {
    
}
@media screen and (max-width: 767px) {
    .h3, h3 {
        font-size: 1.5rem;
    }
    .h4, h4 {
        font-size: 1.3rem;
    }
    .h5, h5 {
        font-size: 1.1rem;
    }
}

/* header */
.navbar .navbar-brand {
    padding: 4px 0;
}
.navbar .navbar-brand img.logo {
    width: auto;
    height: auto;
    max-width: 180px;
    max-height: 55px;
}
.header-small {
    position: relative;
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
}
.header-small #particles-js {
    position:absolute;
    width: 100%;
    height: 100%;
    background-color: #000c27;
    background: linear-gradient(to bottom, #000c27, #001b5a);
}
.header-small .title {
    position: relative;
    font-size: 2rem;
    font-weight: bold;
}
button.language {
    border: navajowhite;
    background-color: transparent;
    outline: none;
    cursor: pointer;
}
@media screen and (max-width: 991px) {
    .navbar {
        position: relative;
    }
    .navbar .navbar-collapse {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background: #fff;
        z-index: 1;
        text-align: center;
        font-weight: 600;
        padding: 10px 20px;
        box-shadow: 0 3px 7px #ddd;
    }
}
@media screen and (max-width: 576px) {
    .navbar .navbar-brand img.logo {
        max-width: 115px;
        max-height: 45px;
    }
    .header-small .title {
        font-size: 1.5rem;
    }
}


/* Footer */
.footer {
    position: absolute;
    width: 100%;
    bottom: 0;
    height: 55px;
}


/* Content */
.col-feature {
    display: flex;
    flex-direction: column;
    justify-content: end;
    text-align: center;
    padding: 22px 15px;
    box-shadow: 0 0 12px #ccc;
    border-radius: 14px;
    font-size: 16px;
    color: var(--primary);
    line-height: 1.2;
    width: 290px;
    max-width: 100%;
    margin: 0 10px 18px;
    cursor: pointer;
    transition: all 0.4s;
}
.col-feature:hover {
    box-shadow: 0 0 8px var(--primary);
}
.col-feature img {
    width: 100px;
    height: auto;
    display: block;
    margin: 0 auto 18px;
}
.compatibility {
    position: relative;
    max-width: 100%;
    margin: auto;
}
.compatibility h5 {
    color: var(--primary);
}
.compatibility .cmp-item {
    display: flex;
    align-items: center;
    position: relative;
}
.compatibility .cmp-item::before {
    content: "";
    position: absolute;
    left: 23px;
    top: 0;
    width: 4px;
    height: 100%;
    background: var(--primary);
}
.compatibility .cmp-icon {
    width: 48px;
    height: 48px;
    line-height: 48px;
    background: var(--primary);
    color: white;
    font-weight: bold;
    align-items: center;
    border-radius: 50%;
    margin-right: 12px;
    z-index: 1;
    font-size: 24px;
    text-align: center;
}
.compatibility .cmp-item .cmp-content {
    flex: 1;
    padding: 22px 15px 8px;
    width: 100%;
    border-bottom: 1px solid #ddd;
}
.compatibility .cmp-item:last-child .cmp-content {
    border-bottom: none;
}
.compatibility ul li {
    margin-bottom: 10px;
    line-height: 1.3;
}
#voucher-group.loaded .asoc-voucher,
#voucher-group.loaded-m .asoc-voucher,
#voucher-group .asoc-cancel,
#voucher-group .asoc-benf {
    display: none;
}
#voucher-group .asoc-voucher,
#voucher-group.loaded .asoc-cancel,
#voucher-group.loaded-m .asoc-cancel,
#voucher-group.loaded-m .asoc-benf {
    display: inline-block;
}
.error-credit-card {
    position: relative;
    text-align: center;
    width: 100%;
    background-color: #ffcaca;
    color: #c50000;
    border-radius: 4px;
    line-height: 1.2;
}
.terms-conditions {
    position: relative;
    width: 100%;
    text-align: center;
    background-color: #f5f5f5;
    border-radius: 4px;
}
.terms-conditions.error {
    background-color: #ffcaca !important;
    color: #c50000;
}
.terms-conditions.success {
    background-color: #deffde !important;
    color: #004a00;
}
@media screen and (max-width: 991px) {
    .col-feature {
        width: 210px;
        font-size: 15px;
    }
    .col-feature img {
        width: 90px;
        display: block;
        margin-bottom: 15px;
    }
}
@media screen and (max-width: 767px) {
    .col-feature {
        width: 100%;
        padding: 10px 15px;
        margin-bottom: 8px;
        box-shadow: none;
        flex-direction: row;
        border-radius: 0;
        border-bottom: 1px solid #c9d7ff;
        justify-content: flex-start;
        align-items: center;
        text-align: left;
        font-size: 16px;
    }
    .feature-img {
        width: 120px;
    }
    .col-feature img {
        margin: 0;
        width: auto;
        height: 65px;
    }
}
@media screen and (max-width: 575px) {
    .card-wrapper {
        transform: scale(0.85);
        transform-origin: left center;
    }
}


/* Guide */
img.steps-img {
    width: 240px;
    max-width: 100%;
    height: auto;
    display: inline-block;
}


/* Preloader */
.elm-preload {
	display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    background-color: rgba(255, 255, 255, 0.5);
}
.elm-preload .elm-preload-message {
    position: relative;
    width: 200px;
    height: 40px;
    text-align: center;
    left: 50%;
    margin-left: -100px;
    top: 50%;
    margin-top: -20px;
}
.elm-preload .elm-preload-message label {
    display: block;
    margin-bottom: 15px;
    font-weight: 600;
    font-size: 1rem;
    line-height: 1;
    text-shadow: 0 0 4px #FFF;
}
.loader-cnt {
    overflow: hidden;
}
.spinner-primary {
    background: #00a0b3;
    background: -moz-linear-gradient(left, #00a0b3 10%, rgba(67, 236, 76, 0) 42%);
    background: -webkit-linear-gradient(left, #00a0b3 10%, rgba(67, 236, 76, 0) 42%);
    background: -o-linear-gradient(left, #01a4b6 10%, rgba(67, 236, 76, 0) 42%);
    background: -ms-linear-gradient(left, #01a4b6 10%, rgba(67, 236, 76, 0) 42%);
    background: linear-gradient(to right, #01a4b6 10%, rgba(67, 236, 76, 0) 42%);
}
.spinner {
    display: inline-block;
    font-size: 10px;
    margin: auto;
    text-indent: -9999em;
    width: 4em;
    height: 4em;
    border-radius: 50%;
    position: relative;
    -webkit-animation: spin 1.4s infinite linear;
    animation: spin 1.4s infinite linear;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
}
.spinner-primary:before {
    background: #01a4b6;
}
.spinner:before {
    width: 50%;
    height: 50%;
    border-radius: 100% 0 0 0;
    position: absolute;
    top: 0;
    left: 0;
    content: '';
}
.spinner:after {
    background: #fff;
    width: 75%;
    height: 75%;
    border-radius: 50%;
    content: '';
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}
@keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg)
    }
}


/* Shop page */
.card {
    z-index: 2;
    box-shadow: 0 0 .5px rgba(66, 71, 76, .32), 0 4px 8px rgba(66, 71, 76, .05), 0 4px 40px #eee;
    border-radius: .75rem;
    padding: 24px;
    border: none;
}
.shopping-cart-pay, 
.shopping-cart {
    padding: 28px 18px;
    background-color: #fafafa;
    border-radius: 0 5px 5px 0;
    transition: none;
}
.box-options:first-child {
    border-right: 1px solid #e5e5e5;
}
.esim-filter {
    justify-content: center;
}
.esim-support {
    float: right;
}
body  .backdrop-cart,
.purchase-icon {
    display: none;
}
.package-countries span {
    position: relative;
    display: inline-block;
    background-color: #017f97;
    color: #fff;
    padding: 3px 12px 1px;
    margin: 2px 2px;
    border-radius: 12px;
    line-height: 1.2;
}
@media screen and (max-width: 1199px) {
    .shopping-cart {
        display: none;
    }
    body .backdrop-cart {
        content: '';
        display: none;
        opacity: 0;
        position: absolute;
        background-color: #00000035;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        z-index: 2;
        transition: opacity 2s;
    }
    body.open-cart .backdrop-cart {
        display: block;
        opacity: 1;
    }
    body .shopping-cart {
        position: fixed;
        top: 0;
        right: -360px;
        opacity: 0;
        z-index: 3;
        display: block;
        height: 100%;
        width: 350px;
        max-width: 100%;
        transition: all .5s;
    }
    body.open-cart .shopping-cart {
        right: 0;
        opacity: 1;
    }
    body.open-cart .shopping-cart .title-cart {
        color: var(--info);
    }
    body .purchase-icon.hide,
    body.open-cart .purchase-icon {
        display: none;
    }
    body .purchase-icon {
        position: fixed;
        display: block;
        z-index: 3;
        bottom: 50px;
        right: 25px;
        background-color: #18e15c;
        color: #fff;
        text-shadow: 0 0 2px #555;
        font-size: 18px;
        height: 50px;
        width: 50px;
        line-height: 50px;
        text-align: center;
        border-radius: 50%;
        cursor: pointer;
        box-shadow: 0 0 5px #666;
    }
    body .purchase-icon:after {
        content: attr(data-quantity);
        position: absolute;
        top: -4px;
        right: 0;
        background-color: var(--info);
        font-size: 14px;
        line-height: 24px;
        width: 24px;
        height: 24px;
        border-radius: 50%;
        box-shadow: 0 0 1px #000;
        text-shadow: 0 0 3px #00525f;
        font-weight: 600;
    }
    body .purchase-icon[data-quantity=""]:after {
        content: none;
    }
}
@media screen and (max-width: 991px) {
    .step-payment {
        flex-direction: column-reverse;
        background-color: #fafafa;
        box-shadow: 0 0 2px #aaa inset;
        border-radius: 12px 12px 18px 18px;
    }
    .shopping-cart-pay {
        width: 500px;
        max-width: 100%;
        background-color: transparent;
    }
    .box-options:first-child {
        border-right: none;
        border-bottom: 1px solid #e5e5e5;
    }
    .esim-filter {
        justify-content: unset;
    }
    .esim-support {
        float: none;
        display: block;
        margin: 10px auto 0;
    }
}
@media screen and (max-width: 767px) {
    .card {
        padding: 24px 15px;
    }
    .card-body {
        padding: 0;
    }
    .esim-filter {
        justify-content: center;
    }
}


/* Smartwizard */
#smartwizard {
    opacity: 0;
    transition: all .5s ease-in-out .2s;
}
#smartwizard.sw-theme-arrows {
    opacity: 1;
}
.sw>.tab-content {
    overflow: visible;
    height: auto !important;
}
.sw>.tab-content>.tab-pane {
    min-height: 300px;
}
.sw-theme-arrows {
    border: none !important;
}
.sw .toolbar {

    padding: 5px;
}
.sw-theme-arrows>.nav .nav-link.default {
    font-size: 1rem;
    text-align: left;
    color: #555;
    background-color: #e1f0ff;
    padding: 6px 10px 6px 58px;
}
.sw-theme-arrows>.nav .nav-link.default::after {
    border-left-color: #e1f0ff;
}
.sw-theme-arrows>.nav .nav-link.default::before {
    border-left-color: #00c7ff;
    border-left-width: 46px;
}
.sw-theme-arrows>.nav .nav-link>.num {
    margin-right: 8px;
    float: none;
    display: inline-block;
    vertical-align: sub;
}
.sw-theme-arrows>.nav .nav-link.active {
    border-color: #1486ff;
    background-color: var(--primary);
}
.sw-theme-arrows>.nav .nav-link.active::after {
    border-left-color: var(--primary);
}
.sw-theme-arrows>.nav .nav-link.done {
    color: #eee;
    border-color: #218f1a;
    background-color: #218f1a;
}
.sw-theme-arrows>.nav .nav-link.done::after {
    border-left-color: #218f1a;
}
.sw-theme-arrows>.nav .nav-link.done::before {
    border-left-color: #83ff14;
}
.sw .progress {
    padding: 0;
    margin: 0;
    border: 0;
    width: 100%;
    height: 5px;
    background: var(--sw-progress-background-color);
    overflow: hidden;
}
.sw .progress .progress-bar {
    background-color: var(--primary);
}
@media screen and (max-width: 991px) {
    .sw-theme-arrows>.nav .nav-item .nav-link {
        text-align: center;
        font-size: 1em;
        line-height: 1.1;
    }
    .sw>.nav .nav-link>.num {
        display: flex;
        font-size: 1.5em;
        padding: 0 5px;
    }
    .sw-theme-arrows>.nav .nav-link {
        display: flex;
        align-items: center;
        line-height: 1.2;
    }
}
@media screen and (max-width: 767px) {
    .sw>.nav .nav-link>.num {
        font-size: 1.2em;
        margin: 0;
        padding: 0 10px 0 0;
    }
    .btn-panel {
        position: sticky;
        width: 100%;
        bottom: 0;
        z-index: 2;
        background-color: #fff;
        border-top: 1px solid #ddd;
    }
}


/* Tabs */
.nav.nav-pills {
    border-bottom: 2px solid var(--primary)61;
    padding-bottom: 5px;
}
.nav-pills .nav-link {
    font-weight: 500;
    background-color: #fafafa;
}
.nav-pills .nav-link.active, .nav-pills .show>.nav-link {
    color: #fff;
    background-color: #019fb1;
}


/* Table */
.table thead tr th {
    padding: 5px 0.75rem;
    background-color: #fafafa;
}
.table thead tr td {
    padding: 5px 0.75rem;
}


/* eSIM elements */
.esim-plans {
    padding: 20px 15px 10px;
    max-height: 330px;
    overflow: auto;
}
.esim-plans .esim-plan {
    display: flex;
    position: relative;
    width: 230px;
    flex-direction: column;
    border: 1px solid #eee;
    padding: 10px 15px 6px;
    margin: 0 5px 12px;
    border-radius: 7px;
    box-shadow: 0 0 3px #ddd;
    cursor: pointer;
    background-color: #fff;
    background-image: url('../images/sim.png');
    background-repeat: no-repeat;
    background-size: 105px auto;
    background-position: 100% 12px;
    transition:
        background-size .8s,
        background-position .8s,
        box-shadow 0.5s,
        border-color 0.5s;
}
.esim-plans .esim-plan.selected {
    border-color: #01fb9c;
    box-shadow: 0 0 3px #01fb9c;
}
.esim-plans .esim-plan:hover {
    border-color: #00b2e5;
    box-shadow: 0 0 5px #0089b1 inset;
    background-size: 60px auto;
    background-position: 100% center;
}
.esim-plans .esim-plan.selected:hover {
    box-shadow: 0 0 5px #01fb9c inset;
    border-color: #00cf81;
}
.esim-plans .esim-plan.selected::after {
    content: attr(data-quantity);
    position: absolute;
    right: 15px;
    top: 50%;
    margin-top: -12px;
    display: block;
    background-color: #00d082;
    color: #fff;
    border-radius: 50%;
    font-weight: 600;
    font-size: 18px;
    width: 24px;
    height: 24px;
    line-height: 24px;
    text-align: center;
    text-shadow: 0 0 3px #00633e;
}
.esim-plans .esim-plan.refill-plan.selected::after {
    content: initial;
    display: none;
}
.esim-plans .esim-plan.refill-plan .check-icon {
    position: absolute;
    display: none;
    right: 15px;
    top: 50%;
    margin-top: -11px;
    color: #00d082;
    font-size: 22px;
}
.esim-plans .esim-plan.refill-plan.selected .check-icon {
    display: block;
}
.esim-plans .esim-plan .esim-days {
    font-size: 15px;
    font-weight: 600;
    color: #0089b1;
    line-height: 1.2;
}
.esim-plans .esim-plan.selected .esim-days {
    color: #00a668;
}
.esim-plans .esim-plan .esim-capacity {
    font-size: 14px;
    color: #044c58;
    font-weight: 600;
    line-height: 1.2;
}
.esim-plans .esim-plan .esim-pvp {
    font-size: 16px;
    margin-top: 5px;
    font-weight: 600;
}
.esim-fields {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    border-bottom: 1px solid #ddd;
    padding-bottom: 18px;
    margin-bottom: 15px;
}
.esim-fields .form-group {
    flex: 1;
    margin-bottom: 0;
    margin-left: 25px;
    padding-bottom: 5px;
}
.esim-fields .form-group .input-group {
    width: 220px;
}
.esim-fields .esim-plan-preview {
    position: relative;
    display: flex;
    width: 250px;
    max-width: 100%;
    flex-direction: column;
    border: 1px solid #00ede8;
    box-shadow: 0 0 3px #01fbf6;
    padding: 10px 15px 6px;
    border-radius: 7px;
    background-color: #fff;
    background-image: url('../images/sim.png');
    background-repeat: no-repeat;
    background-size: 105px auto;
    background-position: 100% 12px;
}
.esim-fields .esim-plan-preview .esim-days {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
}
.esim-fields .esim-plan-preview .esim-capacity {
    font-size: 14px;
    color: #007186;
    font-weight: 600;
    line-height: 1.2;
}
.esim-fields .esim-plan-preview .esim-location {
    font-size: 15px;
    line-height: 1.1;
}
.esim-fields .esim-plan-preview .esim-pvp {
    font-size: 16px;
    font-weight: 600;
    color: #00a7c6;
}
.esim-fields .esim-plan-preview::after {
    content: attr(data-quantity);
    position: absolute;
    right: 15px;
    top: 50%;
    margin-top: -12px;
    display: block;
    background-color: #00bde0;
    color: #fff;
    border-radius: 50%;
    font-weight: 800;
    font-size: 15px;
    width: 24px;
    height: 24px;
    line-height: 24px;
    text-align: center;
    text-shadow: 0 0 3px #111;
}
.esim-emails .email-no {
    display: flex;
    align-items: center;
    font-size: 14px;
    line-height: 14px;
    padding: 0 10px;
    color: #0089a3;
}
.esim-emails .email-no i {
    margin-right: 4px;
}
.esim-emails .email-no span {
    font-weight: 600;
    font-size: 14px;
}
.esim-emails.email-general .email-no span {
    display: none;
}
.esim-cart .esim {
    position: relative;
    display: flex;
    font-size: .85rem;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    padding: 10px 14px;
    line-height: 1.2;
    margin-bottom: 8px;
    border-radius: 6px;
    background-color: #fff;
    box-shadow: 0 0 6px #eaeaea;
}
.esim-cart .esim > div:nth-child(1) {
    width: 50%;
}
.esim-cart .esim > div:nth-child(2) {
    width: 35%;
}
.esim-cart .esim-desc {
    font-weight: 600;
    color: #0089b8;
}
.esim-cart .esim-cuantity {
    font-weight: 600;
}
.esim-cart .esim-cuantity span {
    color: var(--info);
    font-size: 15px;
}
.esim-cart .esim-pvp {
    text-align: center;
    font-weight: 600;
}
.esim-cart .esim .delete-esim {
    text-align: center;
    width: 25px;
    height: 25px;
    line-height: 25px;
    cursor: pointer;
    border-radius: 6px;
    color: #ccc;
}
.esim-cart .esim > .delete-esim:hover {
    color: var(--danger);
    background-color: #eee;
}
.esim-sub-totals {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 10px 14px;
    font-weight: 600;
    font-size: 15px;
    border-bottom: 1px solid #e5e5e5;
}
.esim-sub-totals > div:first-child {
    width: 50%;
}
.esim-sub-totals > div:last-child {
    width: 35%;
    text-align: center;
}
.esim-sub-totals > div span.prch-esim {
    font-size: 16px;
    color: #004154;
}
.btn-info.esim-support {
    animation: pulse 5s infinite;
}
@media screen and (max-width: 991px) {
    .shopping-cart-pay .esim-cart .esim > div:nth-child(1) {
        width: 65%;
        display: flex;
        flex-wrap: wrap;
    }
    .shopping-cart-pay .esim-cart .esim-desc {
        margin-right: 10px;
    }
    .shopping-cart-pay .esim-cart .esim-cuantity {
        width: 100%;
    }
    .esim-plans .esim-plan {
        background-size: 58px auto;
        width: 210px;
    }
    .esim-plans .esim-plan .esim-days {
        font-size: 14px;
    }
    .esim-plans .esim-plan .esim-capacity {
        font-size: 13px;
    }
    .esim-plans .esim-plan .esim-pvp {
        font-size: 15px;
    }
    .esim-fields {
        flex-direction: column-reverse;
        padding: 0;
    }
    .esim-fields .form-group {
        margin: 0 auto 12px;
        text-align: center;
    }
    .esim-fields .esim-plan-preview {
        width: 300px;
        max-width: 100%;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        background-image: none;
        margin: 0 auto 14px;
    }
    .esim-fields .esim-plan-preview::after {
        right: auto;
        left: 15px;
    }
    .esim-fields .esim-plan-preview .esim-capacity {
        margin-right: auto;
        color: #333;
    }
    .esim-fields .esim-plan-preview .esim-days {
        border-right: 2px solid #67e7ff;
        padding-right: 5px;
        margin-right: 5px;
        margin-left: 32px;
        color: #333;
    }
    .esim-fields .esim-plan-preview .esim-pvp {
        margin: 0;
    }
}
@media screen and (max-width: 767px) {
    .esim-plans {
        padding: 20px 0 10px;
    }
    .esim-plans .esim-plan {
        width: 200px;
    }
}
@media screen and (max-width: 700px) {
    .esim-plans .esim-plan {
        width: calc(50% - 20px);
    }
}
@media screen and (max-width: 575px) {
    .esim-plans .esim-plan {
        width: calc(100% - 20px);
        background-image: none;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        padding: 10px 15px;
    }
    .esim-plans .esim-plan.selected::after {
        right: auto;
        left: 12px;
    }
    .esim-plans .esim-plan.selected .sim-icon {
        visibility: hidden;
    }
    .esim-plans .esim-plan .sim-icon {
        color: var(--info);
        font-size: 24px;
        opacity: 0.9;
    }
    .esim-plans .esim-plan .esim-block-1 {
        margin-right: auto;
    }
    .esim-plans .esim-plan .esim-days,
    .esim-plans .esim-plan .esim-capacity,
    .esim-plans .esim-plan .esim-pvp {
        font-size: 14px;
    }
    .esim-plans .esim-plan .esim-pvp {
        margin: 0;
        font-size: 15px;
    }
    .esim-plans .esim-plan.refill-plan .check-icon {
        right: initial;
        left: 14px;
    }
}
/* Pulse animation */
@keyframes pulse {
    0% {
        transform: scale(1);
    }
    90% {
        transform: scale(1);
    }
    95% {
        transform: scale(1.05);
    }
    100% {
        transform: scale(1);
    }
}


/* Selectpicker */
.dropdown.bootstrap-select .bs-searchbox {
    border-bottom: 1px solid #eee;
    padding-bottom: 6px;
}
.dropdown.bootstrap-select .btn.dropdown-toggle:not([class*="custom"]) {
    outline: initial !important;
    height: calc(1.9695rem + 2px) !important;
    background: #fff;
    font-size: .86rem;
    border: 1px solid #ced4da;
    color: #47404f;
    width: 100%;
    opacity: 1;
}
.dropdown.bootstrap-select .btn-light:focus {
    box-shadow: none;
}
.bootstrap-select>.dropdown-toggle:after {
    font-size: 18px;
}
.dropdown.bootstrap-select .btn.dropdown-toggle.disabled:not([class*="custom"]),
.dropdown.bootstrap-select .btn.dropdown-toggle[disabled]:not([class*="custom"]) {
    background-color: #eee;
    box-shadow: none !important;
    cursor: default;
}
button.btn.dropdown-toggle.custom.btn-primary,
button.btn.dropdown-toggle.custom.btn-primary:hover {
    color: #fff;
    background-color: var(--primary);
    border-color: var(--primary);
    outline: none !important;
}
button.btn.dropdown-toggle.custom.btn-info,
button.btn.dropdown-toggle.custom.btn-info:hover {
    color: #fff;
    background-color: var(--info);
    border-color: var(--info);
    outline: none !important;
}
button.btn.dropdown-toggle.custom.btn-success,
button.btn.dropdown-toggle.custom.btn-success:hover {
    color: #fff;
    background-color: var(--success);
    border-color: var(--success);
    outline: none !important;
}
button.btn.dropdown-toggle.custom.btn-primary:focus,
button.btn.dropdown-toggle.custom.btn-info:focus,
button.btn.dropdown-toggle.custom.btn-success:focus {
    outline: none !important;
}
.dropdown.bootstrap-select ul.dropdown-menu.show {
    display: inline-block !important;
}
.dropdown.bootstrap-select.validate.is-valid .btn.dropdown-toggle {
    border-color: #00a645 !important;
}
.dropdown.bootstrap-select.validate.is-invalid .btn.dropdown-toggle {
    border-color: #dc3545 !important;
}
.dropdown.bootstrap-select .dropdown-menu.show a.dropdown-item.selected:not(.active) {
    background-color: #eff1f1;
}
.dropdown.bootstrap-select .dropdown-toggle .filter-option {
    padding-right: 0;
}
.dropdown.bootstrap-select .bs-actionsbox {
    border-bottom: 1px solid #eee;
    padding-bottom: 6px;
}
.dropdown.bootstrap-select .bs-actionsbox button.bs-select-all,
.dropdown.bootstrap-select .bs-actionsbox button.bs-deselect-all {
    background-color: #fff;
    color: #333;
    padding: .25rem .2rem;
}
.dropdown.bootstrap-select .bs-actionsbox button.bs-select-all:hover,
.dropdown.bootstrap-select .bs-actionsbox button.bs-deselect-all:hover {
    background-color: #eee;
}
.dropdown.bootstrap-select .dropdown-menu a.dropdown-item {
    height: 32px;
    line-height: 22px;
    padding: 5px 1.5rem;
}
.dropdown.bootstrap-select .dropdown-menu .dropdown-menu.show {
    z-index: 3;
}
.dropdown.bootstrap-select .dropdown-menu {
    font-size: inherit;
}

/* Completion message */
.card-esim-cont {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.card-esim {
    display: flex;
    flex-wrap: wrap;
    width: 450px;    
    max-width: 100%;
    margin: 0 12px 20px;
    align-items: center;
    justify-content: space-between;
    position: relative;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    border-radius: 8px;
    padding: 14px 10px 12px 22px;
    box-shadow: 0 0 3px var(--info) inset;
    text-align: left;
    line-height: 1.2;
    font-size: .85rem;

}
.card-esim.card-refill {
    background-image: url('../images/sim.png');
    background-repeat: no-repeat;
    background-size: 75px auto;
    background-position: 92% 20px;
    width: 310px;
    margin: 0;
}
.card-esim .esim-desc {
    font-weight: 600;
    color: var(--info);
    font-size: .95rem;
}
.card-esim .esim-info {
    width: 250px;
}
.card-esim .esim-location {
    color: #4b4b4b;
    margin-left: 8px;
}
.card-esim .esim-qr img {
    position: relative;
    width: 135px;
    height: 135px;
}
.card-esim .esim-code {
    font-size: 12px;
}
.card-esim button.btn-email {
    background-color: #0aa5be;
    color: #fff;
    border: none;
    outline: none !important;
    padding: 6px 13px;
    font-size: 13px;
    border-radius: 3px;
}
img.img-scan {
    width: 215px;
    height: auto;
    max-width: 100%;
    margin: 0 60px;
}


/* Refill eSIMs */
.esim-data-cont .esim-data {
    position: relative;
    display: flex;
    align-items: center;
    width: 330px;
    max-width: 100%;
    line-height: 1.2;
    border: 2px solid #eee;
    padding: 10px 15px;
    margin: 0 15px 12px 0;
    border-radius: 7px;
    box-shadow: 0 0 3px #ddd;
    cursor: pointer;
    background-color: #fff;
    transition: all 0.5s;
}
.esim-data-cont .esim-data:hover {
    border: 2px solid var(--info);
    box-shadow: 0 0 3px var(--info);
}
.esim-data-cont .esim-data.selected:hover,
.esim-data-cont .esim-data.selected {
    border: 2px solid #05c354;
    box-shadow: 0 0 3px #05c354;
    background-color: #f9fffb;
}
.esim-data-cont .esim-data h6 {
    color: var(--info);
}
.esim-data-cont .esim-data.selected h6 {
    color: #009940;
}
.esim-data-cont .esim-data > div:first-child {
    flex: 1;
    font-size: .85rem;
}
.esim-data-cont .esim-data .esim-radio {
    text-align: center;
    width: 55px;
}
.esim-data-cont .esim-data .esim-radio input {
    display: none;
}
.esim-data-cont .esim-data .esim-radio .checkmark {
    position: relative;
    display: block;
    height: 30px;
    width: 30px;
    background-color: #eee;
    border-radius: 50%;
}
.esim-data-cont .esim-data:hover .esim-radio .checkmark {
    background-color: #ccc;
}
.esim-data-cont .esim-data .esim-radio input:checked ~ .checkmark {
    background-color: #05c354;
}
.esim-data-cont .esim-data .esim-radio .checkmark:after {
    content: "";
    position: absolute;
    display: none;
    top: 9px;
    left: 9px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #fff;
}
.esim-data-cont .esim-data .esim-radio input:checked ~ .checkmark:after {
    display: block;
}
.error-msg.hide {
    color: var(--danger);
    background-color: #ffefef;
    font-weight: 600;
    padding: 4px 25px;
    border-radius: 8px;
}
@media screen and (max-width: 991px) {
    .esim-data-cont .esim-data {
        width: calc(50% - 15px);
    }
    .esim-data-cont .esim-data > div:first-child {
        font-size: .8rem;
    }
}
@media screen and (max-width: 767px) {
    .esim-data-cont .esim-data {
        width: 100%;
        margin-right: 0;
    }
    .card-esim-cont .card-esim {
        padding: 14px;
        margin: 0 0 15px;
    }
    .card-esim-cont .card-esim .esim-qr img {
        width: 100px;
        height: 100px;
    }
    .card-esim-cont .card-esim .esim-info {
        width: calc(100% - 100px);
    }
}

/* Custom radio */
.custom-radio {
    position: relative;
    align-items: center;
    cursor: pointer;
}
.custom-radio input {
    display: none;
}
.custom-radio .checkmark {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    background-color: #eee;
    border-radius: 50%;
    margin-right: 4px;
    vertical-align: bottom;
}
.custom-radio:hover .checkmark {
    background-color: #ccc;
}
.custom-radio input:checked ~ .checkmark {
    background-color: #05c354;
}
.custom-radio .checkmark:after {
    content: "";
    position: absolute;
    display: none;
    top: 6px;
    left: 6px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #fff;
}
.custom-radio input:checked ~ .checkmark:after {
    display: block;
}
.custom-radio.radio-info {
    background-color: #f5f5f5;
    padding: 7px 14px;
    border-radius: 6px;
    margin-right: 15px;
    max-width: 100%;
}
.custom-radio.radio-info .checkmark {
    background-color: #ccc;
}
.custom-radio.radio-info.check {
    background-color: #e4fbff;
    color: #06849c;
}
.custom-radio.radio-info input:checked ~ .checkmark {
    background-color: #00b4d7;
}
@media screen and (max-width: 991px) {
    .custom-radio.radio-info {
        width: 100%;
        margin: 0 0 10px;
    }
}