﻿
/* ======================================================================== */
/* Basic Page Structure                                                     */
/* ======================================================================== */
body {
    background: linear-gradient(5deg, rgba(92,111,119,1) 0%, rgba(63,80,86,1) 21%, rgba(25,39,42,1) 63%, rgba(1,1,1,1) 100%);
    color: white;
    font-family: LatoWeb;
}

h1, h2, h3 {
    font-family: LatoWebLight;
}

h3 {
    font-weight: bolder;
    font-style: italic;
}

p {
    font-family: LatoWeb;
}

.RadioButtonHeading {
    font-family: LatoWebLight;
    display: inline;
    font-weight: bold;
}

.HeaderBar {
    background-color: #2d3d41;
    height: 110px;
    width: 100%;
}

.HeaderImageContainer {
    display: inline-block;
    text-align: center;
    width: 100%;
    height: 100%;
}

/* Allows vertical aligning of the logo as it resizes on smaller screens */
.vert-align {
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}

#SkycommandLogo {
    width: 400px;
    vertical-align: middle;
}

/* Approx. smaller than a portrait tablet. Forces the logo to the left 
    and to leave enough room for the login/account buttons
*/
@media screen and (max-width: 768px) {
    .HeaderImageContainer {
        text-align: left;
    }

    #SkycommandLogo {
        max-width: calc(100% - 150px);
    }
}

.LoginButtonContainer {
    position: absolute;
    width: 110px;
    top: 17px; /* (110px header bar - 75px height of container) / 2 */
    right: 20px;
}

    .LoginButtonContainer button {
        display: block;
        width: 100%;
    }

/* Login buttons are fixed to the top right of the screen. Once the screen
    goes beyond the size of the 1024px margin, this fixes them to the margin position instead. */
@media screen and (min-width: 1024px) {
    .LoginButtonContainer {
        right: calc(50vw - (1024px /2) + 20px);
    }
}

#CopyrightInfo {
    margin-bottom: 10px;
    font-size: small;
}

.SubheaderBar {
    font-family: LatoWebMedium;
    color: white;
    padding: 0px 20px;
}

    /* "Clearfix" fix as the subheader bar contains only floated elements.
    http://stackoverflow.com/a/1633170
*/
    .SubheaderBar::after {
        content: "";
        display: block;
        clear: both;
    }

.MarginContainer {
    width: 1024px;
    max-width: 100%;
    margin: auto;
}

.PageDescriptionBar {
    padding-bottom: 10px;
}

.MainContent {
    padding: 10px 20px 20px;
    background-color: rgba(0,0,0,0.4);
}

#InnerRangeFooterLogo {
    width: 200px;
    margin: 20px;
}

.SubheaderRight {
    float: right;
}

.SubheaderLeft {
    float: left;
}

.UserWelcomeText {
    padding: 10px 0px;
}

/* Approx. smaller than a portrait tablet. Hides the "Welcome, John Smith" text 
    as it will start to overlap with the page title (if any)
*/
@media screen and (max-width:768px) {
    .HideOnMobile {
        display: none;
    }
}

.FillBackgroundContainer {
    width: 100%;
    top: 279px; /*Header Overhead 160px HDR + */
    bottom: 142px; /*Footer Overhead*/
    min-height: calc(100vh - 252px); /* 100% - (Header of 110px + Footer of 142px) */
    background-color: rgba(0,0,0,0.4);
    overflow: hidden;
}

.hidden {
    display: none;
}

.ValidationErrorBox {
    background-color: #ff7455;
    padding: 5px;
    border-radius: 4px;
    text-align: center;
}

.ProgressGears {
    display: block;
    margin: auto;
    width: 75px;
}

