/* Style an <a href> button like a <button> button */



/* IFrame styling based on mock-ups provided by Insulet for GCx */
body.embedded .round-button,
body.embedded .round-button-light,
body.embedded .round-button-light-nohover {
    margin-top: 0;
    max-width: unset;
}

body.embedded .modal-dialog {
    margin-top: 1.75rem;
}

body.embedded .credential-container.forgot-container.op5-container .credential-block {
    padding: 0;
    margin: 0;
}

body.embedded #resetPasswordCriterias {
    margin-left: -3px;
}

body.embedded .op5-container {
    margin-top: -7px;
    margin-right: -10px;
    margin-left: -10px;
    padding: 0 4px; /* left and right padding required so that a focus indicator around buttons is not cut off */
    width: unset;
}

body.embedded .border-bottom {
    border-bottom: 2px solid rgb(221, 219, 218) !important;
}

body.embedded .text-muted {
    color: rgb(128, 128, 128) !important;
}

body.embedded .form-group {
    margin-bottom: 30px;
}

body.embedded .form-group.form-group-header {
    margin-top: 22px;
    margin-bottom: 8px;
}

body.embedded .form-row {
    align-items: unset !important;
}

body.embedded .form-row > .col,
body.embedded .form-row > [class*="col-"] {
    padding-right: 15px;
    padding-left: 15px;
}

body.embedded #password-requirements-container {
    padding-left: 10px;
    padding-right: 10px;
}

.form-link {
    text-align: left;
    padding-left: 0;
    padding-top: 10px;
}

.form-link:focus {
    outline: unset; 
    -webkit-box-shadow: unset;
    box-shadow: unset;
}

@media(max-width:767.98px) {
    body.embedded .btn:not(.dropdown-toggle) {
        margin-bottom: unset;
    }

    body.embedded .form-group.form-group-cta {
        margin-bottom: 20px;
    }

    body.embedded .form-row.form-row-cta {
        padding-bottom: 10px;
    }

    .form-link {
        padding-top: 0;
        padding-bottom: 0;
        line-height: 0;
        margin-top: -8px;
    }
}

@media (max-width: 900px) {
    body.embedded.mobile-ui .op5-container {
        max-width: unset; 
    }
}

/* Input styling based on mock-ups provided by Insulet for GCx */

.field-icon {
    margin-top: -42px;
}

#frm_LoginInfo .field-icon {
    top: unset;
}

input.accent:not(.input-validation-error),
input.accent:hover:not(.input-validation-error),
input.accent:focus:not(.input-validation-error) {
    border-color: #976ecd;
    border-width: 2px;
}

label.accent {
    color: #976ecd;
}

input.form-control:focus + label.accent {
    color: #976ecd;
}

/* Button styling based on mock-ups provided by Insulet for GCx */

.round-button,
.round-button-light,
.round-button-light-nohover {
    max-width: 384px;
    margin: 4px 0 0;
}

.round-button-light {
    border: solid 2px;
}

.round-button:hover[disabled] {
    background-color: #976ecd;
    color: white;
}

.round-button-light:hover[disabled] {
    background-color: white;
    color: #976ecd !important;
    border-color: rgb(151, 110, 205);
}

.mobile-ui .btn + .btn {
    margin-top: 2px;
}

/* Form styling based on mock-ups provided by Insulet for GCx */

.form-group {
    margin-bottom: 24px;
}

.mobile-ui .o-container {
    margin-bottom: 0;
}

/* Radio button styling based on mock-ups provided by Insulet for GCx */

.gcx-container .custom-radio {
    padding-left: 24px;
}

.gcx-container .custom-control-label {
    word-break: break-word;
}

/* Footer styling based on mock-ups provided by Insulet for GCx */

/* Sticky footer w/ variable height using flexbox */
html, body {
    min-height: 100%;
}

body {
    display: flex;
    flex-flow: column;
}

.op5-footer {
    margin-top: auto;
}

/* Select styling based on mock-ups provided by Insulet for GCx */
.mobile-ui .form-control.custom-select {
    line-height: unset !important;
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 2 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;
}

/* General color & font styling based on mock-ups provided by Insulet for GCx */
.bg-op5-orange {
    background-color: #ffca66;
}

.ff-op5-bold {
    font-family: 'OpenSans-Bold','HelveticaNeue-Light','Helvetica Neue Light','Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;
}

