/* ==== */
/* VARIABLES */
/* ==== */

:root {
    --color-white: #fff;
    --color-black: #000;
    --color-gray: #a5acb0;
    --color-light-gray: #e6e6e6;
    --color-dark-gray: #505050;
    --color-light-blue: #b9d9eb;
    --color-dark-blue: #022169;
    --color-green: #429548;
    --color-red: #B60506;
    --color-burnt-red: #892D23;
}

/* ==== */
/* BASE */
/* ==== */

body {
    font-family: 'Open Sans', sans-serif;
}

body.nav-is-open {
    overflow-y: hidden;
}

/* ==== */
/* UTILITIES */
/* ==== */

.m-bot-0 {
    margin-bottom: 0;
}

/* borrowing these from Bootstrap 4 since 3 does not have them */
.mt-1 {
    margin-top: .25rem;
}
.mt-2 {
    margin-top: .5rem;
}
.mb-1 {
    margin-bottom: .25rem;
}
.mb-2 {
    margin-bottom: .5rem;
}

/* ==== */
/* TYPOGRAPHY */
/* ==== */

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
p {
    margin: 0 0 16px;
    color: var(--color-dark-gray);
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
}

h1,
.h1 {
    font-size: 30px;
    letter-spacing: 1.12px;
}

h2,
.h2 {
    font-size: 24px;
    letter-spacing: 0.75px;
}

h3,
.h3 {
    font-size: 18px;
    letter-spacing: 0.7px;
    margin-bottom: 10px;
}

h4,
.h4 {
    font-size: 14px;
    letter-spacing: 1px;
}

h5 {
    margin: 0 0 8px;
}

/* override Bootstrap's container-fluid since we want it to be wide but not that wide */
.container-fluid {
    width: 80%;
}

/* add a color option for buttons */
.btn-custom-1 {
    background-color: #F58433;
}

p {
    font-family: 'Open Sans', sans-serif;
    font-size: 15px;
    letter-spacing: 0;
    margin-bottom: 16px;
}

p.text-large {
    font-size: 18px;
}

p.text-small {
    font-size: 14px;
}

p.text-small.text-important {
    font-weight: bold;
    color: var(--color-burnt-red);
}

a {
    color: var(--color-black);
    text-decoration: underline;
}

a:hover,
a:active {
    color: var(--color-dark-gray);
    text-decoration: none;
}

.text-subtitle {
    color: var(--color-gray);
}

.text-alert {
    font-weight: 600;
    color: var(--color-red);
}

.text-bold {
    font-weight: 600;
}

@media screen and (min-width: 768px) {

    h1,
    .h1 {
        font-size: 52px;
        letter-spacing: 2px;
    }

    h2,
    .h2 {
        font-size: 40px;
        letter-spacing: 1.56px;
    }

    h3,
    .h3 {
        font-size: 30px;
        letter-spacing: 1.12px;
    }

    h4,
    .h4 {
        font-size: 20px;
        letter-spacing: 0.74px;
    }

    h2.text-subtitle {
        font-size: 30px;
        letter-spacing: 1.25px;
    }

    p.text-large {
        font-size: 18px;
    }

    p.text-small {
        font-size: 15px;
    }
}

/* ==== */
/* LIST */
/* ==== */

.list {
    position: relative;
    margin: 0;
    padding: 0;
    list-style: none;
}

.list li {
    margin-bottom: 4px;
}


.list li:before {
    content: '\2022';
    font-size: 15px;
    vertical-align: top;
    padding-right: 5px;
}

.list li:last-child {
    margin-bottom: 0;
}


/* ==== */
/* BUTTON */
/* ==== */

.btn {
    border-radius: 0;
    color: var(--color-white);
    font-family: 'Oswald', sans-serif;
    font-size: 16px;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-decoration: none;
    padding: 10px 16px;
}

.btn:active,
.btn.active {
    -webkit-box-shadow: none;
    box-shadow: none;
}

@media screen and (min-width: 768px) {
    .btn:not(.btn-small) {
        padding: 16px 22px;
    }
    .btn.btn-text {
        padding: 10px 16px;
    }
}

/* BUTTON - Default / Primary - White outline */

.btn-default,
.btn-primary {
    background: var(--color-black);
    border: 2px solid var(--color-black);
}

.btn-default:focus,
.btn-primary:focus {
    background: var(--color-black);
    border: 2px solid var(--color-black);
}

.btn-default:hover,
.btn-primary:hover {
    background: var(--color-black);
    background-position: 0;
    border: 2px solid var(--color-black);
    color: var(--color-white);
}

.btn-default:active,
.btn-primary:active,
.btn-default.active,
.btn-primary.active,
.btn-default:active:focus,
.btn-primary:active:focus,
.btn-default.active:focus,
.btn-primary.active:focus {
    background: var(--color-dark-gray);
    border: 2px solid var(--color-dark-gray);
}

.btn-default:active:hover,
.btn-primary:active:hover,
.btn-default.active:hover,
.btn-primary.active:hover {
    background: var(--color-dark-gray);
    border: 2px solid var(--color-dark-gray);
}

.btn-default.disabled,
.btn-default[disabled],
.btn-default.inactive,
.btn-primary.disabled,
.btn-primary[disabled],
.btn-primary.inactive {
    background: var(--color-white);
    border: 2px solid var(--color-gray);
    color: var(--color-gray);
    cursor: not-allowed;
    opacity: 1;
}

.btn-default.disabled:hover,
.btn-default[disabled]:hover,
.btn-default.inactive:hover,
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
.btn-primary.inactive:hover,
.btn-default.disabled:active,
.btn-default[disabled]:active,
.btn-default.inactive:active,
.btn-primary.disabled:active,
.btn-primary[disabled]:active,
.btn-primary.inactive:active,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
.btn-default.inactive:focus,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
.btn-primary.inactive:focus {
    background: var(--color-white);
    border: 2px solid var(--color-gray);
    color: var(--color-gray);
}

/* BUTTON - Secondary - Black Fill */

.btn-secondary {
    background: var(--color-white);
    border: 2px solid var(--color-black);
    color: var(--color-black);
}

.btn-secondary:focus {
    color: var(--color-dark-gray);
}

.btn-secondary:hover {
    background: var(--color-white);
    background-position: 0;
    border: 2px solid var(--color-dark-gray);
}

.btn-secondary:active,
.btn-secondary.active {
    background: var(--color-white);
    border: 2px solid var(--color-dark-gray);
    color: var(--color-dark-gray);
}

.btn-secondary:active:hover,
.btn-secondary.active:hover {
    background: var(--color-white);
    border: 2px solid var(--color-dark-gray);
    color: var(--color-dark-gray);
}

.btn-secondary.disabled,
.btn-secondary[disabled],
.btn-secondary.inactive {
    background: var(--color-white);
    border: 2px solid var(--color-gray);
    color: var(--color-gray);
    cursor: not-allowed;
    opacity: 1;
}

.btn-secondary.disabled:hover,
.btn-secondary[disabled]:hover,
.btn-secondary.inactive:hover {
    background: var(--color-white);
    border: 2px solid var(--color-gray);
    color: var(--color-gray);
}

/* BUTTON - Text - no fill, just pure text */

.btn-text {
    padding: 0;
    cursor: pointer;
    background-color: transparent;
    color: var(--color-black);
    text-decoration: underline;
}

.btn-text:hover,
.btn-text:active,
.btn-text:focus {
    text-decoration: none;
}

.btn.btn-text-inline {
    padding: 0 0 0 4px;
}

/* BUTTON - Small */

.btn-small {
    font-size: 16px;
    padding: 5px 10px;
}

.btn-small:hover,
.btn-small:active,
.btn-small.active,
.btn-small:focus {
    color: var(--color-white);
    border: 2px solid var(--color-dark-gray);
    background: var(--color-dark-gray);
}

.btn-small.active:hover,
.btn-small:active:hover {
    color: var(--color-white);
}

/* BUTTON - NEXT AND PREV */

/* BUTTON - Back */

/* BUTTON - Next */

.btn-next[disabled],
.btn-next.is-disabled {
    border: 2px solid transparent;
}

.btn-next[disabled]:hover,
.btn-next.is-disabled:hover {
    border: 2px solid transparent;
}

@media screen and (max-width: 767px) {
    .btn.btn-next {
        background: #000;
        color: #fff;
    }

    .btn.btn-next:hover,
    .btn.btn-next:active,
    .btn.btn-next:active:hover,
    .btn.btn-next:focus {
        background: #000;
        border-color: #000;
        color: #fff;
    }
}

@media screen and (min-width: 768px) {

    .btn.btn-back {
        border: none;
    }

    .btn.btn-back:hover {
        border: none;
    }

    .btn-back span {
        padding-left: 6px;
        text-decoration: underline;
    }

    .btn.btn-back:hover span {
        text-decoration: none;
    }

    .btn-back:before {
        content: '<';
        position: relative;
        font-size: 19px;
        line-height: 1;
    }

    .btn-next {
        float: right;
    }

    .btn-next span {
        padding-right: 6px;
    }

    .btn-next:after {
        content: '>';
        position: relative;
        font-size: 19px;
        line-height: 1;
    }

    .btn-next[disabled],
    .btn-next.is-disabled {
        border: 2px solid var(--color-gray);
    }

    .btn-next[disabled]:hover,
    .btn-next.is-disabled:hover {
        border: 2px solid var(--color-gray);
    }
}

/* ==== */
/* NAVIGATION */
/* ==== */

.nav-is-open .navigation {
    background: var(--color-dark-gray);
}

.navigation {
    display: block;
    width: 100%;
    max-width: 100% !important;
    height: 55px;
    background: var(--color-dark-gray);
    border-bottom: 1px solid var(--color-white);
    position: relative;
    z-index: 10;
}

.navigation.is-transparent {
    background: transparent;
}

.navigation-inner {
    background: transparent;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    -webkit-box-align: center;
    align-items: center;
    padding: 0;
    width: 100%;
}

.navigation nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    justify-content: space-between;
    width: 100%;
    max-width: 1200px;
    padding-right: 15px;
    padding-left: 15px;
}

@media screen and (min-width: 768px) {
    .navigation {
        border-bottom: none;
        height: 60px;
    }
}

/* is-sticky RULE */

body.is-sticky .navigation {
    background: var(--color-dark-gray);
    bottom: auto;
    margin-top: 0;
    position: -webkit-sticky;
    position: sticky;
    position: fixed;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    top: 0;
}

body.is-sticky .hero,
body.is-sticky main {
    margin-top: 0;
}

/* does not have school banner */

.layout-about,
.layout-warranty,
.layout-salesRep,
.layout-customer-service,
.layout-copyright {
    padding: 85px 0 30px;
    margin-top: -55px;
}

/* has school banner */

@media screen and (min-width: 768px) {

    .layout-about,
    .layout-warranty,
    .layout-salesRep,
    .layout-customer-service,
    .layout-copyright {
        padding: 90px 0 30px;
        margin-top: -60px;
    }
}

.navigation .logo {
    color: var(--color-white);
    line-height: 0;
    height: 100%;
    width: 100%;
    text-align: center;
}