/* ======================================================================== */
/* Login page Styles                                                        */
/* ======================================================================== */
.LoginContainer {
    width: 250px;
    min-height: 300px;
    background-color: rgba(170,170,170,0.8);
    border-radius: 8px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

.LoginContainerWrap {
    min-height: 350px; /* Based on the min-height of 300px above. Not perfect, but prevents footer from overlapping on small devices*/
}

@media screen and (max-width:260px) {
    .LoginContainer {
        width: auto;
    }
}

.LoginHeaderText {
    margin: 20px;
    font-size: large;
}

.LoginControlContainer {
    margin: 8px auto 8px auto;
    width: 80%;
    height: 35px;
    /* border-color: blue; */
    /* border-style: solid; */
    box-sizing: border-box;
}

    .LoginControlContainer label {
        background-color: #2A3D41;
        border-radius: 5px 0px 0px 5px;
        height: 100%;
        width: 15%;
        display: block;
        float: left;
        line-height: 200%;
    }

    .LoginControlContainer > input[type="text"],
    .LoginControlContainer > input[type="password"] {
        border-radius: 0px 5px 5px 0px;
        border-width: 0px;
        padding: 6px;
        display: block;
        height: 100%;
        box-sizing: border-box;
        width: 85%;
        float: right;
    }

.LoginSignInButton {
    height: 45px;
    width: 90%;
    background-color: #2A3D41;
    border-radius: 5px;
    border-style: none;
    color: white;
    font-family: LatoWebLight;
    font-size: 17pt;
    margin: 10px;
}

.SignupLink {
    display: block;
    font-family: latoweb;
    font-size: small;
    color: white;
}



/* ======================================================================== */
/* Fixed Height Sticky Footer Implementation                                */
/* ======================================================================== */
html {
    position: relative;
    min-height: 100%;
}

body {
    margin: 0 0 142px; /* equal to footer height */
}

.site-footer {
    height: 142px;
    left: 0;
    bottom: 0;
    position: absolute;
    width: 100%;
    text-align: center;
}



/* ======================================================================== */
/* Menu Bar Structure                                                       */
/* ======================================================================== */
.MenuBar {
    display: table;
    margin: auto;
    width: 100%;
    padding: 0px;
    max-width: 1024px;
    text-align: center;
}

#MenuContainer {
    width: 100%;
    background-color: #2d3d41;
}

.MenuBar li {
    display: table-cell;
    cursor: pointer;
}

.MenuBar > li > a {
    color: white;
    display: block;
    padding: 10px;
    text-decoration: none;
}

.MenuBar > li a:hover,
.MenuBar li.MenuSelected {
    background-color: #192224;
}

/* The "responsive" menu button only shown on mobile devices */
.menuIcon {
    display: none;
    font-size: 25px;
    float: right;
    padding: 10px;
}

    .menuIcon > a {
        color: white;
        padding: 10px;
        text-decoration: none;
    }

.ResponsivePageTitle {
    display: none;
    position: absolute;
    padding: 10px;
    font-size: 20px;
}

/* ======================================================================== */
/* Device Navigation Structure                                                       */
/* ======================================================================== */
.DeviceBar {
    display: table;
    width: 100%;
    text-align: center;
}

#DeviceContainer {
    width: 100%;
    padding: 10px 0px 10px 0px; /* seems to be a bug with the way width 100% is working here */
}

.DeviceBar a {
    display: table-cell;
    cursor: pointer;
}

.DeviceBar > a {
    color: white;
    display: inline-table;
    text-decoration: none;
}

.DeviceBar > a:hover,
.DeviceBar a.MenuSelected {
    background-color: #192224;
}

/* The "responsive" menu button only shown on mobile devices */
.deviceIcon {
    display: none;
    font-size: 25px;
    float: right;
    padding: 10px;
}

    .deviceIcon > a {
        color: white;
        padding: 10px;
        text-decoration: none;
    }

/* Approx. smaller than a portrait tablet. Hides the menu bar and replaces it 
    with a menu button that can "expand" to show the menu items
*/
@media screen and (max-width:48em) {
    .menuIcon,
    .ResponsivePageTitle {
        display: inline-block;
    }

        .menuIcon.responsive,
        ul.MenuBar li a {
            background-color: #233033;
        }

    ul.MenuBar li {
        display: none;
    }

    ul.MenuBar.responsive li {
        display: inline;
    }

        ul.MenuBar.responsive li a {
            text-align: left;
        }
}

@media screen and (max-width:48em) {
    .deviceIcon,
    .ResponsivePageTitle {
        display: inline-block;
    }

    .DeviceBar a {
        display: none;
    }

    .DeviceBar.responsive a {
        display: inline-table;
    }
}



