/* ----- BASICS ----- */
* {
    font-family: "Montserrat", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
    box-sizing: border-box;
}
*, ::before, ::after {
    box-sizing: border-box;
}
html {
    font-family: sans-serif;
    line-height: 1.15;
}
body {
    color: #273142;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.6;
}

/* ----- COLORS ----- */
:root {

    --primary: #e8463f;
    --secondary: #273142;
    --tertiary: #893168;

    --blue: #0056B3;
    --indigo: #6610f2;
    --purple: #6f42c1;
    --pink: #e83e8c;
    --red: #e74c3c;
    --orange: #fd7e14;
    --yellow: #F0B400;
    --green: #16a085;
    --teal: #0056B3;
    --cyan: #17a2b8;
    --white: #ffffff;
    --gray: #93a5be;
    --gray-dark: #4E5079;
    --success: #27ae60;
    --info: #0056B3;
    --warning: #F0B400;
    --danger: #A91E2C;
    --light: #e6e7e8;
    --dark: #1c2540;
    --lighten: #ffffff;
    --white: #ffffff;
    --gray: #424767;
    --neutral: #ffffff;
    --soft: #FAFAFB;
    --black: #171f38;
    --purple: #6f42c1;
    --gray-100: #ffffff;
    --gray-200: #fafbfe;
    --gray-300: #FAFAFB;
    --gray-400: #e6e7e8;
    --gray-500: #B7C3D2;
    --gray-600: #93a5be;
    --gray-700: #52547a;
    --gray-800: #4E5079;
    --facebook: #3b5999;
    --twitter: #1da1f2;
    --google: #DB4337;
    --instagram: #e4405f;
    --pinterest: #bd081c;
    --youtube: #cd201f;
    --slack: #3aaf85;
    --dribbble: #ea4c89;
    --dropbox: #1E90FF;
    --twitch: #4B367C;
    --paypal: #ecb32c;
    --behance: #0057ff;
    --reddit: #E84422;
    --github: #222222;
}

.bg-primary {
    background-color: var(--primary);
}
.bg-secondary {
    background-color: var(--secondary);
}
.bg-tertiary {
    background-color: var(--tertiary);
}
.bg-grey {
    color: #1c2540;
    background-color: rgba(28,37,64,.1);
}
.border-light {
    border-color: #e6e7e8 !important;
}
.border-rounded {
    border-radius: 0.5rem;
}
.border-round {
    border-radius: 50%;
}

/* ----- NORMALIZE ----- */
button,
input,
optgroup,
select,
textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
}
button,
input {
    overflow: visible;
}
textarea {
    overflow: auto;
    resize: vertical;
}

/* ----- GENERAL ----- */
.container {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 20px;
}