.navigation .logo>a {
    color: inherit;
    line-height: 55px;
    height: 55px;
    min-height: 55px;
}

.navigation .logo img {
    width: 100px;
}

@media screen and (min-width: 768px) {
    .navigation .logo {
        width: auto;
    }

    .navigation .logo>a {
        line-height: 60px;
        height: 60px;
        min-height: 60px;
    }

    .navigation .logo img {
        width: 120px;
    }
}

.navigation .hamburger {
    cursor: pointer;
    position: absolute;
    top: 0;
    right: 0;
    height: 55px;
    width: 55px;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    color: transparent;
    z-index: 2;
}

.navigation .hamburger span {
    left: 50%;
    top: 50%;
    bottom: auto;
    right: auto;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    -webkit-transition: background-color 0.2s;
    -o-transition: background-color 0.2s;
    transition: background-color 0.2s;
}

.navigation .hamburger span,
.navigation .hamburger span::after,
.navigation .hamburger span::before {
    position: absolute;
    background-color: var(--color-white);
    height: 2px;
    width: 18px;
}

.navigation .hamburger span::after,
.navigation .hamburger span::before {
    content: '';
    left: 0;
    transition: -webkit-transform 0.2s;
    -webkit-transition: -webkit-transform 0.2s;
    -o-transition: transform 0.2s;
    transition: transform 0.2s;
    transition: transform 0.2s, -webkit-transform 0.2s;
}

.navigation .hamburger span::before {
    -webkit-transform: translateY(-6px);
    -ms-transform: translateY(-6px);
    transform: translateY(-6px);
}

.navigation .hamburger span::after {
    -webkit-transform: translateY(6px);
    -ms-transform: translateY(6px);
    transform: translateY(6px);
}

.navigation.is-open span {
    background-color: transparent;
}

.navigation.is-open span::before {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.navigation.is-open span::after {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

@media screen and (min-width: 768px) {
    .navigation .hamburger {
        display: none;
    }
}

.navigation .navigation-links {
    display: none;
    padding: 0;
    position: static;
    margin: 0;
    list-style: none;
}

.navigation .navigation-links li {
    display: inline-block;
    padding: 0;
}

.navigation .navigation-links li a {
    color: var(--color-dark-gray);
    font-family: 'Oswald', sans-serif;
    font-size: 36px;
    letter-spacing: 1.12px;
    display: block;
    padding: inherit;
    position: relative;
    text-transform: uppercase;
    text-decoration: none;
    z-index: 2;
}

.navigation.is-open .navigation-links {
    position: absolute;
    top: 55px;
    display: block;
    background: #fff;
    left: 0;
    height: 100vh;
    width: 100%;
    text-align: center;
    padding: 30px 0;
}

.navigation.is-open .hamburger span {
    background: transparent;
}

.navigation.is-open .navigation-links li {
    display: block;
    margin-bottom: 30px;
}

.navigation.is-open .navigation-links li:last-child {
    margin-bottom: 0;
}

@media screen and (min-width: 768px) {
    .navigation .navigation-links {
        display: -ms-flexbox;
        display: -webkit-box;
        display: flex;
        -ms-flex-direction: row;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        flex-direction: row;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .navigation .navigation-links li a {
        color: var(--color-white);
        font-size: 20px;
        letter-spacing: 0.75px;
        /* line-height: 60px;
        height: 60px;
        min-height: 60px; */
        margin-top: 7px;
        padding-bottom: 8px;
        padding-top: 8px;
        padding-left: 10px;
        padding-right: 10px;
        margin-right: 5px;
    }

    .navigation .navigation-links li a:hover {
        background: #fff;
        color: #000;
    }

    .navigation .navigation-links li a:last-child {
        padding-right: 10px;
        margin-right: 0;
    }
}

/* NAVIGATION - Progress Steps */

.progress-steps {
    display: block;
    width: 100%;
    position: relative;
}

.progress-steps::after {
    content: '';
    display: table;
    clear: both;
}

.progress-steps-item, .progress-steps-item-with-chain {
    padding: 0;
    position: relative;
    display: block;
    float: left;
    text-align: center;
}

.progress-steps-item {
    width: 20%;
}

.progress-steps-item-with-chain {
    width: 16.6666%;
}

/* only completed steps should look like links */
.progress-steps-item.is-completed {
    cursor: pointer;
}

.progress-steps-item.confirmation {
    cursor: inherit;
}

.progress-steps-item-content {
    display: inline-block;
}

.progress-steps .item-icon {
    background-color: var(--color-white);
    border: 2px solid var(--color-gray);
    color: var(--color-gray);
    display: block;
    border-radius: 100%;
    text-align: center;
    width: 22px;
    height: 22px;
    line-height: 22px;
    margin: 0 auto 2px auto;
    position: relative;
    font-size: 0;
    font-weight: 700;
    z-index: 2;
}

.progress-steps .item-text {
    font-family: 'Oswald', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: var(--color-gray);
    letter-spacing: 0.75px;
    text-transform: uppercase;
}

.progress-steps .item-line {
    display: inline-block;
    height: 3px;
    width: 100%;
    background-color: var(--color-gray);
    float: left;
    position: absolute;
    left: -50%;
    top: 10px;
    z-index: 1;
}

.progress-steps-item.is-active .item-icon,
.progress-steps-item-with-chain.is-active .item-icon {
    border: 2px solid var(--color-dark-gray);
}

.progress-steps-item.is-active .item-icon::after,
.progress-steps-item-with-chain.is-active .item-icon::after {
    content: '';
    background-color: var(--color-dark-gray);
    border-radius: 10px;
    position: absolute;
    top: 50%;
    left: 50%;
    height: 10px;
    width: 10px;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0);
}

.progress-steps-item.is-active .item-text,
.progress-steps-item-with-chain.is-active .item-text {
    color: var(--color-dark-gray);
}

.progress-steps-item.is-completed .item-icon,
.progress-steps-item-with-chain.is-completed .item-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.12 7'%3E%3Cpath fill='%23429548' d='M9.12 1.06L8.06 0 3.18 4.88 1.06 2.76 0 3.82 3.18 7l5.94-5.94z'/%3E%3C/svg%3E");
    border-color: var(--color-green);
    background-size: 12px;
    background-repeat: no-repeat;
    background-position: center center;
}

@media screen and (min-width: 768px) {
    .progress-steps .item-icon {
        border: 3px solid var(--color-gray);
        width: 28px;
        height: 28px;
        line-height: 28px;
        margin-bottom: 6px;
    }

    .progress-steps .item-line {
        top: 13px;
    }

    .progress-steps .item-text {
        font-size: 16px;
    }

    .progress-steps-item.is-active .item-icon,
    .progress-steps-item-with-chain.is-active .item-icon {
        border: 3px solid var(--color-dark-gray);
    }

    .progress-steps-item.is-active .item-icon::after,
    .progress-steps-item-with-chain.is-active .item-icon::after {
        height: 14px;
        width: 14px;
    }

    .progress-steps-item.is-completed .item-icon,
    .progress-steps-item-with-chain.is-completed .item-icon {
        background-size: 14px;
    }
}

/* NAVIGATION - Tabs */

.nav-tabs {
    border-bottom: 1px solid var(--color-dark-gray);
}

.nav-tabs-full>li {
    width: 50%;
}

.nav-tabs-full>li>a {
    text-align: center;
}

.nav-tabs>li {
    background: var(--color-light-gray);
}

.nav-tabs>li.active>a {
    border-left: 1px solid var(--color-dark-gray);
    border-top: 1px solid var(--color-dark-gray);
    border-right: 1px solid var(--color-dark-gray);
}

.nav-tabs>li.active>a:before {
    content: '';
    background: var(--color-dark-gray);
    height: 3px;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
}

.nav-tabs>li>a {
    border-bottom: 1px solid var(--color-dark-gray);
    border-radius: 0;
    color: var(--color-gray);
    font-family: 'Oswald', sans-serif;
    font-size: 20px;
    letter-spacing: 0.8px;
    margin-right: 0;
    text-decoration: none;
    text-transform: uppercase;
}

.nav-tabs>li:not(.active)>a:hover,
.nav-tabs>li:not(.active)>a:active {
    border-bottom: 1px solid var(--color-dark-gray);
}

.tab-content {
    display: block;
    overflow: hidden;
    position: relative;
    width: 100%;
    margin: 36px 0 30px;
}

/* ==== */
/* FOOTER */
/* ==== */

footer {
    padding: 16px 0;
    position: relative;
    text-align: center;
}

footer p {
    font-size: 10px;
    letter-spacing: 0.25px;
    margin: 0;
}

footer.has-btn-controls {
    margin-bottom: 70px;
}

/* ==== */
/* HERO */
/* ==== */

.hero {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    color: var(--color-white);
    padding: 95px 0 30px;
    position: relative;
    margin-top: -55px;
}

.hero::before {
    content: '';
    background-color: rgba(0, 0, 0, 0.5);
    height: 100%;
    width: 100%;
    top: 0;
    position: absolute;
    z-index: 1;
}

.hero::after {
    content: '';
    height: 100%;
    width: 100%;
    top: 0;
    position: absolute;
    z-index: 2;
    background-image: -webkit-gradient(linear,
        left top,
        left bottom,
        color-stop(50%, rgba(0, 0, 0, 0)),
        color-stop(80%, rgba(0, 0, 0, 0.25)));
    background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.25) 80%);
    background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.25) 80%);
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, rgba(0, 0, 0, 0)), color-stop(80%, rgba(0, 0, 0, 0.25)));
    background-image: linear-gradient(-180deg, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.25) 80%);
}

.hero * {
    z-index: 3;
}

.hero h1 {
    color: inherit;
    margin-bottom: 14px;
}

.hero h1+p {
    margin-bottom: 0;
}

.hero p {
    color: inherit;
}

@media screen and (min-width: 768px) {
    .hero {
        padding: 140px 0 110px;
        margin-top: -60px;
    }
}

/* hero-home */
.hero-home {
    background-image: url("/assets/images/Home_Page_Hero_Rings.jpg");
}

/* ==== */
/* HERO-SCHOOL */
/* ==== */

.hero-school {
    color: var(--color-dark-gray);
    background: var(--color-light-gray);
    padding: 85px 0 30px;
}

.hero-school:before,
.hero-school:after {
    content: none;
}

.hero-school h1,
.hero-school p {
    color: inherit;
}

.hero-school .row>div>*:last-child {
    margin-bottom: 0;
}

/* HERO-SCHOOL - minimal */

.hero-school-minimal {
    padding: 75px 0 20px;
}

/* hero-intro-text was originally in the header but pulled out so we can keep the header smaller */

.hero-intro-text {
    max-width: 780px;
    margin: 20px auto;
}

@media screen and (min-width: 768px) {
    .hero-school-minimal {
        padding: 80px 0 20px;
    }

    .hero-intro-text {
        margin: 25px auto;
    }
}



@media screen and (max-width: 767px) {
    .no-style {
        padding-right: 15px;
        padding-left: 15px;
    }
}