/* ======================================================================== */
/* Home Page Styles                                                         */
/* ======================================================================== */
.HomePageImage {
    width: 100%;
    position: relative;
    /* height: 300px; */
    /* background-image: url('/Assets/img/homepage_image.jpg'); */
}

    .HomePageImage img {
        width: 100%;
        display: block;
    }

@keyframes animatedBackground {
    from {
        background-position: right 550px;
    }

    to {
        background-position: right bottom;
    }
}

.HomePageFGImage {
    z-index: 1;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    background-image: url('/Assets/img/skycommand hand.png');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: right bottom;
    animation: animatedBackground 1s ease-in-out;
    -ms-animation: animatedBackground 1s ease-in-out;
    -moz-animation: animatedBackground 1s ease-in-out;
}


/* ======================================================================== */
/* Action Page Styles                                                       */
/* ======================================================================== */
#StatusBackground {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    border-width: medium;
    border-color: darkblue;
    border-style: solid;
    background-color: rgba(0,0,255,0.8);
    margin: auto;
}

.GridCommandButton{
    border-style:solid;
    border-radius: 5px;
    margin:3px;
    color: white;
    font-size: 15px;
}

#EntityName {
    text-transform: uppercase;
    font-size: larger;
    font-weight: bold;
}

#EntityDescription {
}

#EntityStateContainer {
    text-align: center;
}

.ActionPageContainer {
    padding: 10px;
}

.ActionContainer {
    margin: 20px;
}

    .ActionContainer button {
        display: inline-block;
        padding: 6px 12px;
        margin-bottom: 0;
        font-size: 14px;
        font-weight: 400;
        line-height: 1.42857143;
        text-align: center;
        white-space: nowrap;
        vertical-align: middle;
        cursor: pointer;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        background-image: none;
        border: 1px solid transparent;
        border-radius: 4px;
        border-radius: 4px;
        background-color: #2d3d41;
        color: white;
    }

.ControlItemToolbar {
    padding-bottom: 15px;
}

#SelectedDeviceName {
    color: orange;
}

.StatusIcon {
    padding: 0;
    max-width: 50px;
    width: 50px;
    text-align: center;
    font-size: 30px;
}

    .StatusIcon span {
        line-height: 50px;
    }

/* ======================================================================== */
/* Securenet Portal Styles                                                  */
/* ======================================================================== */
.snetFrame{
    width: 100%;
    height: 900px;
}

/* ======================================================================== */
/* Searchable Grid Styles                                                   */
/* ======================================================================== */

.TablePageContainer {
    padding: 10px 20px 20px;
    position: relative;
}

.GridSearchBar {
    display: table;
    width: 100%;
    height: 35px;
}

.GridSearchRow {
    display: table-row;
    height: 100%;
}

.left-align-icon {
    display: table-cell;
    width: 45px;
    background-color: #2d3d41;
    border-radius: 6px 0px 0px 6px;
    font-weight: bold;
    font-size: large;
    text-align: center;
    vertical-align: middle;
}

.SearchBarInput {
    display: table-cell;
    width: 100%;
    height: 100%;
    border-width: 0px;
    border-radius: 0px 6px 6px 0px;
    box-sizing: border-box;
    padding: 0px;
    font-size: large;
    padding-left: 10px;
    vertical-align: bottom;
}

.SearchBarActions {
    display: table-cell;
    padding-left: 15px;
    width: 1px;
}

.SearchBarActions button {
    width: 105px;
    height: 100%;
    border: 0px;
    padding: 0px;
    background-color: #2d3d41;
    color: white;
    border-radius: 4px;
    vertical-align: bottom;
}

.DeviceGrid {
    width: 100%;
    border-collapse: collapse;
}

th {
    background-color: #2d3d41;
    font-weight: normal;
    padding: 8px;
    text-align: left;
    color:white;
}

tr {
    border-bottom: 2px solid #2d3d41;
}

td {
    padding: 8px;
}

.RowDeviceInfo {
    text-align: left;
}

.linkRow {
    cursor: pointer;
}

@media screen and (max-width:768px) {
    .DeviceGrid, 
    .IREditGrid {
        font-size: 13px;
    }
}

.CellDeviceStatus {
    width: 80px;
    text-align: center;
    padding: 5px;
}