/* ----- TYPOGRAPHY ----- */
.text-action, a {
    color: #242e4c;
    font-weight: 400;
    text-decoration: none;
    transition: all .2s ease;
}
.text-action:hover, a:hover {
    color: #141929;
    cursor: pointer;
}
.text-muted {
    color: #52547a !important;
}
.text-gray, .text-gray:hover {
    color: #424767 !important;
}
.text-white, .text-white:hover {
    color: white !important;
}
.text-primary {
    color: var(--primary);
}
.small, small {
    font-size: 80%;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    font-family: "Nunito Sans",sans-serif;
    font-weight: 600;
    margin-top: 0;
    margin-bottom: .75rem;
}
.h1, h1 {
    font-size: 2.5rem;
}
.h2, h2 {
    font-size: 2rem;
}
.h3, h3 {
    font-size: 1.75rem;
}
.h4, h4 {
    font-size: 1.5rem;
}
.h5, h5 {
    font-size: 1.25rem;
}
.h6, h6 {
    font-size: 1rem;
}
.display-1,
.display-2,
.display-3,
.display-4 {
    color: #1c2540;
    font-weight: 600;
}
.display-1 {
    font-size: 5rem;
    line-height: 1.3;
}
.display-2 {
    font-size: 3.5rem;
    line-height: 1.3;
}
.display-3 {
    font-size: 2.5rem;
    line-height: 1.3;
}
.display-4 {
    font-size: 1.75rem;
    line-height: 1.3;
}
.lead {
    font-size: 1.25rem;
    font-weight: 300;
}
ol li, p, ul li {
    font-family: "Nunito Sans",sans-serif;
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.6;
}
p {
    margin-top: 0;
    margin-bottom: 1rem;
}
blockquote {
    background: #f5f9fc;
    border-radius: 10px;
    font-family: Sanchez,serif;
    font-size: 1.27rem;
    font-style: italic;
    font-weight: 400;
    padding: 25px;
}
ol ol, ol ul, ul ol, ul ul {
    margin-bottom: 0;
}
dl, ol, ul {
    margin-top: 0;
    margin-bottom: 1rem;
}
.baseline {
    vertical-align: baseline;
}
.fs-025 {
    font-size: 0.25rem !important;
}
.fs-050 {
    font-size: 0.5rem !important;
}
.fs-075 {
    font-size: 0.75rem !important;
}
.fs-0875 {
    font-size: 0.875rem !important;
}
.fs-1 {
    font-size: 1rem !important;
}
.fs-2 {
    font-size: 1.25rem !important;
}
.fs-3 {
    font-size: 1.5rem !important;
}
.fs-4 {
    font-size: 1.75rem !important;
}
.fs-5 {
    font-size: 2rem !important;
}
.fs-6 {
    font-size: 2.25rem !important;
}
.fs-7 {
    font-size: 2.5rem !important;
}
.fs-8 {
    font-size: 2.75rem !important;
}
.fs-9 {
    font-size: 3rem !important;
}

/* ----- ALERT ----- */
.alert {
    border-radius: .5rem;
    padding: 1rem 1.5rem;
}
.alert > p {
    line-height: 1.3;
}
.alert > *:first-child {
    margin-top: 0;
}
.alert > *:last-child {
    margin-bottom: 0;
}
.alert-success {
    border-color: #b0ca67;
    background-color: #e0eac2;
    color:#57710e
}
.alert-info {
    border-color: #b3becc;
    background-color: #dfeaf8;
    color:#3f5167
}
.alert-warning {
    border-color: #e3cd4d;
    background-color: #faefa0;
    color:#8a5300
}
.alert-error {
    border-color: #eca490;
    background-color: #f5e0da;
    color:#b04020
}

/* ----- BADGE ----- */
.badge, .badge:hover {
    border-radius: 1rem;
    background-color: #cccccc;
    color: inherit;
    display: inline-block;
    font-size: 66%;
    font-weight: 600;
    letter-spacing: .04rem;
    padding: 0.05rem 0.5rem;
    text-decoration: none;
    vertical-align: middle;
    white-space: nowrap;
}
.badge-primary, .badge-primary:hover {
    background-color: var(--primary);
    color: white;
}
.badge-secondary, .badge-secondary:hover {
    background-color: var(--secondary);
    color: white;
}
.badge-tertiary, .badge-tertiary:hover {
    background-color: var(--tertiary);
    color: white;
}
.badge-success, .badge-success:hover {
    background-color: #e0eac2;
    color:#57710e
}
.badge-info, .badge-info:hover {
    background-color: #dfeaf8;
    color:#3f5167
}
.badge-warning, .badge-warning:hover {
    background-color: #faefa0;
    color:#8a5300
}
.badge-error, .badge-error:hover {
    background-color: #f5e0da;
    color:#b04020
}
.badge-white, .badge-white:hover {
    background-color: white;
    color: var(--secondary)
}

/* ----- TAGS ----- */
.tag {
    display: inline-block;
    padding: .125rem .875rem;
    margin: .25rem;
    line-height: 2;
    font-size: .875rem;
    background-color: #fff;
    border: .0625rem solid #e6e7e8;
    border-radius: .45rem;
    transition: all 200ms ease;
}
.tag:hover {
    background-color: #242e4c;
    color: #fff;
}
a.tag {
    color: #141929;
}
a.tag:hover {
    color: white;
    cursor: pointer;
}