/* ==== */
/* FORM */
/* ==== */

.form {
    position: relative;
}

.form-row {
    position: relative;
}

.form .form-row label {
    width: 100%;
    margin-bottom: 0;
}

.form .form-row-two,
.form .form-row-three {
    font-size: 0;
}

.form .form-row-two label {
    width: 50%;
}

.form-row-two label:first-child {
    border-right: 1px solid var(--color-light-gray);
}

.form-row-two label:last-child {
    border-left: 1px solid var(--color-light-gray);
}

.form .form-row-three label,
.form .form-row-three label+label+label {
    width: 23%;
}

.form .form-row-three select {
    height: 48px;
}

.form .form-row-three .exp-date-spacer {
    border-bottom: 2px solid var(--color-light-gray);
    color: var(--color-gray);
    font-size: 12px;
    text-align: center;
    width: 4%;
    height: 48px;
    vertical-align: top;
    line-height: 4;
}

.form .form-row-three label+label+label+label {
    border-left: 2px solid var(--color-light-gray);
    width: 50%;
}

.form .form-row:first-child .form-control[type='text'] {
    border-top: 2px solid var(--color-light-gray);
}

.form .form-row:first-child .checkbox {
    border-bottom: 2px solid var(--color-light-gray);
    padding-bottom: 20px;
}

.form .form-row:last-child .checkbox {
    padding: 20px 14px;
}

.form .form-control[type='text'],
.form .form-control[type='email'],
.form .form-control[type='tel'] {
    font-weight: 400;
    border-radius: 0;
    padding: 24px 14px;
    border-left: 0;
    border-right: 0;
    border-top: 0;
    border-bottom: 2px solid var(--color-light-gray);
    -webkit-box-shadow: none;
    box-shadow: none;
}

.form .form-control[type='text']::-webkit-input-placeholder,
.form .form-control[type='email']::-webkit-input-placeholder,
.form .form-control[type='tel']::-webkit-input-placeholder {
    color: var(--color-gray);
    font-weight: 400;
}

.form .form-control[type='text']:-ms-input-placeholder,
.form .form-control[type='email']:-ms-input-placeholder,
.form .form-control[type='tel']:-ms-input-placeholder {
    color: var(--color-gray);
    font-weight: 400;
}

.form .form-control[type='text']:-ms-input-placeholder,
.form .form-control[type='email']:-ms-input-placeholder,
.form .form-control[type='tel']:-ms-input-placeholder {
    color: var(--color-gray);
    font-weight: 400;
}

/*.form .form-control[type='text']::placeholder,*/
/*.form .form-control[type='email']::placeholder,*/
/*.form .form-control[type='tel']::placeholder {*/
/*color: var(--color-gray);*/
/*font-weight: 400;*/
/*}*/

.form select {
    -webkit-appearance: none;
    border-radius: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    height: 50px;
    border-top: 0;
    border-left: 0;
    border-right: 0;
    border-bottom: 2px solid var(--color-light-gray);
}

.form select {
    background: transparent;
    font-weight: 400;
    color: var(--color-gray);
}

.form select+span {
    background-size: 18px;
    background-repeat: no-repeat;
    background-position: center center;
    width: 18px;
    height: 10px;
    position: absolute;
    top: 40%;
    right: 14px;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 10'%3E%3Cpath d='M17.63 2.05l-8 7.71a.9.9 0 0 1-1.22 0l-8-7.71a1.17 1.17 0 0 1 0-1.7 1.29 1.29 0 0 1 1.77 0L9 6.94 15.86.35a1.29 1.29 0 0 1 1.77 0 1.17 1.17 0 0 1 0 1.7' fill='%23505050' fill-rule='evenodd'/%3E%3C/svg%3E");
    z-index: 1;
    pointer-events: none;
}

/* Note that we can't simply say option:checked because Chrome ignores color when you set it like that */
.form select.is-selected {
    color: var(--color-black);
}

.form .checkbox {
    padding: 0 14px;
    margin: 0;
}

.form + a {
    margin: 20px 0;
}

/* FORM - CC Number */

.form .form-control#ccnumber + .input-group-addon {
    background: transparent;
    border: none;
    border-bottom: 2px solid #e6e6e6;
}

@media screen and (min-width: 768px) {

    .form .form-control[type='text'],
    .form .form-control[type='email'],
    .form .form-control[type='tel'] {
        padding: 22px 14px;
    }

    .form select {
        height: 44px;
    }
}

/* CHECKBOX */

.checkbox {
    position: relative;
}

.checkbox label {
    padding: 0;
}

.checkbox input[type='checkbox'] {
    display: none;
    position: absolute;
    margin-left: -20px;
}

.checkbox input[type='checkbox']:checked+.checkbox-figure {
    background: var(--color-dark-gray);
}

.checkbox input[type='checkbox']:checked+.checkbox-figure span {
    opacity: 1;
}

.checkbox .checkbox-figure {
    position: relative;
    display: inline-block;
    border: 1px solid var(--color-dark-gray);
    border-radius: 0;
    float: left;
    width: 28px;
    height: 28px;
    margin-right: 0;
}

.checkbox .checkbox-figure span {
    background-size: 18px;
    background-repeat: no-repeat;
    background-position: center center;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 23 16.67'%3E%3Cpath fill='%23fff' d='M20.5 0L8.85 11.66 2.5 5.33 0 7.82l8.85 8.85L23 2.51 20.5 0z'/%3E%3C/svg%3E");
    width: 100%;
    height: 100%;
    position: absolute;
    opacity: 0;
}

.checkbox .checkbox-text {
    font-size: 14px;
    padding-left: 42px;
    display: block;
}

/* RADIO */

.radio {
    position: relative;
    margin: 0;
}

.radio label {
    padding: 0;
    text-align: center;
}

.radio input[type='radio'] {
    display: none;
    position: absolute;
    margin-left: -20px;
}

.radio input[type='radio']:checked+.radio-figure span {
    opacity: 1;
}

.radio .radio-figure {
    position: relative;
    display: inline-block;
    border: 1px solid var(--color-dark-gray);
    border-radius: 28px;
    width: 28px;
    height: 28px;
    margin: 0 auto 10px;
}

.radio .radio-figure span {
    background-size: 18px;
    background-repeat: no-repeat;
    background-position: center center;
    background-color: var(--color-dark-gray);
    border-radius: 20px;
    width: 20px;
    height: 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0);
    opacity: 0;
}

.radio .radio-text {
    font-size: 18px;
    letter-spacing: 0.75px;
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
    float: left;
    display: block;
    width: 100%;
    margin: 0;
}

/* INPUT */

/* INPUT FIELDS */

.input-fields {
    list-style: none;
    margin: 0 0 20px;
    padding: 0;
}

.input-fields>li {
    border-bottom: 2px solid var(--color-light-gray);
    font-size: 0;
    width: 100%;
}

.input-fields>li:first-child {
    border-top: 2px solid var(--color-light-gray);
}

/* INPUT FIELDS - blank-field */

.input-fields .blank-field {
    padding: 0;
    text-align: center;
}

.input-fields .blank-field p {
    font-family: 'Oswald', sans-serif;
    font-size: 18px;
    font-weight: 500;
    color: var(--color-dark-gray);
    letter-spacing: 0.75px;
    text-transform: uppercase;
    padding: 0;
    margin: 8px 0;
}

/* INPUT FIELDS - multi-field */

.input-fields .multi-field {
    position: relative;
    padding: 25px;
}

.input-fields .multi-field-heading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 0;
    position: relative;
    margin-bottom: 12px;
    align-items: center;
}

.input-fields .multi-field-heading p {
    margin: 0;
    font-size: 15px;
}

.input-fields .multi-field-heading p,
.input-fields .multi-field-heading-links {
    width: 50%;
}

.input-fields .multi-field-heading-links {
    text-align: right;
}

.input-fields .multi-field-heading-links a+a {
    padding-left: 10px;
}

.input-fields .multi-field-heading .btn {
    font-size: 14px;
}

.input-fields .multi-field-content {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    font-size: 0;
    width: 100%;
}

.input-fields .multi-field-content>img:first-child {
    width: 60px;
    /* padding-right: 18px; */
}

