﻿article, aside, details, figcaption, figure, footer, header, hgroup, nav, .divSection summary {
    display: block;
}

audio, canvas, video {
    display: inline-block;
}

    audio:not([controls]) {
        display: none;
        height: 0;
    }

[hidden], template {
    display: none;
}

html {
    background: #fff;
    color: #000;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

html, button, input, select, textarea {
    font-family: sans-serif;
}

body {
    margin: 0;
}

a {
    background: transparent;
}

    a:focus {
        outline: thin dotted;
    }

    a:hover, a:active {
        outline: 0;
    }

h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

h2 {
    font-size: 1.5em;
    margin: 0.83em 0;
}

h3 {
    font-size: 1.17em;
    margin: 1em 0;
}

h4 {
    font-size: 1em;
    margin: 1.33em 0;
}

h5 {
    font-size: .83em;
    margin: 1.67em 0;
}

h6 {
    font-size: .75em;
    margin: 2.33em 0;
}

.termsOfUseHeader {
    font-size: 1em;
    margin: 1.33em 0;
    font-weight:bold;
}

abbr[title] {
    border-bottom: 1px dotted;
}

b, strong {
    font-weight: bold;
}

dfn {
    font-style: italic;
}

mark {
    background: #ff0;
    color: #000;
}

code, kbd, pre, samp {
    font-family: monospace, serif;
    font-size: 1em;
}

pre {
    white-space: pre;
    white-space: pre-wrap;
    word-wrap: break-word;
}

q {
    quotes: "\201C" "\201D" "\2018" "\2019";
}

    q:before, q:after {
        content: '';
        content: none;
    }

small {
    font-size: 80%;
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

img {
    border: 0;
}

svg:not(:root) {
    overflow: hidden;
}

figure {
    margin: 0;
}

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

legend {
    border: 0;
    padding: 0;
    white-space: normal;
}

button, input, select, textarea {
    font-family: inherit;
    font-size: 100%;
    margin: 0;
    vertical-align: baseline;
}

button, input {
    line-height: normal;
}

button, select {
    text-transform: none;
}

button, html input[type="button"], input[type="reset"], input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
}

    button[disabled], input[disabled] {
        cursor: default;
    }

input[type="checkbox"], input[type="radio"] {
    box-sizing: border-box;
    padding: 0;
}

input[type="search"] {
    -webkit-appearance: textfield;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}

    input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
        -webkit-appearance: none;
    }

button::-moz-focus-inner, input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

