/* Loaded after the desktop theme and Bootstrap 2 responsive rules. */
@media (min-width: 768px) {
    #cart #cart3, #cart #configer > .right {
        font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
        color: #43546b;
    }
    #cart #configer h3.modern {
        font-size: 18px;
        line-height: 1.4;
        letter-spacing: normal;
        margin-bottom: 12px;
        color: #34465e;
    }
    #cart #cart3 .newbox1 { padding: 16px; box-sizing: border-box; }
    #cart #cart3 td.cf_option {
        padding: 0 0 20px !important;
        background: none !important;
    }
    #cart #cart3 .cf_option label {
        font-size: 14px; line-height: 20px; margin-bottom: 6px;
    }
    #cart #cart3 .cf_option > label + br { display: none; }
    #cart #cart3 .descr {
        font-size: 13px; line-height: 1.5; margin-bottom: 8px; white-space: normal;
    }
    #cart #cart3 .newbox1 > small { font-size: 12px; line-height: 1.5; }
    #cart #cart3 input.custom_field, #cart #promoform input[name="promocode"] {
        width: 100%; min-width: 0; max-width: 100%; min-height: 44px;
        box-sizing: border-box; padding: 10px 12px; margin: 0;
        font-size: 16px; line-height: 22px; color: #34465e;
        background: #fff; border: 1px solid #bcc9d8; border-radius: 6px; box-shadow: none;
    }
    #cart #cart3 input.custom_field:focus, #cart #promoform input[name="promocode"]:focus {
        border-color: #3371cb; box-shadow: 0 0 0 2px rgba(51, 113, 203, .15);
    }
    #cart #configer .ttable { table-layout: fixed; }
    #cart #configer .ttable td, #cart #configer .ttable th {
        font-size: 14px; line-height: 1.5; padding: 10px 4px; overflow-wrap: anywhere;
    }
    #cart #promoform {
        display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
        margin: 12px 0 0; text-align: left; font-size: 14px;
    }
    #cart #promoform input[name="promocode"] { flex: 1 1 150px; }
    #cart #promoform input[type="submit"] {
        min-width: 44px; min-height: 44px; box-sizing: border-box;
        padding: 10px 14px; margin: 0; font-size: 18px; border-radius: 6px;
    }
}
@media (min-width: 768px) and (max-width: 1100px) {
    #cart #configer > .left, #cart #configer > .right,
    #cart #cart3 .newbox1 {
        float: none; width: 100% !important; max-width: 100%;
        margin-left: 0; margin-right: 0; box-sizing: border-box;
    }
    #cart #configer > .right { margin-top: 20px; }
}
#cart table.client-info-summary {
    width: 100%;
    table-layout: fixed;
    margin: 0;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