.input-fields .multi-field-content .multi-field-controls {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    margin-left: 10px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.input-fields .multi-field-controls .dropdown {
    margin-bottom: 0 !important;
    margin-right: 15px;
    padding: 0;
}

.input-fields .multi-field-controls .dropdown-small {
    padding: 0 !important;
}

.input-fields .multi-field-controls .dropdown-small select {
    padding-left: 10px;
    padding-right: 10px;
}

.input-fields .multi-field-controls .dropdown-small:after {
    right: 10px !important;
}

/* INPUT FIELDS - card-field */

.input-fields .card-field {
    position: relative;
    padding: 12px;
}

.input-fields .card-field {
    font-size: 0;
    border: 2px solid var(--color-light-gray);
    text-align: center;
}

.input-fields .card-field img {
    max-width: 80px;
    width: 100%;
    text-align: center;
    margin: 0 auto 6px;
}

.input-fields .card-field p {
    font-family: 'Oswald', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: var(--color-dark-gray);
    letter-spacing: 0.75px;
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 6px;
}

.input-fields .card-field .btn {
    font-size: 14px;
    letter-spacing: 0.75px;
    width: 100%;
}

.input-fields.input-fields-one,
.input-fields.input-fields-two,
.input-fields.input-fields-three,
.input-fields.input-fields-four {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 0;
    width: 100%;
    margin: 0 auto;
    padding: 0 16px 20px;
}

.input-fields.input-fields-three {
    max-width: 380px;
}

.input-fields.input-fields-one li,
.input-fields.input-fields-two li,
.input-fields.input-fields-three li {
    margin-left: 8px;
    margin-right: 8px;
}

.input-fields.input-fields-four li {
    margin-left: 2px;
    margin-right: 2px;
}

.input-fields.input-fields-one li:first-child,
.input-fields.input-fields-two li:first-child,
.input-fields.input-fields-three li:first-child,
.input-fields.input-fields-four li:first-child {
    margin-left: 0;
}

.input-fields.input-fields-one li:last-child,
.input-fields.input-fields-two li:last-child,
.input-fields.input-fields-three li:last-child,
.input-fields.input-fields-four li:last-child {
    margin-right: 0;
}

.input-fields.input-fields-two .card-field {
    display: inline-block;
    width: 50%;
}

.input-fields.input-fields-three .card-field {
    display: inline-block;
    width: 33.333%;
}

.input-fields.input-fields-four .card-field {
    display: inline-block;
    width: 25%;
}

/* INPUT FIELDS - text-field */

.input-fields .text-field {
    display: -ms-inline-flexbox;
    display: -webkit-inline-box;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 8px 15px;
}

.input-fields .text-field .text-field-text {
    width: 40%;
}

.input-fields .text-field .text-field-text.text-field-with-select {
    width: 25%;
}

.input-fields .text-field .text-field-text+.text-field-select {
    width: 60%;
}

.input-fields .text-field .text-field-text.text-field-with-select+.text-field-select {
    width: 75%;
}

.input-fields .text-field .text-field-text,
.input-fields .text-field .text-field-price {
    font-size: 15px;
}

.input-fields .text-field .text-field-text .description {
    font-size: 14px;
}

.input-fields .text-field .text-field-select {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.input-fields .text-field .text-field-price {
    padding-right: 10px;
}

.input-fields .text-field.text-field-description {
    padding-top: 20px;
    padding-bottom: 20px;
}

.input-fields .text-field.text-field-description .text-field-text {
    width: 100%;
    padding-right: 30px;
}

.input-fields .text-field.text-field-description .text-field-text+.text-field-select {
    width: auto;
}

/* INPUT FIELDS - text-field - nested collapse version */

.input-fields .text-field-collapse {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.input-fields .text-field-collapse .text-field-main {
    display: -ms-inline-flexbox;
    display: -webkit-inline-box;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
}

.input-fields .text-field-collapse .text-field-nested {
    padding: 0;
    height: 0;
    width: 100%;
    overflow: hidden;
}

.input-fields .text-field-collapse .text-field-nested p,
.input-fields .text-field-no-collapse .text-field-nested p {
    font-size: 12px;
    margin-bottom: 8px;
}

.input-fields .text-field-collapse .text-field-nested>div,
.input-fields .text-field-no-collapse .text-field-nested>div {
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
}

.input-fields .text-field-collapse .text-field-nested input,
.input-fields .text-field-no-collapse .text-field-nested input {
    -webkit-box-shadow: none;
    box-shadow: none;
    border-radius: 0;
    width: 100%;
}

.input-fields .text-field-collapse .text-field-nested .clear,
.input-fields .text-field-no-collapse .text-field-nested .clear {
    cursor: pointer;
    opacity: 1;
    font-size: 0;
    float: none;
    text-shadow: none;
    width: 20px;
    height: 20px;
    margin-left: 15px;
}

.input-fields .text-field-collapse .text-field-nested .clear svg,
.input-fields .text-field-no-collapse .text-field-nested .clear svg {
    width: 20px;
    height: 20px;
}

.input-fields .text-field-collapse .text-field-nested .btn,
.input-fields .text-field-no-collapse .text-field-nested .btn {
    margin-top: 10px;
    width: 100%;
}

/* INPUT FIELDS - text-field - nested collapse version - is-active */

.input-fields .text-field-collapse.is-active .text-field-main .btn-small {
    border-color: var(--color-dark-gray);
    background: var(--color-dark-gray);
}

.input-fields .text-field-collapse.is-active .text-field-nested {
    padding: 10px 0 0;
    height: 100%;
}

/* ==== */
/* DROPDOWN */
/* ==== */

.dropdown {
    background: var(--color-black);
    border-radius: 0;
    display: inline-block;
    position: relative;
}

.dropdown::after {
    content: '';
    border-right: 0.125em solid var(--color-white);
    border-bottom: 0.125em solid var(--color-white);
    padding: 0.1875em;
    position: absolute;
    top: 50%;
    right: 0.75em;
    -webkit-transform: translateY(-75%) rotateZ(45deg);
    -ms-transform: translateY(-75%) rotate(45deg);
    transform: translateY(-75%) rotateZ(45deg);
}

.dropdown select {
    -moz-appearance: none;
    appearance: none;
    -webkit-appearance: none;
    border-radius: 0;
    border: 2px solid var(--color-black);
    background: transparent;
    color: var(--color-white);
    cursor: pointer;
    font-size: 16px;
    letter-spacing: 1.25px;
    text-decoration: none;
    text-transform: uppercase;
    padding: 8px 24px 8px 16px;
    position: relative;
    width: 100%;
    z-index: 1;
}

.dropdown select option {
    color: var(--color-black);
}

@media screen and (min-width: 768px) {
    .dropdown:not(.dropdown-small) select {
        padding: 16px 24px 16px 16px;
    }
}

/* DROPDOWN - Secondary */

.dropdown-secondary {
    background: transparent;
}

.dropdown-secondary::after {
    border-right: 0.125em solid var(--color-black);
    border-bottom: 0.125em solid var(--color-black);
}

.dropdown-secondary select {
    color: var(--color-black);
    border: 2px solid var(--color-black);
}

/* DROPDOWN - small */

.dropdown-small {
    font-family: 'Oswald', sans-serif;
    font-size: 14px;
    letter-spacing: 0.75px;
    line-height: 1;
    padding: 4px 24px 4px 16px;
}

/* dropdown within option, like for the encrusting stone option */
.panel .panel-body-content .dropdown.dropdown-within-ring-option {
    margin: auto;
}

/* DROPDOWN - custom */

.dropdown-custom {
    display: block;
    font-family: 'Oswald', sans-serif;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

.dropdown-custom::after {
    content: none;
}

.dropdown-inner {
    border-radius: 0;
    display: inline-block;
    position: relative;
    width: 100%;
}

.dropdown-toggle {
    color: var(--color-white) !important;
    width: 100%;
}

.dropdown-inner.open>.dropdown-toggle:hover,
.dropdown-inner.open>.dropdown-toggle:focus,
.dropdown-inner.open>.dropdown-toggle {
    background: var(--color-dark-gray);
    border-color: var(--color-dark-gray);
}

.dropdown-caret {
    position: relative;
    padding-left: 10px;
}

.dropdown-caret svg {
    width: 16px;
}

.dropdown-inner.open .dropdown-caret svg {
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg);
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
}

.dropdown-menu {
    border-top: none;
    border-left: 2px solid var(--color-black);
    border-bottom: 2px solid var(--color-black);
    border-right: 2px solid var(--color-black);
    border-radius: 0;
    max-height: 245px;
    margin: 0 0 30px;
    overflow-y: scroll;
    overflow-x: hidden;
    padding: 0;
    position: absolute;
    width: 100%;
}

.dropdown-menu li a {
    color: var(--color-black);
    font-size: 16px;
    letter-spacing: 1.25px;
    text-decoration: none;
    text-transform: uppercase;
    padding: 6px 10px;
}

.dropdown-menu li a:hover {
    background: var(--color-gray);
}

/* ==== */
/* PANEL */
/* ==== */

/* PANEL - Panel Group */

.panel-group {
    margin: 0;
    position: relative;
}

.panel-group .panel:last-child .input-fields {
    margin-bottom: 0;
}

.panel-group .panel+.panel,
.panel-group .panel~.panel-parent {
    margin-top: 4px;
}

/* PANEL - Main */

.panel {
    background-color: var(--color-white);
    border: none;
    -webkit-box-shadow: none;
    box-shadow: none;
}

/* Panel - Heading */

.panel>.panel-heading {
    background-color: var(--color-light-gray);
    background-image: none;
    border-radius: 0;
    border: none;
    padding: 0;
}

.panel>.panel-heading a {
    display: -ms-inline-flexbox;
    display: -webkit-inline-box;
    display: inline-flex;
    text-decoration: none;
    padding: 14px;
    position: relative;
    width: 100%;
}

.panel>.panel-heading .panel-title-icon {
    background-color: transparent;
    border: 2px solid var(--color-gray);
    border-radius: 100%;
    color: var(--color-gray);
    display: inline-block;
    text-align: center;
    width: 20px;
    height: 20px;
    margin: 0 10px 0 0;
    position: relative;
    font-size: 0;
    font-weight: 700;
    z-index: 2;
}

.panel>.panel-heading a[aria-expanded='true'] .panel-title-icon:after {
    content: '';
    background-color: var(--color-dark-gray);
    border-radius: 10px;
    position: absolute;
    top: 50%;
    left: 50%;
    height: 10px;
    width: 10px;
    -webkit-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0);
}

.panel>.panel-heading .panel-title-text {
    color: var(--color-dark-gray);
    font-size: 18px;
    letter-spacing: 0.75px;
}

.panel>.panel-heading .panel-title-arrow {
    background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 10'%3E%3Cpath d='M17.63 2.05l-8 7.71a.9.9 0 0 1-1.22 0l-8-7.71a1.17 1.17 0 0 1 0-1.7 1.29 1.29 0 0 1 1.77 0L9 6.94 15.86.35a1.29 1.29 0 0 1 1.77 0 1.17 1.17 0 0 1 0 1.7' fill='%23505050' fill-rule='evenodd'/%3E%3C/svg%3E") no-repeat center center;
    background-size: 18px;
    width: 18px;
    height: 10px;
    position: absolute;
    right: 14px;
    top: 40%;
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
}

.panel>.panel-heading a[aria-expanded='true'] .panel-title-arrow {
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg);
}

.panel>.panel-heading+.panel-collapse>.panel-body {
    border: none;
}

/* PANEL - body container */

.panel .panel-body {
    padding: 0;
}

.panel .panel-body>.panel-body-content:first-child {
    margin-top: 12px;
}

/* PANEL - error */

.panel .panel-body-error {
    padding: 20px;
}

.panel .panel-body-error .alert-error {
    margin: 0;
}

/* PANEL - description */

.panel .panel-body-description {
    padding: 20px;
}

.panel .panel-body-description p {
    font-size: 14px;
    margin-bottom: 12px;
}

.panel .panel-body-description p:last-child {
    margin-bottom: 0;
}

.panel .panel-body-description p+.panel-body-btns {
    padding: 6px 0 10px;
}

@media screen and (min-width: 768px) {
    .panel .panel-body-description p {
        font-size: 15px;
        margin-bottom: 16px;
    }
}

/* PANEL - description - buttons */

.panel-body-btns {
    padding: 0;
    text-align: center;
}

.panel-body-btns .btn {
    font-size: 14px;
}

.panel-body-btns-two .btn {
    padding-right: 10px;
}

.panel-body-btns-two .btn {
    padding-left: 10px;
}

@media screen and (min-width: 768px) {
    .panel-body-btns .btn {
        font-size: 18px;
    }

    .panel-body-btns-two .btn {
        padding-right: 20px;
    }

    .panel-body-btns-two .btn {
        padding-left: 20px;
    }
}

/* PANEL - description - dropdown */

.panel .panel-body-content {
    padding: 0;
}

.panel .panel-body-content .dropdown {
    width: 100%;
    margin-bottom: 20px;
    padding: 0 15px;
}

.panel .panel-body-content .dropdown:after {
    right: 40px;
}


/* PANEL - body-content - header */

.panel .panel-body-content .header {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -webkit-flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    margin-bottom: 10px;
}

.panel .panel-body-content .header .title {
    font-size: 18px;
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.75px;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-flex-grow: 1;
    overflow: hidden;
    white-space: nowrap;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    margin: 0;
}

.panel .panel-body-content .header .link {
    font-size: 14px;
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.75px;
}

@media screen and (min-width: 768px) {
    .panel .panel-body-content .header {
        margin-bottom: 16px;
    }

    .panel .panel-body-content .header .title {
        font-size: 30px;
    }

    .panel .panel-body-content .header .link {
        font-size: 18px;
    }
}

/* PANEL - is-completed */

.panel.is-completed .panel-title-icon {
    border-color: var(--color-green);
    background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9.12 7'%3E%3Cpath fill='%23429548' d='M9.12 1.06L8.06 0 3.18 4.88 1.06 2.76 0 3.82 3.18 7l5.94-5.94z'/%3E%3C/svg%3E") no-repeat center center;
    background-size: 12px;
}

/* PANEL - shipping */

.panel-body-shipping {
    padding: 20px 14px 18px;
}

.panel-body-shipping .header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -webkit-flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
}