textarea {
    overflow: auto;
    vertical-align: top;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

.secBtn {
    box-sizing: border-box;
    display: inline-block;
    margin: .71429rem 0;
    padding: 1rem 1.5rem;
    background: #7795ab;
    color: #fff;
    font-weight: bold;
    font-size: 1.25rem;
    text-align: center;
    text-decoration: none;
    border: none;
    border-radius: .4375rem;
    -moz-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    -webkit-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}

    .secBtn:hover {
        background: #5b7c94;
    }

button.bigBtn:disabled, a.bigBtn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

button.bigBtn:hover:not(.noHver), a.bigBtn:hover:not(.noHver) {
    background-color: #c25b0a;
}

button.bigBtn, a.bigBtn {
    text-decoration: none;
    border: .10714rem solid #c25b0a;
    -moz-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    -webkit-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
    display: inline-block;
    vertical-align: middle;
    font-weight: 300;
    text-align: center;
    color: #fff;
    font-size: 1.51429rem;
    border-radius: 0.28571rem;
    padding: 0 1.57143rem;
    cursor: pointer;
    box-sizing: border-box;
    white-space: nowrap;
    background: #eb6d09;
    max-width: 100%;
}

    button.bigBtn span, a.bigBtn span {
        padding: 1em 0;
        display: inline-block;
        vertical-align: middle;
        white-space: normal;
    }

html {
    font-size: 14px;
}

@media all and (min-width: 360px) {
    html {
        font-size: 15.75px;
    }
}

@media all and (min-width: 400px) {
    html {
        font-size: 15.75px;
    }
}

@media all and (min-width: 440px) {
    html {
        font-size: 20px;
    }
}

@media all and (min-width: 480px) {
    html {
        font-size: 21.75px;
    }
}

@media all and (min-width: 520px) {
    html {
        font-size: 23.5px;
    }
}

@media all and (min-width: 560px) {
    html {
        font-size: 25px;
    }
}

@media all and (min-width: 600px) {
    html {
        font-size: 25px;
    }
}

@media all and (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

.form-submitted input:not(:disabled).ng-invalid, .form-submitted sosi-radios label.ng-invalid, .form-submitted select:not(:disabled).ng-invalid, .form-submitted sosi-power-select div.ng-invalid {
    border-color: red !important;
}

.infoMessage {
    color: #636466;
    background: #feffcc;
    font-size: .875rem;
    display: block;
    padding: .71429em;
    margin: .1875rem 0;
    width: 100%;
    clear: both;
    box-sizing: border-box;
}

.validationMessage {
    color: #fff;
    background: #e62d43;
    font-size: .875rem;
    display: block;
    padding: .71429em;
    margin: .1875rem 0;
    width: 100%;
    clear: both;
    box-sizing: border-box;
}

.flex-spacer {
    max-width: 1em;
    min-width: 1em;
}

.field-label {
    display: flex;
}

html {
    font-smoothing: antialiased;
    width: 100%;
    font-family: "Roboto",sans-serif;
    color: #636466;
    background: #e8e8e8;
}

body {
    width: 100%;
    position: relative;
    font-family: "Roboto", sans-serif;
}

.responsive-two-cols-inverted-on-mobile .divSection, .responsive-two-cols-inverted-on-mobile button {
    margin-bottom: 1rem;
}

.wrapper {
    max-width: 95%;
    padding: 0 1rem;
    margin: 0 auto;
}

.wrapContent {
    min-height: 80vh;
}

* {
    outline: 0 !important;
}

::-moz-selection {
    background: #599dcf;
    color: #fff;
    text-shadow: none;
}

::selection {
    background: #599dcf;
    color: #fff;
    text-shadow: none;
}

.responsive-container:first-child {
    margin-top: 2.5rem;
}

.divSection {
    position: relative;
    background: #fff;
    border: .10714rem solid #dcdcdc;
    border-radius: .375rem;
    padding: .71429rem 1.42857rem 1.42857rem 1.42857rem;
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 1.25rem;
}

    .divSection h2:first-child {
        margin: 0;
        font-weight: 300;
        padding-bottom: 0.35em;
        font-size: 2.03125rem;
        border-bottom: 0.071em solid #ececec;
    }

        .divSection h2:first-child:not(.no-space-bottom) {
            margin-bottom: 1em;
        }

    .divSection h2:not(.no-tab):before {
        content: "";
        display: block;
        background: #85b9e0;
        position: absolute;
        width: 4.375rem;
        height: 0.4375rem;
        top: 0;
    }

    .divSection h2.invalid:not(.no-tab):before {
        background: #e62d43;
    }

    .divSection h3 {
        margin: 0;
        font-weight: 300;
        font-size: 1rem;
        border-bottom: .125em solid #efefef;
        padding: .1875em 0 .875em 0;
    }

    ::-webkit-input-placeholder {
        color: #b1b1b1;
    }

:-moz-placeholder {
    color: #b1b1b1;
}

:-ms-input-placeholder {
    color: #b1b1b1 !important;
}

:-ms-input-placeholder {
    color: #b1b1b1;
}

:-moz-placeholder {
    color: #b1b1b1;
}

input[type=text], input[type=tel], input[type=email], input[type=number], textarea, select, input[type=password], .fakeSelect .current {
    font-weight: bold;
    display: block;
    width: 100%;
    font-size: .5rem;
    box-sizing: border-box;
    color: #636466;
    background: #f6f6f6;
    border: 1px solid #e6e6e6;
    -moz-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    -webkit-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
    padding: .3571428571rem .3214285714rem;
    margin-bottom: .375rem;
}

    input[type=text]:focus, input[type=tel]:focus, input[type=email]:focus, input[type=number]:focus, textarea:focus, select:focus, input[type=password]:focus, .fakeSelect .current:focus {
        border-color: #438abd;
    }

    input[type=text]:disabled, input[type=tel]:disabled, input[type=email]:disabled, input[type=number]:disabled, textarea:disabled, select:disabled, input[type=password]:disabled, .fakeSelect .current:disabled {
        color: #b1b1b1;
    }

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type=number] {
    -moz-appearance: textfield;
}

select {
    appearance: none;
    padding-right: 1.25rem;
    background-image: url(/assets/chevron-down.png);
    background-repeat:no-repeat;
    background-position:center right .3214285714rem;
    background-size: .7142857143rem auto;
}

    select::-ms-expand {
        display: none;
    }

    select:hover:not(:disabled) {
        border-color: #438abd;
    }

    select:disabled {
        color: #b1b1b1;
        background-image: none;
        border-color: #e6e6e6;
    }

    input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus input:-webkit-autofill, textarea:-webkit-autofill, textarea:-webkit-autofill:hover textarea:-webkit-autofill:focus, select:-webkit-autofill, select:-webkit-autofill:hover, select:-webkit-autofill:focus {
        -webkit-text-fill-color: #636466 !important;
        -webkit-box-shadow: 0 0 0px 1000px #f6f6f6 inset;
        transition: background-color 5000s ease-in-out 0s;
    }

input[type=text], input[type=tel], input[type=email], input[type=number], textarea, select, input[type=password], .fakeSelect .current {
    font-size: 1rem;
    border-width: .1071428571rem;
    padding: .8571428571rem .9285714286rem .9285714286rem .9285714286rem;
}

.wrapper {
    padding: 0;
}

label {
    font-weight: 500;
    font-size: 1.25rem;
    display: block;
    margin-bottom: .375rem;
}

.footerNotes {
    font-size: .8rem;
    margin-top: 1.5rem;
    margin-bottom: .5rem;
}

    .footerNotes .freeMonthDiscountNotes {
        margin-top: .5rem;
    }

.text-justify {
    text-align: justify;
}

.mobileNotes {
    font-size: .9rem;
    margin-top: 3rem;
}

.info-icon {
    background: url(/assets/info.png) no-repeat;
    display: inline-block;
    background-size: contain;
    width: 1.75em;
    height: 1.75em;
    min-width: 1.75em;
    min-height: 1.75em;
    max-width: 1.75em;
    max-height: 1.75em;
    margin-top: -0.2rem;
    -moz-transition: all .25s ease-in-out;
    -o-transition: all .25s ease-in-out;
    -webkit-transition: all .25s ease-in-out;
    -ms-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
}

    .info-icon:hover {
        cursor: pointer;
        opacity: 0.5;
    }

    .info-icon ~ label {
        display: inline-block;
        margin-left: .3em;
    }

.full-height-flex {
    display: flex;
    align-items: stretch;
}

.no-break {
    white-space: nowrap;
}

.hidden-component {
    display: none;
}

@media all and (min-width: 900px) {
    html {
        font-size: 16px;
    }

    .wrapper {
        max-width: 950px;
        padding: 0 1em 0 1em;
    }

    .divSection {
        border: 0.125rem solid #dcdcdc;
        padding: 1.125rem 2.5rem 2.0625rem 2.5rem;
    }

    select {
        font-size: .875rem;
        padding: .625rem .5625rem;
    }

    input[type=text], input[type=tel], input[type=email], input[type=number], textarea, select, input[type=password], .fakeSelect .current {
        padding: .625rem .5625rem;
        margin-bottom: 0;
    }

    .tabletFitContent {
        padding-right: 40px !important;
        padding-left: 40px !important;
    }

}

@media all and (min-width: 768px) {
    input[type=text], input[type=tel], input[type=email], input[type=number], textarea, select, input[type=password], .fakeSelect .current {
        border-width: 1px;
        font-size: .875rem;
    }

    .divSection {
        padding: 1.125rem 2.5rem 2.0625rem 2.5rem;
    }

        .divSection h2:first-child {
            margin: 0;
            font-weight: 300;
            padding-bottom: 0.35em;
            font-size: 2.03125rem;
            border-bottom: 0.071em solid #ececec;
        }

            .divSection h2:first-child:not(.no-space-bottom) {
                margin-bottom: 1em;
            }

    .tabletFitContent {
        padding-right: 27px;
        padding-left: 27px;
    }

    label {
        font-size: 1.125rem;
    }

    .info-icon {
        width: 1.25em;
        height: 1.25em;
        min-width: 1.25em;
        min-height: 1.25em;
        max-width: 1.25em;
        max-height: 1.25em;
        margin-top: 0;
    }

}