/* ----- BUTTONS ----- */
.button {
    background-color: #444444;
    border: 0.11rem solid #444444;
    border-radius: .45rem;
    box-sizing: border-box;
    color: white;
    cursor: pointer;
    display: inline-block;
    font-family: "Nunito Sans", sans-serif;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.25;
    padding: .55rem .95rem;
    text-decoration: none;
    text-align: center;
    transition: all 200ms ease;
}
.button.uppercase {
    font-size: 0.9rem;
    letter-spacing: 0.09rem;
    text-transform: uppercase;
}
.button:hover, .button.active {
    background-color: #303030;
    border-color: #303030;
    color: white;
}
.button.block {
    display: block;
}

.button:disabled,
.button.disabled {
    pointer-events: none;
    cursor: not-allowed;
}

.button-primary {
    background-color: #e8463f;
    border-color: #e8463f;
    color: white;
}
.button-primary:hover, .button-primary.active {
    background-color: #ca453e;
    border-color: #ca453e;
}
.button-white {
    background-color: white;
    border-color: white;
    color: #444444;
}
.button-white:hover, .button-white.active {
    background-color: #e9e9e9;
    border-color: #e9e9e9;
}
.button-secondary {
    background-color: #273142;
    border-color: #273142;
    color: white;
}
.button-secondary:hover, .button-secondary.active {
    background-color: #16212e;
    border-color: #16212e;
}
.button-tertiary {
    background-color: #893168;
    border-color: #893168;
    color: white;
}
.button-tertiary:hover, .button-tertiary.active {
    background-color: #6b2f4b;
    border-color: #6b2f4b;
}

.button.outline {
    background-color: transparent;
    color: #444444;
}
.button.outline:hover, .button.outline.active {
    background-color: #444444;
    color: white;
}
.button-primary.outline{
    border-color: #ca453e;
    color: #ca453e;
}
.button-primary.outline:hover, .button-primary.outline.active {
    background-color: #ca453e;
    color: white;
}
.button-white.outline{
    border-color: white;
    color: white;
}
.button-white.outline:hover, .button-white.outline.active {
    background-color: white;
    color: #444444;
}
.button-secondary.outline{
    border-color: #16212e;
    color: #16212e;
}
.button-secondary.outline:hover, .button-secondary.outline.active {
    background-color: #16212e;
    color: white;
}
.button-tertiary.outline{
    border-color: #893168;
    color: #893168;
}
.button-tertiary.outline:hover, .button-tertiary.outline.active {
    background-color: #893168;
    color: white;
}

.button.outline.reverse {
    background-color: #444444;
    border-color: white;
    color: white;
}
.button.outline.reverse:hover, .button.outline.reverse.active {
    background-color: white;
    border-color: white;
    color: #444444;
}
.button-primary.outline.reverse{
    background-color: #ca453e;
    border-color: white;
    color: white;
}
.button-primary.outline.reverse:hover, .button-primary.outline.reverse.active {
    background-color: white;
    color: #ca453e;
}
.button-secondary.outline.reverse{
    background-color: #273142;
    border-color: white;
    color: white;
}
.button-secondary.outline.reverse:hover, .button-secondary.outline.reverse.active {
    background-color: white;
    color: #273142;
}
.button-tertiary.outline.reverse{
    background-color: #893168;
    border-color: white;
    color: white;
}
.button-tertiary.outline.reverse:hover, .button-tertiary.outline.reverse.active {
    background-color: white;
    color: #893168;
}

/* ----- CARD ----- */
.card {
    background-clip: border-box;
    border: .0625rem solid rgba(255,255,255,.05);
    border-radius: 1rem;
    display: flex;
    flex-direction: column;
    position: relative;
    word-wrap: break-word;
}
.card-body {
    flex: 1 1 auto;
    min-height: 1px;
    padding: 1.75rem;
}
.card-body > .title {
    color: #555555;
    font-size: 1.15rem;
    font-weight: 700;
    margin-bottom: 1.25rem;
    text-transform: uppercase;
}
.card-title {
    margin-top: 1rem;
    margin-bottom: 1.25rem;
}
@media (max-width: 750px) {
    .card-body {
        padding: .5rem;
    }
}