.panel-body-shipping .header .title {
    font-family: 'Oswald', sans-serif;
    font-size: 18px;
    font-weight: 400;
    letter-spacing: .75px;
    text-transform: uppercase;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-flex-grow: 1;
    overflow: hidden;
    white-space: nowrap;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
}

.panel-body-shipping .price {
    font-family: 'Oswald', sans-serif;
    font-size: 18px;
    font-weight: 400;
    letter-spacing: .75px;
    text-transform: uppercase;
}

.panel-body-shipping .header+p {
    font-size: 14px;
    margin-bottom: 10px;
}

.panel-body-shipping .details {
    font-size: 9px;
}

.panel-body-shipping .details p {
    font-size: inherit;
    margin-bottom: 10px;
}

.panel-body-shipping .details p:last-child {
    margin-bottom: 0;
}

/* PANEL - link */

.panel-body-link {
    text-align: center;
    margin-bottom: 20px;
}

/* PANEL-GROUP - review  */

.panel-group-review {
    position: relative;
}

.panel-group-review .panel-heading {
    width: 100%;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -ms-inline-flexbox;
    display: -webkit-inline-box;
    display: inline-flex;
    padding: 14px 20px;
}

.panel-group-review .panel-body>.panel-body-content:first-child {
    margin-top: 0;
    padding: 18px 20px 14px;
}

.panel-group-review .panel-title {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-flex-grow: 1;
}

.panel-group-review .panel-title .panel-title-text {
    font-size: 18px;
}

.panel-group-review .panel-modify {
    font-family: 'Oswald', sans-serif;
    font-size: 16px;
    letter-spacing: 0.7px;
    text-transform: uppercase;
}

.panel-group-review .panel+.table-review {
    border-top: 3px solid var(--color-dark-gray);
}

@media screen and (min-width: 768px) {
    .panel-group-review .panel-heading {
        padding: 20px 20px;
    }

    .panel-group-review .panel-title .panel-title-text {
        font-size: 28px;
    }

    .panel-group-review .panel-modify {
        font-size: 18px;
        letter-spacing: 0.8px;
    }
}

/* PANEL - reviewInfo */

.panel-reviewInfo {
    position: relative;
}

.panel-reviewInfo .panel-body-description+.panel-body-content {
    border-bottom: 1px solid var(--color-light-gray);
    padding-top: 0;
}

.panel-reviewInfo .panel-body-content {
    padding: 14px;
}

.panel-reviewInfo .panel-body>*:last-child {
    border-top: 4px solid var(--color-dark-gray);
    margin: 0 14px 16px;
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 0;
}

.panel-reviewInfo .btn {
    margin-top: 20px;
    width: 100%;
}

@media screen and (min-width: 768px) {
    .panel-reviewInfo .panel-body-content {
        padding-bottom: 20px;
        padding-top: 20px;
    }
}

/* PANEL - paymentOption */

.panel-paymentOption {
    position: relative;
}

.panel-paymentOption .panel-body-description {
    font-size: 0;
    padding-bottom: 12px;
}

.panel-paymentOption .panel-body-description .radio {
    display: inline-block;
    text-align: center;
    width: 50%;
}

.panel-paymentOption .panel-body-content {
    padding: 0 14px 16px;
}

.panel-paymentOption .panel-body-content div+p:last-child {
    margin-bottom: 0;
}

/* PANEL - termsCondition */

.panel-termsCondition {
    position: relative;
}

.panel-termsCondition .panel-body-error {
    padding-bottom: 0;
}

.panel-termsCondition .panel-body-content {
    margin-top: 0 !important;
    padding: 20px 14px 16px;
}

.panel-termsCondition .checkbox {
    margin: 0;
}

/* PANEL - ccInfo */

.panel-ccInfo .panel-body-error.hidden + .panel-body-content {
    padding-top: 12px;
}

/* ==== */
/* TABLE */
/* ==== */

/* TABLE - review */

.table-review {
    position: relative;
    width: 100%;
}

.table-review-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -webkit-flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    width: 100%;
}

.table-review-col {
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    vertical-align: top;
}

.table-review .title {
    padding-right: 4px;
}

.table-review .selection {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-flex-grow: 1;
    overflow: hidden;
    white-space: nowrap;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
}

.table-review .price {
    padding-left: 4px;
}

.table-review-row-subtotal {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 8px 20px 8px;
}

.table-review-row-subtotal .title {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-flex-grow: 1;
    font-family: 'Oswald', sans-serif;
    font-size: 18px;
    letter-spacing: 0.7px;
    text-transform: uppercase;
}

.table-review-row-subtotal .price {
    font-family: 'Oswald', sans-serif;
    font-size: 30px;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.table-review-row-promo {
    display: -ms-inline-flexbox;
    display: -webkit-inline-box;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 18px 20px 14px;
    border-top: 2px solid var(--color-light-gray);
    border-bottom: 2px solid var(--color-light-gray);
}

.table-review-row-promo .title {
    padding-right: 14px;
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-negative: 1;
    flex-shrink: 1;
    -webkit-flex-shrink: 1;
}

.table-review-row-promo .input {
    padding-right: 14px;
}

.table-review-row-promo .input input {
    width: 100%;
}

.table-review-row-promo .btn {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -webkit-flex-grow: 1;
}

@media screen and (min-width: 768px) {
    .table-review-row-subtotal .price {
        font-size: 44px;
        letter-spacing: 1px;
    }

    .table-review-row-subtotal .title {
        font-size: 30px;
        letter-spacing: 0.8px;
    }

    .table-review-promo .title {
        width: 40%;
    }

    .table-review-row-promo .input {
        width: 30%;
        padding-right: 14px;
    }

    .table-review-row-promo .btn {
        width: 30%;
    }
}

/* TABLE - address */

.table-address {
    position: relative;
    width: 100%;
}

.table-address tr>th,
.table-address tr>td {
    width: 50%;
}

.table-address tr>th {
    padding-bottom: 6px;
}

.table-address td {
    color: var(--color-dark-gray);
}

/* TABLE - ring-info */

.table-ringInfo {
    position: relative;
    width: 100%;
}

.table-ringInfo tr:last-child th,
.table-ringInfo tr:last-child td {
    padding-bottom: 0;
}

.table-ringInfo th,
.table-ringInfo td {
    vertical-align: top;
    padding-bottom: 6px;
}

.table-ringInfo th {
    padding: 0 10px 0 0;
}

.table-ringInfo td {
    color: var(--color-dark-gray);
}

.table-ringInfo td:not(.price) {
    width: 100%;
}

.table-ringInfo .price {
    font-family: 'Oswald', sans-serif;
    font-size: 14px;
    letter-spacing: 0.7px;
    text-transform: uppercase;
    padding-left: 10px;
    text-align: right;
}

@media screen and (min-width: 768px) {

    .table-ringInfo th,
    .table-ringInfo td {
        padding-bottom: 12px;
    }
}

/* TABLE - total */

.table-total {
    position: relative;
    width: 100%;
}

.table-total tr:last-child th,
.table-total tr:last-child td {
    padding-bottom: 0;
}

.table-total th,
.table-total td {
    vertical-align: top;
    padding-bottom: 6px;
}

.table-total th {
    padding: 0 10px 0 0;
}

.table-total td {
    color: var(--color-dark-gray);
}

.table-total td:not(.price) {
    width: 100%;
}

.table-total .price {
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
    padding-left: 10px;
    text-align: right;
}

@media screen and (min-width: 768px) {

    .table-total th,
    .table-total td {
        padding-bottom: 12px;
    }

    .table-total tr:last-child .price {
        font-size: 40px;
    }
}

/* ==== */
/* RING DISCLAIMER */
/* ==== */

.ring-disclaimer {
    font-size: 14px;
}

.ring-disclaimer p {
    font-size: inherit;
    margin-bottom: 0;
}

/* ==== */
/* REVIEW DISCLAIMER  */
/* ==== */

.review-disclaimer {
    font-size: 14px;
}

.review-disclaimer p {
    font-size: inherit;
    margin-bottom: 12px;
}

.review-disclaimer p:last-child {
    margin-bottom: 0;
}

/* ==== */
/* RING PREVIEW */
/* ==== */

.ring-preview {
    position: relative;
    font-size: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
}

.ring-preview-image,
.ring-preview-info {
    display: inline;
    width: 50%;
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
}

.ring-preview-image img {
    width: 75%;
}

.ring-preview-info {
    text-align: center;
}

.ring-preview-info .ring-name {
    color: var(--color-dark-gray);
    font-family: 'Oswald', sans-serif;
    font-size: 24px;
    letter-spacing: 1px;
}

.ring-preview-info .ring-price {
    color: var(--color-dark-gray);
    font-family: 'Oswald', sans-serif;
    font-size: 30px;
    letter-spacing: 1px;
}

@media screen and (min-width: 768px) {
    .ring-preview {
        display: block;
    }

    .ring-preview-image,
    .ring-preview-info {
        display: block;
        width: 100%;
    }

    .ring-preview-image+.ring-preview-info {
        margin-top: 10px;
    }

    .ring-preview-image {
        text-align: center;
    }

    .ring-preview-image img {
        width: 70%;
    }

    .ring-preview-info .ring-name {
        font-size: 41px;
    }

    .ring-preview-info .ring-price {
        font-size: 53px;
        line-height: 48px;
    }
}

/* ==== */
/* RING REVIEW */
/* ==== */

.ring-review {
    position: relative;
    font-size: 0;
}

.ring-review-image {
    margin-bottom: 20px;
}

.ring-review-info .title {
    font-size: 30px;
    margin-bottom: 10px;
}

.ring-review-info .title+p {
    font-size: 15px;
    margin-bottom: 4px;
}

.ring-review p {
    font-size: 14px;
}

.ring-review p:last-child {
    margin-bottom: 0;
}

.ring-review .ring-preview-image {
    display: block;
    width: 100%;
    margin: 0 auto 20px;
    max-width: 150px;
}

@media screen and (min-width: 768px) {

    .ring-review .ring-preview-image {
        max-width: 200px;
        margin: 0 0 30px;
    }

    .ring-review-info .title {
        font-size: 41px;
    }

    .ring-review-info .title+p {
        font-size: 17px;
        margin-bottom: 12px;
    }

    .ring-review p {
        font-size: 15px;
    }
}

/* ==== */
/* RINGS GRID */
/* ==== */

.rings-grid {
    margin: 0;
    padding: 0;
    position: relative;
}

.rings-grid .ring {
    list-style: none;
    margin: 0;
    position: relative;
    text-align: center;
}

.rings-grid .ring label {
    cursor: pointer;
    position: relative;
    margin: 0;
}

.rings-grid .ring input {
    opacity: 0;
    visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
}

.rings-grid .ring img {
    width: 100%;
}

.rings-grid .ring h3 {
    font-size: 18px;
    margin: 0 0 6px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rings-grid .ring p {
    font-size: 14px;
    font-weight: 400;
    margin: 0;
}

/* RINGS GRID - block grid */

.rings-grid {
    display: block;
    margin: -15px;
    padding: 0 0.9375rem;
}

.rings-grid:before,
.rings-grid:after {
    content: ' ';
    display: table;
}

.rings-grid:after {
    clear: both;
}

.rings-grid>* {
    display: inline;
    float: left;
    height: auto;
    padding: 15px;
    width: 50%;
}

.rings-grid>*:nth-of-type(n) {
    clear: none;
}

.rings-grid>*:nth-of-type(2n + 1) {
    clear: both;
}

@media screen and (min-width: 460px) {
    .rings-grid>* {
        width: 33.333333333333336%;
    }

    .rings-grid>*:nth-of-type(n) {
        clear: none;
    }

    .rings-grid>*:nth-of-type(3n + 1) {
        clear: both;
    }
}

@media screen and (min-width: 640px) {
    .rings-grid>* {
        width: 25%;
    }

    .rings-grid>*:nth-of-type(n) {
        clear: none;
    }

    .rings-grid>*:nth-of-type(4n + 1) {
        clear: both;
    }
}

@media screen and (min-width: 768px) {
    .rings-grid .ring h3 {
        font-size: 24px;
        margin: 0 0 6px;
    }

    .rings-grid .ring p {
        font-size: 12px;
    }

    .tab-content .tab-pane {
        display: block;
        float: left;
        width: 50%;
        padding-bottom: 20px;
    }

    .tab-content .tab-pane>h3 {
        margin-bottom: 40px;
    }

    .tab-content .tab-pane#women-rings {
        padding-right: 10px;
    }

    .tab-content .tab-pane#men-rings {
        padding-left: 10px;
    }

    .tab-content .tab-pane#women-rings+.tab-pane#men-rings {
        border-left: 2px solid var(--color-light-gray);
    }

    .tab-content {
        width: 750px;
        padding-right: 15px;
        padding-left: 15px;
        margin: 0 auto;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .rings-grid>* {
        width: 50%;
    }

    .rings-grid>*:nth-of-type(n) {
        clear: none;
    }

    .rings-grid>*:nth-of-type(2n + 1) {
        clear: both;
    }
}