.ff-op5-header {
    font-family: 'IBMPlexSans-SemiBold','HelveticaNeue-Light','Helvetica Neue Light','Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif !important;
}

.fs-xs {
    font-size: 12px;
}

.fs-sm {
    font-size: 14px;
}

.fs-md {
    font-size: 16px;
}

.fs-lg {
    font-size: 18px;
}

.fs-xl {
    font-size: 20px;
}

/* Tooltip styling based on mock-ups provided by Insulet for GCx */

.tooltip {
    font-family: 'OpenSans-Regular','HelveticaNeue-Light','Helvetica Neue Light','Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;
    font-size: 16px;
}

.tooltip-inner {
    max-width: 380px;
    padding: 16px;
    text-align: left;
    background-color: #743dbc;
    border-radius: .25rem;
}

.tooltip.show {
    opacity: 1;
}

.tooltip.bs-tooltip-auto[x-placement^=top] .arrow::before, .tooltip.bs-tooltip-top .arrow::before {
    border-top-color: #743dbc;
}

i.info-circle {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #743dbc;
    color: #fff;
    display: inline-block;
    text-align: center;
    font-size: 12px;
    cursor: default;
    font-style: normal;
}

/* 
    .gcx-container, .gcx-block, and .gcx-form are cribbed from .credential-container, .credential-block, and
    .credential-sign-in respectively, so that we can apply consistent style that is based on the sign-in
    form across new pages.
 */
.gcx-container {
    width: 100%;
    margin: 26px auto 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.mobile-ui .gcx-container {
    max-width: 950px;
    display: block;
    padding-left: 0;
    padding-right: 0;
}

.gcx-container .form-control {
    font-size: 18px;
}

.mobile-ui .gcx-container .form-control {
    font-size: 14px;
    line-height: 1;
    height: 54px;
    border-radius: 5px;
}

.mobile-ui .gcx-block {
    padding: 10px 5px 20px 5px;
}

.gcx-container .gcx-form .form-group .h5 {
    font-family: 'OpenSans-Bold','HelveticaNeue-Light','Helvetica Neue Light','Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif !important;
    font-size: 16px;
    margin-bottom: 1rem;
}

.gcx-container .gcx-form .btn {
    max-width: 350px;
}

.gcx-container .gcx-form .form-control {
    font-family: 'OpenSans-Regular','HelveticaNeue-Light','Helvetica Neue Light','Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif !important;
    max-width: 445px;
}

.gcx-container .gcx-form .form-header {
    margin-bottom: 20px;
}

.gcx-container .gcx-form .form-footer {
    padding-top: 0;
}

@media(max-width:767px) {
    .gcx-container {
        display: block;
        width: 100%;
        margin-top: 5px;
        margin-bottom: 0;
    }

    .gcx-block.gcx-form {
        padding: 0px 5px 5px;
    }

    .gcx-container .gcx-form .btn {
        max-width: unset;
    }

    .gcx-container .gcx-form .form-control {
        max-width: unset;
    }

    .mobile-ui .o-container {
        margin-bottom: 18px;
    }
}

/* 
    UX feedback from Insulet has stated that buttons should not exceed 384px, but the mock-ups provided for mobile 
    screens, which are 414px wide, show the CTA buttons at full-width, which exceeds 384px on occasion. The following 
    allows for satisfying both of the above requirements.
 */
@media(max-width:414px) {
    .round-button,
    .round-button-light,
    .round-button-light-nohover {
        max-width: unset;
    }
}

/*
    Support for RTL.
 */
/* Utility class to apply to individual elements that read right-to-left. */
.rtl {
    direction: rtl;
    text-align: right !important;
}
/* Utility class to apply to individual elements that read left-to-right. */
.ltr {
    direction: ltr;
    text-align: left !important;
}
/* Customize the location of input control labels so they attach to the right-hand-side of the element. */
input.form-control:focus + label:dir(rtl) {
    left: initial;
    right: 10px
}

.input-has-value:dir(rtl) .credential-label:dir(rtl), .input-validation-error:dir(rtl) .credential-label:dir(rtl){
    left: 10px;
    opacity: 1;
    visibility: visible;
    top: -10px;
    -webkit-transform: translate(0,0) scale(1);
    transform: translate(0,0) scale(1);
    color: #1B1A1A;
    left: initial;
    right: 10px;
}