#cart .client-info-summary td {
    padding: 12px 16px;
    font-size: 15px;
    line-height: 1.5;
    vertical-align: top;
    text-align: left;
    white-space: normal;
    overflow-wrap: anywhere;
    background: transparent;
    border-top: 1px solid #d8e0e9;
    color: #34465e;
}
#cart .client-info-summary td:first-child {
    width: 30%;
    font-weight: 600;
    color: #65758a;
}
#cart .client-info-summary tr:first-child td { border-top: 0; }
@media (max-width: 767px) {
    #cart table.client-info-summary,
    #cart .client-info-summary > tbody,
    #cart .client-info-summary tr,
    #cart .client-info-summary td {
        display: block;
        width: 100%;
        height: auto;
        box-sizing: border-box;
    }
    #cart table.client-info-summary { margin: 0; overflow: visible; }
    #cart .client-info-summary td {
        border: 0;
        background: transparent;
        white-space: normal;
        overflow-wrap: anywhere;
        font-size: 15px;
        line-height: 1.5;
        text-align: left;
    }
    #cart .client-info-summary td:nth-child(odd) {
        width: 100%;
        padding: 10px 0 2px;
        font-size: 13px;
        font-weight: 600;
        color: #65758a;
    }
    #cart .client-info-summary td:nth-child(even) {
        padding: 0 0 10px;
        color: #34465e;
        border-bottom: 1px solid #d8e0e9;
    }
    #cart .client-info-summary tr:last-child td:last-child { border-bottom: 0; }
}
@media (max-width: 767px) {
    #login-widget .right_container .login-input:has(.g-recaptcha) > span:first-child {
        display: none;
    }
    #login-widget .right_container .login-input .captcha-input:has(.g-recaptcha) {
        display: flex;
        justify-content: center;
        align-items: flex-start;
        min-height: 0;
    }
    #login-widget .captcha-input .g-recaptcha {
        float: none;
        flex: 0 0 304px;
    }
}
@media (max-width: 400px) {
    #login-widget .right_container .login-input .captcha-input:has(.g-recaptcha) {
        height: 66px;
    }
    #login-widget .captcha-input .g-recaptcha {
        transform-origin: center top !important;
    }
}
@media (max-width: 767px) {
    #login-widget #login-widget-submit {
        display: block;
        float: none;
        width: 100%;
        min-width: 0;
        min-height: 48px;
        margin: 8px 0 0;
        padding: 12px 16px;
        box-sizing: border-box;
        text-align: center;
        border-radius: 6px;
        background: #6d9d2c;
        border: 1px solid #608925;
        box-shadow: 0 2px 4px rgba(52, 70, 94, .12);
    }
    #login-widget #login-widget-submit .content {
        font-size: 16px;
        line-height: 22px;
    }
}
@media (max-width: 767px) {
    #cart #configer > .clear > ul {
        margin: 16px 0 24px;
        padding-left: 22px;
        font-size: 15px;
        line-height: 1.6;
        color: #43546b;
    }
    #cart #configer > .clear > ul > li { margin-bottom: 10px; }
    #cart #configer > .clear > ul > li:last-child { margin-bottom: 0; }
    /* Remove the empty image-CAPTCHA hint left by HostBill's reCAPTCHA replacement. */
    #cart #updater .g-recaptcha + span { display: none !important; }
    #cart #orderform #updater td:has(.g-recaptcha) { padding-bottom: 0; }
    #cart #updater > table { margin-bottom: 0 !important; }
}
@media (max-width: 440px) {
    /* Scaling changes the visible size, but not the space reserved in the layout. */
    #cart #updater .g-recaptcha { margin-bottom: -16px; }
}
@media (max-width: 767px) {
    #cart #configer > .right {
        font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 14px !important;
        line-height: 1.5;
        color: #43546b;
    }
    #cart #configer > .right h3.modern {
        font-size: 18px;
        line-height: 1.4;
        margin: 20px 0 12px;
        color: #34465e;
    }
    #cart #configer .ttable td, #cart #configer .ttable th {
        font-size: 14px;
        line-height: 1.5;
    }
    #cart #promoform {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;
        margin: 12px 0 0;
        font-size: 14px;
        text-align: left;
    }
    #cart #promoform input[name="promocode"] {
        flex: 1 1 160px;
        width: 100%;
        min-width: 0;
        min-height: 44px;
        box-sizing: border-box;
        padding: 10px 12px;
        margin: 0;
        font-size: 16px;
        line-height: 22px;
        color: #34465e;
        background: #fff;
        border: 1px solid #bcc9d8;
        border-radius: 6px;
        box-shadow: none;
    }
    #cart #promoform input[name="promocode"]:focus {
        border-color: #3371cb;
        box-shadow: 0 0 0 2px rgba(51, 113, 203, .15);
    }
    #cart #promoform input[type="submit"] {
        min-width: 44px;
        min-height: 44px;
        padding: 10px 14px;
        margin: 0;
        box-sizing: border-box;
        font-size: 18px;
        border-radius: 6px;
    }
}
@media (max-width: 767px) {
    #cart #orderform {
        font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
        color: #43546b;
    }
    #cart #orderform h3.modern {
        font-size: 18px;
        line-height: 1.4;
        margin: 20px 0 12px;
        color: #34465e;
    }
    #cart #orderform #updater .newchecker td,
    #cart #orderform #cart-login td { padding: 0 0 18px; }
    #cart #orderform #updater label {
        display: block;
        font-size: 14px;
        font-weight: 600;
        line-height: 20px;
        margin: 0 0 8px;
        color: #43546b;
    }
    #cart #orderform #updater input[type="text"],
    #cart #orderform #updater input[type="email"],
    #cart #orderform #updater input[type="password"],
    #cart #orderform #updater select,
    #cart #orderform #c_notes {
        min-height: 44px;
        padding: 10px 12px;
        margin: 0;
        font-size: 16px;
        line-height: 22px;
        color: #34465e;
        background: #fff;
        border: 1px solid #bcc9d8;
        border-radius: 6px;
        box-shadow: none;
    }
    #cart #orderform #c_notes { min-height: 112px; resize: vertical; }
    #cart #orderform #updater input:focus,
    #cart #orderform #updater select:focus,
    #cart #orderform #c_notes:focus {
        border-color: #3371cb;
        box-shadow: 0 0 0 2px rgba(51, 113, 203, .15);
    }
    #cart #orderform .newbox1header .wbox_menu li {
        padding: 10px 12px;
        font-size: 14px;
        line-height: 20px;
        flex: 1 1 140px;
        text-align: center;
    }
    #cart #orderform #cart-login input[type="submit"],
    #cart #orderform #checksubmit {
        display: block;
        width: 100%;
        min-height: 46px;
        box-sizing: border-box;
        padding: 12px 16px;
        font-size: 16px;
        line-height: 22px;
        text-align: center;
        border-radius: 6px;
    }
    #cart #orderform #cart-login a { font-size: 14px; line-height: 1.6; }
    #cart #orderform > p[align="right"] {
        margin: 20px 0;
        padding: 0;
        text-align: center;
    }
    #cart #orderform > p[align="right"] > br { display: none; }
    #cart #orderform #checksubmit {
        float: none;
        margin: 0;
        max-width: 100%;
        width: 100%;
        border: 1px solid #608925;
        box-shadow: 0 2px 4px rgba(52, 70, 94, .12);
    }
}
#login-widget #login-widget-close {
    display: flex;
    align-items: center;
    justify-content: center;
    top: 8px;
    right: auto;
    left: 8px;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    z-index: 10;
    color: #fff;
    font: 32px/1 Arial, sans-serif;
    text-decoration: none;
    background: #27569a;
    border: 1px solid #7195c8;
    border-radius: 4px;
}
#login-widget #login-widget-close:focus { outline: 2px solid #fff; }
@media (max-width: 767px) {
    #ca11 .square-list.root-list {
        width: 100%;
        margin: 16px 0;
        padding: 0;
        box-sizing: border-box;
    }
    #ca11 .square-list.root-list > li {
        float: none;
        display: block;
        width: 100%;
        margin: 0 0 12px;
    }
    #ca11 .root-list .square-box {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
}
@media (max-width: 767px) {
    #singupform > table,
    #singupform > table > tbody,
    #singupform > table > tbody > tr,
    #singupform > table > tbody > tr > td {
        display: block;
        width: 100% !important;
        min-width: 0;
        box-sizing: border-box;
    }
    #singupform .newchecker { width: 100%; table-layout: fixed; }
    #singupform .newchecker td {
        padding: 0 0 18px;
        border-right: 0;
        overflow-wrap: anywhere;
    }
    #singupform input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
    #singupform select, #singupform textarea, #singupform .chzn-container {
        width: 100% !important;
        max-width: 100%;
        box-sizing: border-box;
    }
    #singupform .g-recaptcha { float: none; }
    .cmd-signup #left_content > .content-wrapper > .spacing {
        padding: 24px 20px;
        font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    }
    .cmd-signup #left_content > .content-wrapper > .spacing > h3 {
        font-size: 24px;
        line-height: 1.3;
        color: #34465e;
        margin: 0 0 24px;
    }
    #singupform .newchecker label {
        display: block;
        font-size: 14px;
        font-weight: 600;
        line-height: 20px;
        margin: 0 0 8px;
        color: #43546b;
    }
    #singupform input[type="text"], #singupform input[type="password"],
    #singupform input[type="email"], #singupform select, #singupform textarea {
        min-height: 44px;
        padding: 10px 12px;
        margin: 0;
        font-size: 16px;
        line-height: 22px;
        color: #34465e;
        background: #fff;
        border: 1px solid #bcc9d8;
        border-radius: 6px;
        box-shadow: none;
    }
    #singupform input:focus, #singupform select:focus, #singupform textarea:focus {
        border-color: #3371cb;
        box-shadow: 0 0 0 2px rgba(51, 113, 203, .15);
    }
    #singupform .form-actions {
        padding: 0;
        margin: 20px 0 0;
        border: 0;
        background: transparent;
    }
    #singupform .form-actions .btn {
        width: 100%;
        min-height: 46px;
        box-sizing: border-box;
        padding: 12px 16px;
        font-size: 16px;
        border-radius: 6px;
    }
}
@media (max-width: 440px) {
    #singupform .g-recaptcha {
        transform: scale(.8);
        transform-origin: left top;
    }
}