@media screen and (max-width:768px) {
    .stackSmDevice {
        display: block;
    }
    .IREditGrid td.stackSmDevice {
        overflow-x: hidden;
        text-overflow: ellipsis;
        max-width: 200px;
    }

    .CellDeviceNotes {
        font-style: italic;
        font-size: small;
    }
}
@media screen and (max-width:450px) {
    .IREditGrid td.stackSmDevice {
        max-width: 70px;
    }
}

.IREditGrid th.tableSplit, 
.IREditGrid td.tableSplit  {
    padding: 0;
    width: 0;
    max-width: 0;
}
th.tableOption {
    display: none;
}
td.tableOption {
    display: block;
    padding: 2px;
}

.GridDeviceName {
    text-transform: uppercase;
    font-weight: bold;
}

.DeviceGrid tr:hover {
    background: rgb(41, 61, 65) none repeat scroll 0 0;
    color: white;
}

.GridIcon {
    height:32px; 
    width:32px;
    font-size: 32px;
    text-decoration: none;
}

.DeviceGrid .GridIcon {
    color: white;
}

/* ======================================================================== */
/* Editable Grid Styles*/
/* ======================================================================== */
.IREditGrid {
    width: 100%;
    border-collapse: collapse;
}

.IREditGrid thead {
    background-color: #2d3d41;
    font-weight: normal;
    color: white;
}

.IREditGrid th {
    padding: 8px;
    text-align: left;
}

.IREditGrid a {
    cursor: pointer;
}

.IREditGridBody input {
    width:100%;
    box-sizing: content-box; 
}


/* ======================================================================== */
/* Input Control Styles                                                     */
/* ======================================================================== */
.RightAlign{
    text-align:right;
}

.EditorPageContainer {
    border-radius: 5px;
    margin: auto;
    background-color: rgba(255, 255, 255, 0.9);
    padding: 1px 18px 38px 18px;
    box-sizing: border-box;
    box-shadow: 2px 2px 10px black;
    color: black;
}

.DiagnosticsPageContainer {
    width: 1024px;
    max-width: 90%;
    margin: auto;
    box-sizing: border-box;
}

.CenteredBox {
    position: relative;
    border-radius: 5px;
    width: 480px;
    max-width: 90%;
    margin: auto;
    background-color: rgba(255, 255, 255, 0.9);
    padding: 1px 18px 38px 18px;
    box-sizing: border-box;
    margin-top: 60px;
    box-shadow: 2px 2px 10px black;
    color: black;
}

.form-item {
    margin: 8px 0 8px 0;
    min-height: 40px;
    overflow: hidden;
}

.form-label {
    float: left;
    width: 30%;
    text-align: right;
    padding-right: 15px;
    box-sizing: border-box;
    padding-top: 6px;
}

.form-control-container {
    width: 70%;
    display: inline-block;
}

@media screen and (max-width: 768px) {
    .form-label {
        float: none;
        text-align: left;
        padding-right: 15px;
        box-sizing: border-box;
        padding-top: 6px;
        display: block;
        width: 100%;
    }

    .form-control-container {
        width: 100%;
        display: inline-block;
    }
}

.form-item input {
    width: 100%;
    border-radius: 5px;
    border-style: solid;
    border-color: grey;
    border-width: 2px;
    padding: 6px;
    box-sizing: border-box;
}

.form-item select {
    width: 100%;
    border-radius: 5px;
    border-style: solid;
    border-color: grey;
    border-width: 2px;
    padding: 6px;
    box-sizing: border-box;
}

.form-item input[type="radio"] {
    width: auto;
}

.help-block {
    display: block;
    margin-top: 5px;
    margin-bottom: 10px;
    color: #737373;
    font-size: small;
}

.FieldValidationErrorBox {
    color: white;
	background-color: #eb3324;
    margin: 2px;
    border-radius: 4px;
    text-align: center;
    font-size: small;
	padding-top: 2px;
}

.FieldValidationGoodBox {
    color: white;
    background-color: #257306;
    margin: 2px;
    border-radius: 4px;
    text-align: center;
    font-size: small;
    padding-top: 2px;
}

.PageBannerError {
    color: white;
    background-color: #eb3324;
    margin: 2px;
    border-radius: 4px;
    text-align: center;
    padding-top: 2px;
}