@media screen and (min-width: 992px) {
    .tab-content {
        width: 970px;
    }

    .rings-grid>* {
        width: 33.333333333333336%;
    }

    .rings-grid>*:nth-of-type(n) {
        clear: none;
    }

    .rings-grid>*:nth-of-type(3n + 1) {
        clear: both;
    }
}

@media screen and (min-width: 1200px) {
    .tab-content {
        width: 1170px;
    }

    .rings-grid>* {
        width: 25%;
    }

    .rings-grid>*:nth-of-type(n) {
        clear: none;
    }

    .rings-grid>*:nth-of-type(4n + 1) {
        clear: both;
    }
}

/* ==== */
/* CATEGORIES GRID */
/* ==== */

.categories-grid {
    display: block;
    padding: 0;
    margin: 0;
}

.categories-grid li {
    list-style: none;
    margin: 0;
    position: relative;
    text-align: center;
}

.categories-grid li label {
    cursor: pointer;
    position: relative;
    margin: 0;
}

.categories-grid img {
    width: 100%;
    margin: 0 0 16px;
}

.categories-grid .title {
    margin: 0 0 2px;
}

.categories-grid .price {
    font-weight: 400;
    margin: 0;
}

/* CATEGORIES GRID - block grid */

.categories-grid:before,
.categories-grid:after {
    content: ' ';
    display: table;
}

.categories-grid:after {
    clear: both;
}

.categories-grid>* {
    display: inline;
    float: left;
    height: auto;
    padding: 15px;
    width: 50%;
}

.categories-grid>*:nth-of-type(n) {
    clear: none;
}

.categories-grid>*:nth-of-type(2n + 1) {
    clear: both;
}

@media screen and (min-width: 470px) {
    .categories-grid>* {
        width: 33.333333333333336%;
    }

    .categories-grid>*:nth-of-type(n) {
        clear: none;
    }

    .categories-grid>*:nth-of-type(3n + 1) {
        clear: both;
    }
}

@media screen and (min-width: 640px) {
    .categories-grid>* {
        width: 25%;
    }

    .categories-grid>*:nth-of-type(n) {
        clear: none;
    }

    .categories-grid>*:nth-of-type(4n + 1) {
        clear: both;
    }
}

@media screen and (min-width: 768px) {
    .categories-grid>* {
        width: 20%;
    }

    .categories-grid>*:nth-of-type(n) {
        clear: none;
    }

    .categories-grid>*:nth-of-type(5n + 1) {
        clear: both;
    }
}

@media screen and (min-width: 1200px) {
    .categories-grid>* {
        width: 16.66666667%;
    }

    .categories-grid>*:nth-of-type(n) {
        clear: none;
    }

    .categories-grid>*:nth-of-type(6n + 1) {
        clear: both !important;
    }
}

/* ==== */
/* ENCRUSTING GRID, stone cut grid */
/* ==== */

.encrusting-grid, .stone-cut-grid {
    display: block;
    padding: 0;
    margin: 0;
}

.encrusting-grid li, .stone-cut-grid li {
    list-style: none;
    margin: 0;
    position: relative;
    text-align: center;
}

.encrusting-grid:before, .stone-cut-grid:before,
.encrusting-grid:after, .stone-cut-grid:after {
    content: ' ';
    display: table;
}

.encrusting-grid:after, .stone-cut-grid:after {
    clear: both;
}

.encrusting-grid>*, .stone-cut-grid>* {
    display: inline;
    float: left;
    height: auto;
    padding: 15px;
    width: 50%;
}

.encrusting-grid>*:nth-of-type(n), .stone-cut-grid>*:nth-of-type(n) {
    clear: none;
}

.encrusting-grid>*:nth-of-type(2n + 1), .stone-cut-grid>*:nth-of-type(2n + 1) {
    clear: both;
}

@media screen and (min-width: 470px) {
    .encrusting-grid>*, .stone-cut-grid>* {
        width: 33.333333333333336%;
    }

    .encrusting-grid>*:nth-of-type(n), .stone-cut-grid>*:nth-of-type(n) {
        clear: none;
    }

    .encrusting-grid>*:nth-of-type(3n + 1), .stone-cut-grid>*:nth-of-type(3n + 1) {
        clear: both;
    }
}

@media screen and (min-width: 640px) {
    .encrusting-grid>*, .stone-cut-grid>* {
        width: 50%;
    }

    .encrusting-grid>*:nth-of-type(n), .stone-cut-grid>*:nth-of-type(n) {
        clear: none;
    }

    .encrusting-grid>*:nth-of-type(3n + 1), .stone-cut-grid>*:nth-of-type(3n + 1) {
        clear: both;
    }
}

/* ==== */
/* REP BLOCK */
/* ==== */

.rep-block {
    width: 100%;
    max-width: 100%;
}

.rep-block h4 {
    margin-bottom: 5px;
}

.rep-block-detail {
    font-size: 16px;
    padding-bottom: 10px;
}

@media screen and (min-width: 768px) {
    .rep-block-detail {
        font-size: 18px;
    }

}

/* ==== */
/* SHARE */
/* ==== */

.share {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    display: -webkit-flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    width: 100%;
}

.layout-progress-review .share.hidden-xs {
    margin-top: 20px;
}

.layout-progress-review .share.hidden-sm {
    margin-bottom: 20px;
}

.share .title {
    color: var(--color-dark-gray);
    font-family: 'Oswald', sans-serif;
    font-size: 18px;
    letter-spacing: .75px;
    text-transform: uppercase;
    width: 60%;
    padding-right: 30px;
}

.share .icons a {
    text-decoration: none;
    margin-right: 20px;
}

.share .icons a:last-child {
    margin-right: 0;
}

.share .icons .facebook svg {
    width: 36px;
}

.share .icons .mail svg {
    width: 46px;
}

/* ==== */
/* ERROR ALERT */
/* ==== */

/* .alert {} */

.alert-error {
    color: var(--color-red);
    background-color: #f8d7da;
    border-radius: 0;
    border: 0 #f5c6cb;
}

.alert-error p {
    color: inherit;
}

.alert-error p.alert-heading {
    margin-bottom: 6px;
    font-weight: 600;
}

.alert-error ul {
    margin: 0;
    padding-left: 20px;
}



/* ==== */
/* BUTTON CONTROLS */
/* ==== */

.btn-control {
    padding: 12px 0;
    background: var(--color-white);
    -webkit-box-shadow: 0 -1px 5px 0 rgba(0, 0, 0, 0.3);
    box-shadow: 0 -1px 5px 0 rgba(0, 0, 0, 0.3);
    bottom: 0;
    margin-top: 0;
    position: -webkit-sticky;
    position: fixed;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    top: auto;
    width: 100%;
    z-index: 3;
}

/* BUTTON CONTROLS - one */

.btn-control-one {
    text-align: center;
}

/* BUTTON CONTROLS - two */

.btn-control-two {
    text-align: center;
}

.btn-control-two .col-xs-12 {
    font-size: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.btn-control-two #back,
.btn-control-two #back+.btn-next,
.btn-control-two #back+form {
    display: inline-block;
    width: 50%;
}

.btn-control-two form {
    margin-right: 10px;
}

.btn-control-two .btn-next {
    margin-left: 10px;
}

.btn-control-two form #next-xs {
    width: 100%;
}

@media screen and (min-width: 768px) {
    .btn-control {
        padding: 30px 0;
        background: none;
        -webkit-box-shadow: none;
        box-shadow: none;
        bottom: initial;
        margin-top: 0;
        position: relative;
        -webkit-transform: none;
        -ms-transform: none;
        transform: none;
        top: initial;
        width: auto;
        z-index: 1;
    }

    .btn-control-one {
        text-align: left;
    }

    .btn-control-two form,
    .btn-control-two .btn-next {
        display: block;
        width: auto;
    }

    .btn-control-two form {
        margin-right: 0;
    }

    .btn-control-two .btn-back {
        margin-left: 0;
    }
}


/* ==== */
/* CALLOUT */
/* ==== */

.callout {
    background-color: var(--color-light-gray);
    padding: 20px 30px;
    position: relative;
}

.callout h2 {
    margin-bottom: 12px;
}

.callout p:last-child {
    margin-bottom: 0;
}

@media screen and (min-width: 768px) {
    .callout {
        padding: 35px 40px;
    }

    .callout h2 {
        margin-bottom: 20px;
    }
}

/* ==== */
/* UI AUTOCOMPLETE OVERRIDE */
/* ==== */

.ui-autocomplete-input {
    border: 2px solid var(--color-dark-gray);
    border-radius: 0;
    padding-left: 14px;
    height: 45px;
    font-family: 'Oswald', sans-serif;
    font-size: 15px;
    letter-spacing: 0.75px;
    text-transform: uppercase;
}