/* ----- PILLS ----- */
.pill {
    background-color: white;
    border: 1px solid #e6e7e8;
    border-radius: .45rem;
    box-shadow: none;
    color: #4e5079;
    cursor: pointer;
    padding: .75rem .85rem;
    text-align: center;
    transition: all .2s ease;
}
.pill:hover {
    background-color: #f8f8f8;
    color: #1c2540;
}
.pill.active {
    color: #242e4c;
    background-color: #f8f8f8;
    border-color: #242e4c;
}

/* ----- NAV-PILLS ----- */
.nav-pills {
    display: flex;
    margin-right: -5px;
    margin-left: -5px;
}
.nav-pills > .pill {
    flex: 1;
    margin-right: 5px;
    margin-left: 5px;
}
.nav-pills.vertical {
    flex-direction: column;
}
.nav-pills.vertical > .pill {
    margin-top: 5px;
    margin-bottom: 5px;
}

/* ----- TABLES ----- */
.table {
    width: 100%;
    border-collapse: collapse;
}
.table thead th {
    text-align: left;
    background-color: var(--primary);
    color: white;
}
.table td, .table th {
    padding: 1rem;
    vertical-align: top;
    border-top: .0625rem solid #e6e7e8;
}
.table.hoverable tr:hover {
    color: #424767;
    background-color: rgba(23,31,56,.03);
}

/* ----- BREADCRUMB ----- */
.breadcrumb {
    display: flex;
    flex-wrap: wrap;
    padding: .75rem 1rem;
    margin-bottom: 1rem;
    list-style: none;
    border-radius: .45rem;
}
.breadcrumb > li {
    font-size: 1.25rem;
}
.breadcrumb > li+li {
    padding-left: .5rem;
}
.breadcrumb > li+li::before {
    display: inline-block;
    padding-right: .5rem;
    color: #52547a;
    content: "/";
}