@media (max-width: 767px) {
    #cart #cont, #cart #onestepcontainer, #cart #configer, #cart #orderform {
        width: 100%; min-width: 0; box-sizing: border-box;
    }
    /* Order pages inject fixed widths directly into their HTML. */
    #cart #configer > .left, #cart #configer > .right,
    #cart .newbox1, #cart #pcontainer {
        float: none; width: 100% !important; min-width: 0;
        margin-left: 0; margin-right: 0; box-sizing: border-box;
    }
    #cart .newbox1 { padding: 12px; }
    #cart #cart3 table { table-layout: fixed; width: 100%; }
    #cart #cart3 td { padding: 10px 0; overflow-wrap: anywhere; }
    #cart #cart3 td.cf_option {
        padding: 10px 0 16px !important;
        background: none !important;
    }
    #cart #cart3 .cf_option label {
        font-size: 14px;
        line-height: 20px;
        margin-bottom: 6px;
    }
    #cart #cart3 .cf_option > label + br { display: none; }
    #cart #cart3 .descr {
        white-space: normal;
        font-size: 13px;
        line-height: 1.5;
        color: #505d72;
        margin: 0 0 8px;
    }
    #cart #cart3 .newbox1 > small {
        display: block;
        font-size: 12px;
        line-height: 1.5;
        margin-top: 4px;
    }
    #cart #cart3 input.custom_field {
        min-height: 40px;
        padding: 8px 10px;
        font-size: 16px;
    }
    #cart #updater > table,
    #cart #updater > table > tbody,
    #cart #updater > table > tbody > tr,
    #cart #updater > table > tbody > tr > td {
        display: block; width: 100% !important; box-sizing: border-box;
    }
    #cart .newchecker { table-layout: fixed; width: 100%; }
    #cart .newchecker td { padding: 8px 0; border-right: 0; }
    #cart #updater input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
    #cart #cart3 input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
    #cart #updater select, #cart #c_notes {
        width: 100% !important; max-width: 100%; box-sizing: border-box;
    }
    #cart .newbox1header { height: auto; }
    #cart .newbox1header .wbox_menu {
        position: static; float: none; margin: 0; display: flex; flex-wrap: wrap;
    }
    #cart .newbox1header .wbox_menu li {
        float: none; white-space: normal; box-sizing: border-box; max-width: 100%;
    }
    #cart .ttable { table-layout: fixed; }
    #cart .ttable td, #cart .ttable th { overflow-wrap: anywhere; padding: 8px 4px; }
    #cart .g-recaptcha { float: none; }
    #cart #cart-login { width: 100%; margin: 0; }
    #cart #cart-login,
    #cart #cart-login > tbody,
    #cart #cart-login > tbody > tr,
    #cart #cart-login > tbody > tr > td {
        display: block;
        width: 100% !important;
        box-sizing: border-box;
        text-align: left;
    }
    #cart #cart-login td { padding: 8px 0; }
    #cart #cart-login label { display: block; }
    #cart #cart-login td > span { float: none !important; width: 100% !important; }
}
@media (max-width: 440px) {
    #cart #updater .g-recaptcha {
        transform: scale(.8); transform-origin: left top;
    }
}
@media (max-width: 767px) {
    #page, #login-widget { min-width: 0; }
    #page #main-side, #page #main-side.hover {
        float: none;
        width: 100%;
        height: auto !important;
    }
    #page #main-side header, #page #main-side nav,
    #page #main-side.hover .main_menu {
        width: 100%;
        box-sizing: border-box;
    }
    #page #main-side header { height: 54px; }
    #page #main-side header h4 {
        display: inline-block;
        margin-top: 18px;
    }
    #page #main-side header i { top: 10px; }
    #page #main-side nav { display: none; height: auto !important; }
    #page.mobile-menu-open #main-side nav { display: block; }
    #page #main-side .nav > li > a > span { opacity: 1; }
    #page #main-side .main_menu span:nth-child(2),
    #page #main-side .main_menu span:nth-child(3) { display: inline-block; }
    #page #main-side .dropdown-menu {
        position: static;
        float: none;
        width: auto;
        margin: 0 12px;
    }
    #page #main-side .dropdown-menu:before { display: none; }
    #page #logout { position: static; }
    #page #logout li { width: 100%; padding: 0; }
    #page #logout li a .entypo { padding: 0 12px 0 0; }
    #page #logout li a span:last-child { opacity: 1; }
    #main-section { clear: both; margin: 0; }
    #page #left_content { width: 100%; margin: 0; overflow: visible; }
    #page #main_row { overflow: visible !important; }
    #page #section-border {
        position: relative;
        margin-left: 0;
        height: auto;
        z-index: auto;
    }
    #main-footer { position: static; height: auto; padding: 16px; }
    #main-footer .span12 { margin: 0; }
    #main-footer .copyrights, #main-footer .footer_nav {
        float: none;
        margin: 12px 0 0;
        overflow-wrap: anywhere;
    }
    #main-header .brand { max-width: calc(100% - 68px); overflow-wrap: anywhere; }
    #main-header .nav-collapse { max-width: 100%; }
    #main-header .nav-collapse .nav { height: auto; }
    #main-header .nav-collapse .dropdown-menu {
        position: static;
        float: none;
        margin: 0;
    }
    #ca11 .spacing, #cart { padding: 12px; }
    #ca11 input, #ca11 select, #ca11 textarea,
    #login-widget input, #login-widget select { max-width: 100%; box-sizing: border-box; }
    #ca11 .form-horizontal .control-label {
        float: none;
        width: auto;
        text-align: left;
    }
    #ca11 .form-horizontal .controls { margin-left: 0; }
    #ca11 .form-horizontal .form-actions { padding-left: 12px; }
    #ca11 table.table {
        display: block;
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    #ca11 img { max-width: 100%; height: auto; }
    #ca11 h1, #ca11 h2, #ca11 h3, #ca11 p { overflow-wrap: anywhere; }
    #tickets_nav li { width: 100%; height: 54px; }
    #tickets_nav li a { padding-top: 16px; font-size: 16px; }
    /* Login rows must not retain the desktop label/input columns. */
    #login-widget .right_container { padding: 16px; box-sizing: border-box; }
    #login-widget .right_container .login-input {
        padding: 10px;
        box-sizing: border-box;
        height: auto;
    }
    #login-widget .right_container .login-input > span:first-child,
    #login-widget .right_container .login-input > .input-prepend {
        float: none;
        display: block;
        width: 100%;
        margin-left: 0;
        box-sizing: border-box;
    }
    #login-widget .right_container .login-input > span:first-child {
        text-align: left;
        padding: 0 0 6px;
        line-height: normal;
    }
    #login-widget .right_container .login-input > .input-prepend {
        white-space: normal;
        padding-right: 0;
    }
    #login-widget .login-input .input-prepend > .add-on { width: 40px; padding: 4px 8px; }
    #login-widget .right_container .login-input input[type="text"],
    #login-widget .right_container .login-input input[type="password"] {
        width: calc(100% - 40px);
    }
    #login-widget .right_container .login-input .captcha-input {
        padding: 0;
        min-height: 78px;
    }
    #login-widget .login_footer { position: static; padding: 0 16px 12px; }
    #login-widget-option { display: flex; flex-wrap: wrap; gap: 8px 16px; }
    #login-widget-option .checkbox { margin: 0; }
}
@media (max-width: 400px) {
    /* The standard reCAPTCHA checkbox is 304px wide. */
    #login-widget .captcha-input .g-recaptcha {
        transform: scale(.84);
        transform-origin: left top;
    }
}