.ui-widget.ui-widget-content.ui-autocomplete {
    border: 1px solid var(--color-dark-gray);
    border-top: none;
    padding: 0;
    max-height: 232px;
    overflow: auto;
}

.ui-menu .ui-menu-item-wrapper {
    position: relative;
    padding: 6px 14px 6px 14px;
}

.ui-menu-item>div {
    font-family: 'Oswald', sans-serif;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0.75px;
    text-transform: uppercase;
}

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
.ui-menu-item>.ui-state-active {
    border: none !important;
    background: var(--color-gray) !important;
    font-weight: 400 !important;
}

.ui-menu .ui-state-focus,
.ui-menu .ui-state-active {
    margin: 0 !important;
}

@media screen and (min-width: 768px) {

    .ui-autocomplete-input {
        height: 60px;
    }

    .ui-autocomplete-input {
        padding-left: 18px;
    }

    .ui-widget.ui-widget-content.ui-autocomplete {
        max-height: 229px;
    }

    .ui-menu .ui-menu-item-wrapper {
        padding: 8px 18px 8px 18px;
    }

    .ui-autocomplete-input {
        font-size: 16px;
    }

    .ui-menu-item>div {
        font-size: 16px;
    }

}

/* ==== */
/* MODAL */
/* ==== */

/* MODAL - full screen on mobile */

.modal-header {
    border: none;
    padding: 14px 15px;
}

.modal-body {
    padding: 0 25px 25px;
}

.modal-footer {
    bottom: 0;
    background: var(--color-white);
    -webkit-box-shadow: 0 -1px 5px 0 rgba(0, 0, 0, 0.3);
    box-shadow: 0 -1px 5px 0 rgba(0, 0, 0, 0.3);
    text-align: center;
    position: fixed;
    width: 100%;
}

.modal .list-points {
    max-width: 440px;
    margin: 0 auto;
}

@media screen and (max-width: 767px) {
    .modal {
        padding-right: 0 !important;
        /* bottom: 74px !important; */
    }

    .modal .modal-body {
        padding-bottom: 95px;
    }

    .modal-dialog {
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
    }

    .modal-content {
        height: auto;
        min-height: 100%;
        border-radius: 0;
    }
}

@media screen and (min-width: 768px) {

    .modal {
        text-align: center;
    }

    .modal:before {
        display: inline-block;
        vertical-align: middle;
        content: " ";
        height: 100%;
    }

    .modal-dialog {
        display: inline-block;
        text-align: left;
        vertical-align: middle;
    }

    .modal-footer {
        display: none;
    }
}

/* MODAL - layout - text */

.modal-layout-text {
    display: none;
}

.modal-layout-text section {
    margin-bottom: 30px;
}

.modal-layout-text section:last-child {
    margin-bottom: 0;
}

/* MODAL - layout - share */

.modal-layout-share section {
    margin-bottom: 30px;
}

.modal-layout-share section:last-child {
    margin-bottom: 0;
}

.modal-layout-share .form {
    max-width: 350px;
    margin: 0 auto;
}

.modal-layout-share .form .form-row:last-child .checkbox {
    padding-bottom: 0;
}

.modal-layout-share .link-one,
.modal-layout-share .link-two {
    text-align: center;
}

.modal-layout-share .link-one {
    margin: 20px 0 12px;
}

/* MODAL - contact form */

.modal-layout-contact {
    display: none;
    padding-left: 0 !important;
}

.modal-layout-contact h2 {
    margin: 0 0 8px;
}

/* Since HTML5 browsers will ignore scrolling="yes" on an iframe, and the content has to be in an iframe because it's from a different subdomain,
    force the iframe to be less than the viewport height and make the iframe scroll, not the page
 */
.modal-layout-contact iframe {
    height: 80vh;
}

@media screen and (min-width: 768px) {
    .modal-layout-contact {
        padding-left: initial;
    }

    .modal-layout-contact h2 {
        margin: 0 0 12px;
    }
}

/* ==== */
/* OTHER */
/* ==== */

/* text on school landing page - can be either intro text or disclaimer */

.intro-text,
.disclaimer {
    margin-top: 20px;
}

/* ring cluster on about page, similar to section-text-one and -two clusters */

img.about-image {
    max-width: 235px;
}

@media screen and (min-width: 768px) {
    img.about-image {
        max-width: 334px;
    }
}

/* ==== */
/* LAYOUT */
/* ==== */

/* LAYOUT - All Single Pages */

.layout-about section,
.layout-warranty section,
.layout-salesRep section,
.layout-customer-service section {
    max-width: 780px;
    margin: 0 auto;
}

/* LAYOUT - home */

.layout-home {
    position: relative;
}

.layout-home img {
    margin-bottom: 20px;
    max-width: 235px;
}

.layout-home .btn {
    width: 100%;
    margin-bottom: 18px;
}

.layout-home .row+.row p:last-child {
    margin-bottom: 0;
}

@media screen and (min-width: 768px) {
    .layout-home img {
        max-width: 334px;
    }

    .layout-home .btn {
        max-width: 360px;
    }
}

/* LAYOUT - schools */

.layout-schools {
    position: relative;
}

.layout-schools section {
    padding: 30px 0;
}

.layout-schools h2+img {
    margin-bottom: 16px;
}

.layout-schools img.ring-collection {
    margin-bottom: 20px;
}

.layout-schools .form-control {
    margin-bottom: 18px;
}

.layout-school .text-alert {
    margin-bottom: 10px;
}

.layout-schools .text-small {
    margin-bottom: 0;
}

@media screen and (min-width: 768px) {
    .layout-schools section {
        padding: 40px 0;
    }
}

/* LAYOUT - customer-service */

.layout-customer-service {
    position: relative;
}

.layout-customer-service .col-xs-12 {
    text-align: center;
}

.layout-customer-service .btn {
    margin: 8px auto 24px;
    width: 100%;
}

@media screen and (min-width: 768px) {
    .layout-customer-service .btn {
        margin: 12px auto 26px;
        max-width: 360px;
    }

}

/* LAYOUT - campus-selection */

.layout-campus-selection {
    position: relative;
}

.layout-campus-selection section:not(.btn-control) {
    padding: 30px 0;
    margin: 0 auto;
}

.layout-campus-selection section:not(.btn-control) form {
    text-align: center;
}

.layout-campus-selection section .dropdown {
    margin: 6px auto 0;
    width: 100%;
    max-width: 350px;
}

@media screen and (min-width: 768px) {
    .layout-campus-selection section .dropdown {
        margin: 12px auto 0;
    }
}

/* LAYOUT - copyright */

.layout-copyright {
    position: relative;
}

.layout-copyright section p:last-child {
    margin-bottom: 0;
}

.layout-copyright a {
    word-wrap: break-word;
}

/* LAYOUT - salesRep */

.layout-salesRep {
    position: relative;
}

.layout-salesRep section .rep-block {
    margin-top: 24px;
}

.layout-salesRep section .btn {
    margin-top: 6px;
    width: 100%;
}

@media screen and (min-width: 768px) {
    .layout-salesRep section .rep-block {
        margin-top: 30px;
    }

    .layout-salesRep section .btn {
        margin: 22px auto 0;
        display: table;
        text-align: center;
        max-width: 360px;
    }
}

/* LAYOUT - warranty */

.layout-warranty {
    background: var(--color-white);
}

.layout-warranty h2,
.layout-warranty h3,
.layout-warranty .btn {
    margin-top: 30px;
}

.layout-warranty .btn {
    width: 100%;
}

.layout-warranty .rep-block {
    margin-top: 30px;
}

@media screen and (min-width: 768px) {
    .layout-warranty .btn {
        max-width: 360px;
    }
}

/* LAYOUT - about */

.layout-about {
    background: var(--color-white);
}

.layout-about h1 {
    margin-bottom: 30px;
}

.layout-about h2 {
    margin-top: 30px;
}

.layout-about article p:last-child {
    margin-bottom: 0;
}

/* LAYOUT - choose ring categories */

.layout-categories>header {
    padding: 30px 0;
}

.layout-categories header p {
    margin-bottom: 0;
}

@media screen and (min-width: 768px) {
    .layout-categories>header {
        padding: 40px 0 50px;
    }
}

/* LAYOUT - choose rings */

.layout-rings>header {
    padding: 30px 0;
}

.layout-rings header p {
    margin-bottom: 0;
}

.layout-rings+footer {
    padding-top: 0;
    padding-bottom: 90px;
}

@media screen and (max-width: 767px) {
    .layout-rings section:not(.btn-control) {
        margin-bottom: 20px;
    }
}

@media screen and (min-width: 768px) {
    .layout-rings>header {
        padding: 40px 0 50px;
    }

    .layout-rings+footer {
        padding-bottom: 16px;
    }
}

/* LAYOUT - progress: ring */

.layout-progress-ring {
    position: relative;
}

.layout-progress-ring nav {
    padding: 10px 0;
}

.layout-progress-ring .progress-steps {
    margin: 0 auto;
    max-width: 800px;
}

.layout-progress-ring .ring-preview {
    padding: 0 0 20px;
}

.layout-progress-ring section .col-sm-6+.col-sm-6 {
    padding-left: 0;
    padding-right: 0;
}

.layout-progress-ring .ring-disclaimer {
    margin: 20px auto 0;
    padding-left: 15px;
    padding-right: 15px;
    max-width: 365px;
}

.layout-progress-ring + div + div + div + footer {
    padding-top: 0;
    padding-bottom: 90px;
}

@media screen and (max-width: 767px) {
    .layout-progress-ring section:not(.btn-control) {
        margin-bottom: 20px;
    }
}

@media screen and (min-width: 768px) {
    .layout-progress-ring section .col-sm-6+.col-sm-6 {
        padding-right: 15px;
        padding-left: 15px;
    }

    .layout-progress-ring nav {
        padding: 20px 0;
        margin-bottom: 30px;
        border-bottom: 1px solid var(--color-light-gray);
    }

    .layoout-progress-ring .ring-preview {
        margin-bottom: 36px;
    }

    .layout-progress-ring form {
        margin-bottom: 30px;
    }

    .layout-progress-ring .ring-disclaimer {
        margin-top: 0;
        padding-left: 0;
        padding-right: 0;
    }

    .layout-progress-ring + div + div + div + footer {
        padding-bottom: 16px;
    }
}

/* LAYOUT - progress: top */

.layout-progress-top {
    position: relative;
}

.layout-progress-top nav {
    padding: 10px 0;
}

.layout-progress-top .ring-preview {
    padding: 0 0 20px;
}

.layout-progress-top .progress-steps {
    margin: 0 auto;
    max-width: 800px;
}

.layout-progress-top section .col-sm-6+.col-sm-6 {
    padding-left: 0;
    padding-right: 0;
}

.layout-progress-top .ring-disclaimer {
    margin: 20px auto 0;
    padding-left: 15px;
    padding-right: 15px;
    max-width: 365px;
}

.layout-progress-top + div + footer {
    padding-top: 0;
    padding-bottom: 90px;
}