/* ----- FORM ----- */
fieldset {
    border: 1px solid #e6e7e8;
    border-radius: .5rem;
}
fieldset > legend {
    margin-left: 5px;
    margin-bottom: 0 !important;
}
fieldset > .form-field:not(:last-child),
.fieldset > .form-field:not(:last-child) {
    border: none;
    margin-bottom: 1.25rem;
}
.form-field {
    position: relative;
}
.form-field > label {
    display: block;
    font-size: .875rem;
    font-weight: 600;
    margin-bottom: .5rem;
}
.form-field > label > b {
    color: red;
}
.form-field > input,
.form-field > textarea,
input.form-control,
textarea.form-control{
    background-color: #fff;
    background-clip: padding-box;
    border: .0625rem solid #e6e7e8;
    border-radius: .45rem;
    box-shadow: none;
    color: #424767;
    display: block;
    font-size: 1rem;
    font-weight: 300;
    padding: .6rem .75rem;
    transition: all .3s ease-in-out;
    width: 100%;
}
.form-field > input:focus,
.form-field > textarea:focus,
input.form-control:focus,
textarea.form-control:focus{
    background-color: #fafafb;
    border-color: #93a5be;
    box-shadow: none;
    outline: 0;
}
.form-field > select,
select.form-control {
    display: inline-block;
    width: 100%;
    height: calc(1.5em + 1.2625rem);
    padding: .6rem 1.75rem .6rem .75rem;
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.5;
    color: #424767;
    vertical-align: middle;
    background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%234E5079' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;
    border: .0625rem solid #e6e7e8;
    border-radius: .45rem;
    box-shadow: inset 0 1px 2px rgba(23,31,56,.075);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.form-field > select:focus,
select.form-control:focus {
    background-color: #fafafb;
    border-color: #93a5be;
    box-shadow: none;
    outline: 0;
}
.form-field > input:disabled,
.form-field > input[readonly],
.form-field > input.disabled,
.form-field > select:disabled,
.form-field > select[readonly],
.form-field > select.disabled,
.form-field > textarea:disabled,
.form-field > textarea[readonly],
.form-field > textarea.disabled,
input.form-control:disabled,
input.form-control[readonly],
input.form-control.disabled,
select.form-control:disabled,
select.form-control[readonly],
select.form-control.disabled,
textarea.form-control:disabled,
textarea.form-control[readonly],
textarea.form-control.disabled {
    background-color: #fafbfe;
    cursor: not-allowed;
    opacity: 1;
}

.form-field > input.has-error,
.form-field > select.has-error,
.form-field > textarea.has-error
input.form-control.has-error,
select.form-control.has-error,
textarea.form-control.has-error  {
    border-color: #dc2235;
}

.form-field > .text-help {
    display: block;
    font-size: .875rem;
    margin-top: .25rem;
    margin-bottom: 0;
}
.form-field .errors {
    color: #a91e2c;
    font-size: .875rem;
    margin-bottom: 0;
}
.form-field ul.errors {
    padding-left: 25px;
    list-style-type: circle;
}
.form-field ul.errors > li {
    color: #a91e2c;
    font-size: .875rem;
    margin: 0;
}
.form-field input[type=checkbox] {
    opacity: 0;
    position: absolute;
    visibility: hidden;
}
.form-field input[type=checkbox]+label {
    display: inline-block;
    position: relative;
    padding-left: 1.5rem;
    font-weight: 400;
    line-height: 16px;
    margin-bottom: 0;
    transition: all .2s ease;
    color: #424767;
    cursor: pointer;
}
.form-field input[type=checkbox]:disabled+label {
    cursor: not-allowed;
}
.form-field input[type=checkbox]+label::before {
    content: " ";
    display: inline-block;
    position: absolute;
    width: 15px;
    height: 15px;
    left: 0;
    top: 0;
    background-color: #fff;
    border: 1px solid #b7c3d2;
    transition: all .2s ease;
    border-radius: 1.275rem;
}
.form-field input[type=checkbox]+label::after {
    display: inline-block;
    position: absolute;
    width: 15px;
    height: 15px;
    left: 0;
    background-color: #fff;
    transition: all .2s ease;
    border-radius: 1.275rem;
    content: "\2713";
    top: 0;
    text-align: center;
    opacity: 0;
    color: #fff;
    font-weight: 900;
    border: 0;
}
.form-field input[type=checkbox]+label::after {
    opacity: 0;
}
.form-field input[type=checkbox]:checked+label::after {
    background-color: #242e4c;
    opacity: 1;
    font-size: .6rem;
    margin-top: 0;
    line-height: 1.8;
}

.form-field input[type=radio] {
    opacity: 0;
    position: absolute;
    visibility: hidden;
}
.form-field input[type=radio]+label {
    display: inline-block;
    position: relative;
    padding-left: 1.5rem;
    font-weight: 400;
    line-height: 16px;
    margin-bottom: 0;
    padding-top: 3px;
    transition: all .2s ease;
    color: #424767;
    cursor: pointer;
}
.form-field input[type=radio]+label::before,
.form-field input[type=radio]+label::after {
    background-color: #fff;
    border: 1px solid #b7c3d2;
    content: " ";
    width: 18px;
    height: 18px;
    border-radius: 50%;
    display: inline-block;
    position: absolute;
    left: 0;
    top: 3px;
    padding: 1px;
    transition: opacity .3s linear;
}
.form-field input[type=radio]+label::after {
    opacity: 0;
}
.form-field input[type=radio]:checked+label::before {
    background-color: #242e4c;
}
.form-field input[type=radio]:checked+label::after {
    width: 8px;
    height: 8px;
    top: 8px;
    left: 5px;
    background-color: #fff;
    border-color: #fff;
    opacity: 1;
}


/* ----- BUTTONS GROUP ----- */
.buttons-group {
    display: flex;
    flex-wrap: wrap;
    margin: -3px;
}
.buttons-group > .button {
    flex: auto;
    margin: 3px;
}

/* ----- BOX ----- */
.box {
    background-clip: border-box;
    border: .0625rem solid rgba(255,255,255,.05);
    border-radius: .45rem;
    display: flex;
    flex-direction: column;
    min-width: 0;
    position: relative;
    word-wrap: break-word;
}
.box.white {
    background-color: white;
}
.box.shadow {
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

/* ----- SHADOW ----- */
.shadow-soft {
    box-shadow: 0 .125rem .25rem rgba(23,31,56,.075)!important;
}