.PageBannerWarning {
    color: white;
    background-color: #eb9724;
    margin: 2px;
    border-radius: 4px;
    text-align: center;
    padding-top: 2px;
}

.RightAlignRelativeContainer {
    position: relative;
    float: right;
}

.EditDeviceProductLogo {
    width: 200px;
    margin-top: 18px;
    max-height: 100px;
}

.InfoContainer {
    /*display: inline-block; Removing this for now - although it looks good on default pages, over time our fields have gotten much wider sometimes and it looks really bad then */
    margin-right: 30px;
    vertical-align: top;
}

.infoContainer > p {
    margin: 0px;
}

.deviceControlButton {
    height: 100px;
    width: 100px;
    text-decoration: none;
    padding: 2px;
    margin: 4px;
    border: 1px solid transparent;
    border-radius: 4px;
    Background-color: #2d3d41;
    color: white;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.42857143;
    text-align: center;
    vertical-align: middle;
}

.deviceControlButton img {
    height: 80px;
    width: 80px;
}

.deviceControlButton i {
    font-size: 80px;
    margin-bottom: 6px;
}

.OverlayDiv {
    background-color: white;
    opacity: 0.6;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
    text-align: center;
    border-radius: 8px;
}

    .OverlayDiv > img {
        position: absolute;
        top: 0;
        bottom: 0;
        display: inline;
    }

.userProfileImg {
    display: inline-block;
    width: 30%;
    min-width: 200px;
}

/* ======================================================================== */
/* Enrollment Page custom styles                                            */
/* ======================================================================== */

.AddDeviceImage :hover {
    filter: none;
}

.HorizontalImageTable {
    text-align: center;
}

    .HorizontalImageTable > div {
        width: 130px;
        height: 70px;
        vertical-align: top;
        padding: 20px;
        display: inline-block;
        border-style: solid;
        border-radius: 5px;
        margin-bottom: 5px;
    }

    .HorizontalImageTable > button {
        margin-top: 5px;
        background-color: lightgrey;
        height: 100px;
        width: 200px;
        max-width: 200px;
        max-height: 100px;
    }
    .HorizontalImageTable img {
        max-width: 176px;
        max-height: 88px;
        display: inline-block;
        vertical-align: middle;
    }

    .HorizontalImageTable:after {
        content: "";
        width: 100%;
        display: inline-block;
    }

/* ======================================================================== */
/* Wizard (jquery.steps) style fixup                                        */
/* ======================================================================== */

#AddDeviceWizard > .steps .current a, #AddDeviceWizard > .steps .current a:hover, #AddDeviceWizard > .steps .current a:active,
#AddDeviceWizard > .actions a, #AddDeviceWizard > .actions a:hover, #AddDeviceWizard > .actions a:active {
    background: #2d3d41;
    color: #fff;
}

#AddDeviceWizard > .steps .done a, #AddDeviceWizard > .steps .done a:hover, #AddDeviceWizard > .steps .done a:active {
    background: #A9B9BC;
    color: #fff;
}

div.steps ul {
    width: 100%;
}

.wizard .content h2 {
    margin-top: 0px;
}

#AddDeviceSummary {
    padding-left: 40px;
}

#CompleteEnrolment {
    padding-top: 20px;
}

/*Stop the more "specific" selector in the JQuery Library from ruining our global style*/
.wizard > .content > .body input {
    border:  2px solid grey;
}

/*#DeviceTypesPanel :hover {
    filter: drop-shadow(5px 5px 5px #222);
}*/

/* ======================================================================== */
/* Diagnostic Page custom styles                                            */
/* ======================================================================== */

#PathInfoSummary {
    width: 100%;
    display: inline-block;
}

.PathStatus {
    background-color: #2d3d41;
    margin-top: 0px;
    margin: -5px -5px 0px -5px;
    padding: 10px 10px 0px 10px;
    height: 40px;
}

.PathStatusContainer {
    background-color: #2d3d41;
    padding: 5px;
    margin-bottom: 15px;
    color: white;
}

.PathStatusIcon {
    float: right;
    display: inline-block;
    font-size: xx-large;
}

#EthernetStatusFlags input {
    width: initial;
}