.layout-progress-top #panelTypeDiv .multi-field-heading-links,
.layout-progress-top #settingTypeDiv .multi-field-heading-links {
    text-align: center;
    width: 100%;
}

@media screen and (max-width: 767px) {
    .layout-progress-top section:not(.btn-control) {
        margin-bottom: 20px;
    }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
    .layout-progress-top #stoneCutDiv .btn {
        padding-left: 0;
        padding-right: 0;
    }

    .layout-progress-top #stoneCutDiv .input-fields .card-field {
        padding: 8px;
    }
}

@media screen and (min-width: 768px) {
    .layout-progress-top section .col-sm-6+.col-sm-6 {
        padding-right: 15px;
        padding-left: 15px;
    }

    .layout-progress-top nav {
        padding: 20px 0;
        margin-bottom: 30px;
        border-bottom: 1px solid var(--color-light-gray);
    }

    .layoout-progress-top .ring-preview {
        margin-bottom: 36px;
    }

    .layout-progress-top form {
        margin-bottom: 30px;
    }

    .layout-progress-top .ring-disclaimer {
        margin-top: 0;
        padding-left: 0;
        padding-right: 0;
    }
}

/* LAYOUT - progress: side */

.layout-progress-side {
    position: relative;
}

.layout-progress-side nav {
    padding: 10px 0;
}

.layout-progress-side .ring-preview {
    padding: 0 0 20px;
}

.layout-progress-side .progress-steps {
    margin: 0 auto;
    max-width: 800px;
}

.layout-progress-side section .col-sm-6+.col-sm-6 {
    padding-left: 0;
    padding-right: 0;
}

.layout-progress-side .ring-disclaimer {
    margin: 20px auto 0;
    padding-left: 15px;
    padding-right: 15px;
    max-width: 365px;
}

.layout-progress-side + div + footer {
    padding-top: 0;
    padding-bottom: 90px;
}

@media screen and (max-width: 767px) {
    .layout-progress-side section:not(.btn-control) {
        margin-bottom: 20px;
    }
}

@media screen and (min-width: 768px) {
    .layout-progress-side section .col-sm-6+.col-sm-6 {
        padding-right: 15px;
        padding-left: 15px;
    }

    .layout-progress-side nav {
        padding: 20px 0;
        margin-bottom: 30px;
        border-bottom: 1px solid var(--color-light-gray);
    }

    .layoout-progress-side .ring-preview {
        margin-bottom: 36px;
    }

    .layout-progress-side form {
        margin-bottom: 30px;
    }

    .layout-progress-side .ring-disclaimer {
        margin-top: 0;
        padding-left: 0;
        padding-right: 0;
    }
}

/* LAYOUT - progress: chain */

.layout-progress-chain {
    position: relative;
}

.layout-progress-chain nav {
    padding: 10px 0;
}

.layout-progress-chain .ring-preview {
    padding: 0 0 20px;
}

.layout-progress-chain .progress-steps {
    margin: 0 auto;
    max-width: 800px;
}

.layout-progress-chain section .col-sm-6+.col-sm-6 {
    padding-left: 0;
    padding-right: 0;
}

.layout-progress-chain .ring-disclaimer {
    margin: 20px auto 0;
    padding-left: 15px;
    padding-right: 15px;
    max-width: 365px;
}

.layout-progress-chain + div + footer {
    padding-top: 0;
    padding-bottom: 90px;
}

@media screen and (max-width: 767px) {
    .layout-progress-chain section:not(.btn-control) {
        margin-bottom: 20px;
    }
}

@media screen and (min-width: 768px) {
    .layout-progress-chain section .col-sm-6+.col-sm-6 {
        padding-right: 15px;
        padding-left: 15px;
    }

    .layout-progress-chain nav {
        padding: 20px 0;
        margin-bottom: 30px;
        border-bottom: 1px solid var(--color-light-gray);
    }

    .layoout-progress-chain .ring-preview {
        margin-bottom: 36px;
    }

    .layout-progress-chain form {
        margin-bottom: 30px;
    }

    .layout-progress-chain .ring-disclaimer {
        margin-top: 0;
        padding-left: 0;
        padding-right: 0;
    }
}

/* LAYOUT - progress: review */

.layout-progress-review {
    position: relative;
}

.layout-progress-review nav {
    padding: 10px 0;
}

.layout-progress-review .progress-steps {
    margin: 0 auto;
    max-width: 800px;
}

.layout-progress-review .ring-review {
    margin-bottom: 20px;
}

.layout-progress-review .panel-group-review {
    padding-bottom: 20px;
}

.layout-progress-review .review-disclaimer {
    max-width: 500px;
    margin: 0 auto 30px;
}

.layout-progress-review .share {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    max-width: 500px;
    margin: 0 auto;
}

.layout-progress-review section .col-sm-6+.col-sm-6 {
    padding-left: 0;
    padding-right: 0;
}

.layout-progress-review + div + div + footer {
    padding-top: 0;
    padding-bottom: 90px;
}

@media screen and (max-width: 767px) {
    .layout-progress-review section:not(.btn-control) {
        margin-bottom: 10px;
    }
}

@media screen and (min-width: 768px) {
    .layout-progress-review section .col-sm-6+.col-sm-6 {
        padding-right: 15px;
        padding-left: 15px;
    }

    .layout-progress-review nav {
        padding: 20px 0;
        margin-bottom: 30px;
        border-bottom: 1px solid var(--color-light-gray);
    }

    .layout-progress-review .review-disclaimer {
        margin: 0 auto;
    }
}

/* LAYOUT - progress: checkout */

.layout-progress-checkout {
    position: relative;
}

.layout-progress-checkout nav {
    padding: 10px 0;
}

.layout-progress-checkout .ring-preview {
    padding: 0 0 20px;
}

.layout-progress-checkout .progress-steps {
    margin: 0 auto;
    max-width: 800px;
}

.layout-progress-checkout section .col-sm-6+.col-sm-6 {
    padding-left: 0;
    padding-right: 0;
}

.layout-progress-checkout .ring-disclaimer {
    margin: 20px auto 0;
    padding-left: 15px;
    padding-right: 15px;
    max-width: 365px;
}

.layout-progress-checkout + footer,
.layout-progress-checkout + div + footer {
    padding-top: 0;
    padding-bottom: 90px;
}

@media screen and (max-width: 767px) {
    .layout-progress-checkout section:not(.btn-control) {
        margin-bottom: 20px;
    }
}

@media screen and (min-width: 768px) {
    .layout-progress-checkout section .col-sm-6+.col-sm-6 {
        padding-right: 15px;
        padding-left: 15px;
    }

    .layout-progress-checkout nav {
        padding: 20px 0;
        margin-bottom: 30px;
        border-bottom: 1px solid var(--color-light-gray);
    }

    .layoout-progress-checkout .ring-preview {
        margin-bottom: 36px;
    }

    .layout-progress-checkout .ring-disclaimer {
        margin-top: 0;
        padding-left: 0;
        padding-right: 0;
    }
}

/* LAYOUT - progress: wait */

.layout-progress-wait {
    position: relative;
}

.layout-progress-wait nav {
    padding: 10px 0 12px;
}

.layout-progress-wait .progress-steps {
    margin: 0 auto;
    max-width: 800px;
}

.layout-progress-wait .spinner {
    text-align: center;
    margin-bottom: 12px;
}

.layout-progress-wait .spinner svg {
    width: 100px;
}

.layout-progress-wait .callout {
    max-width: 560px;
    margin: 0 auto 20px;
}

@media screen and (min-width: 768px) {
    .layout-progress-wait nav {
        padding: 20px 0;
        margin-bottom: 40px;
        border-bottom: 1px solid var(--color-light-gray);
    }

    .layout-progress-wait .spinner {
        margin-bottom: 40px;
    }

    .layout-progress-wait .spinner svg {
        width: 160px;
    }

    .layout-progress-wait .callout {
        max-width: 560px;
        margin: 0 auto 30px;
    }
}

/* LAYOUT - progress: confirmation */

.layout-progress-confirm {
    position: relative;
}

.layout-progress-confirm nav {
    padding: 10px 0;
    margin-bottom: 20px;
}

.layout-progress-confirm .progress-steps {
    margin: 0 auto;
    max-width: 800px;
}

.layout-progress-confirm h1 {
    margin-bottom: 20px;
}

.layout-progress-confirm h2 {
    margin-bottom: 10px;
}

.layout-progress-confirm h2+p {
    margin-bottom: 30px;
}

.layout-progress-confirm h3 {
    max-width: 400px;
    margin: 0 auto 15px;
}

.layout-progress-confirm .table-address {
    max-width: 400px;
    margin: 0 auto 20px;
}

@media screen and (min-width: 768px) {
    .layout-progress-confirm nav {
        padding: 20px 0;
        margin-bottom: 40px;
        border-bottom: 1px solid var(--color-light-gray);
    }

    .layout-progress-confirm h1 {
        margin-bottom: 40px;
    }

    .layout-progress-confirm h2 {
        margin-bottom: 20px;
    }

    .layout-progress-confirm h2+p {
        margin-bottom: 40px;
    }

    .layout-progress-confirm h3 {
        max-width: 500px;
        margin: 0 auto 20px;
    }

    .layout-progress-confirm .table-address {
        max-width: 500px;
    }
}

@media screen and (max-width: 767px) {
    .right-size-right-column {
        margin-top: 10px;
    }
}

@media screen and (min-width: 768px) {
    .col-sm-6.right-size-left-column {
        padding-right: 5px;
    }
    .layout-progress-ring section .col-sm-6.right-size-right-column {
        padding-left: 10px;
    }
}

.right-size-right-column {
    text-align: center;
    margin-bottom: 10px;
}

/* note that for this section, we don't need custom styles for Bootstrap sm width because the built-in classes work fine, but xs, md and lg need help */
@media screen and (max-width: 767px) {
    .right-size-right-column input {
        float: left;
        margin-top: 2px;
        margin-left: 25%;
        width: 25%;
    }
    .right-size-right-column .btn {
        float: left;
        margin-left: 10px;
    }
}

@media screen and (min-width: 768px) and (max-width: 991px) {
    .right-size-right-column .btn {
        margin-top: 10px;
    }
}

@media screen and (min-width: 992px) and (max-width: 1199px) {
    /* widen the input box to hold the entire phone */
    .right-size-right-column input {
        float: left;
        margin-top: 2px;
        width: 60%;
    }
    /* shrink the space between them a touch so they stay on the same line */
    .right-size-right-column .btn {
        float: left;
        margin-left: 5px;
    }
}

@media screen and (min-width: 1200px) {
    .right-size-right-column input {
        float: left;
        margin-top: 2px;
        width: 50%;
    }
    .right-size-right-column .btn {
        float: left;
        margin-left: 10px;
    }
}

.app-logo-container {
    padding-right: 10px;
}

.app-logo-container img {
    height: 60px;
    width: 60px;
    margin-top: 5px;
}

input#rightSizeDestination {
    margin-bottom: 10px;
}

.right-size-disclaimer {
    font-size: 12px;
}