#SIMCardSummary {
    width: 70%;
    display: inline-block;
}

.ProgressBar {
    position: relative;
    width: 100%;
    height: 30px;
    background-color: #2d3d41;
    border-style: solid;
    box-sizing: border-box;
    border-radius: 5px;
    text-align: center;
    white-space: nowrap;
}

.ProgressIndicator {
    position: absolute;
    width: 1%;
    height: 100%;
    background-color: green;
}

/* ======================================================================== */
/* Modal Window Styles                                                      */
/* ======================================================================== */


/* The Modal (background) */
.modal {
    background-color: rgba(255, 255, 255, 0.9);
    color: black;
    box-shadow: 2px 2px 10px black;
    padding: 0px;
    max-width: 90%;
}

.modal-content {
    padding: 15px 30px;
}

/* ======================================================================== */
/* Button Styles                                                            */
/* ======================================================================== */

.btn-glyph-r {
    background-color: #2d3d41;
    color: white;
    border-style: solid;
    border-width: 2px;
    font-family: LatoWebMedium;
    margin: 5px;
    text-align: left;
    /*border-radius: 5px;*/
    cursor: pointer;
    height: 30px;
}

    .btn-glyph-r > span {
        float: right;
    }

.btn-container {
    margin-top: 40px;
    text-align: right;
}

.btn {
    display: inline-block;
    padding: 6px 6px;
    margin: 6px 0px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.42857143;
    text-align: center;
    /*white-space: nowrap; This breaks text wrapping in buttons and doesn't seem to be necessary*/
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 4px;
    background-color: #2d3d41;
    color: white;
}

.btn:disabled {
	background-color: #abb1b3
}

.btn-fullwidth {
    width: 100%;
    font-size: large;
    font-family: LatoWeb;
}

.btn-margin {
    margin-top: 18px;
}

.btn-success {
    color: #fff;
    background-color: #5cb85c;
    border-color: #4cae4c;
}

.btn-info {
    color: #fff;
    background-color: #5bc0de;
    border-color: #46b8da;
}

.btn-warning {
    color: #fff;
    background-color: #f0ad4e;
    border-color: #eea236;
}

.btn-danger {
    color: #fff;
    background-color: #d9534f;
    border-color: #d43f3a;
}

.btn-default {
    color: #333;
    background-color: #fff;
    border-color: #ccc;
}

/* ======================================================================== */
/* Test Window Shit                                                         */
/* ======================================================================== */

#DevicesPanel {
    display: table;
    width: 100%;
}

.DeviceListPanel {
    display: table-cell;
    border-top: solid transparent 6px;
    border-right: solid transparent 3px;
    width: 33%;
}

.ItemSelectionList {
    width: 100%;
    height: 100%;
}

F #TestWindow {
}


#EntityStatusResults {
    width: 100%;
    height: 200px;
}

#ActionURL {
    display: block;
    width: 100%;
    margin-top: 30px;
}

#ResultsList {
    display: table;
}

    #ResultsList li {
        display: table-row;
    }


.GSMStatus {
    float: right;
}

#ModemStatus {
    padding-right: 15px;
    box-sizing: border-box;
    padding-top: 6px;
    margin: 0;
}

/* Disable the upload button on the slim plugin, it doesn't work and we use our own submit button*/
.slim-btn-upload
{
    visibility: hidden;
}

/* ======================================================================== */
/* Misc                                                                     */
/* ======================================================================== */

.password-status
{
	margin-left: 3px;
}

/* ======================================================================== */
/* Stripe                                                                   */
/* ======================================================================== */

.StripeElement {
    box-sizing: border-box;
    height: 40px;
    padding: 10px 12px;
    border-style: solid;
    border-color: grey;
    border-width: 2px;
    border-radius: 5px;
    box-shadow: 0 1px 3px 0 #e6ebf1;
    -webkit-transition: box-shadow 150ms ease;
    transition: box-shadow 150ms ease;
    background-color: white;
}

.StripeElement--focus {
    box-shadow: 0 1px 3px 0 #cfd7df;
}

.StripeElement--invalid {
    border-color: #fa755a;
}

.StripeElement--webkit-autofill {
    background-color: #fefde5 !important;
}