body {
   background: #862533;
}

body.no-style {
   background: #fff;
}

.container-fluid {
    margin: 0;
    background: #fdfdfd;
    position: relative;
    z-index: 2;
    padding: 0;
}

.main {
   max-width: 1200px;
   margin: 0 auto;
   padding: 1rem;
   font-weight: 400;
}

.sidebar {
   display: none;
}

.navbar-brand img {
   max-width: 200px;
   max-height: 138px;
   width: 100%;
}

.header-nav {
   text-align: center;
   margin-top: 3rem;
   margin-bottom: 1.5rem;
}

.header-nav .nav-list {
   float: right;
   list-style: none;
}

.header-nav .nav-item {
   float: left;
}

.header-nav .nav-item:last-child {
   border: 0;
}

.navbar {
   margin: 25px 25px 0;
   padding: 0;
}

.navbar-light .navbar-nav .nav-link {
   color: #3e3e3e;
   display: inline-block;
/*   font-size: 1.2em;*/
   padding: 1em;
   text-decoration: none;
   transition: .5s;
}

.navbar-light .navbar-nav .nav-link:hover {
   color: #862633;
   text-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
   transition: .5s;
}

.navbar-toggler {
   border: 0;
}

   .navbar-toggler span.d-block {
      margin: 0;
      color: #862533;
      text-transform: uppercase;
      font-size: .85rem;
   }

   .navbar-toggler .navbar-toggler-icon {
      background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(134,38,51, 1)' stroke-width='2' stroke-linecap='butt' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
   }

nav ul li:before {
   display: none;
}

   .navbar .dropdown-menu {
      border-radius: 0;
      border-color: #e2e2e2;
      margin: -5px -20px;
   }

   .navbar .dropdown-menu a:hover {
      background-color: #e2e2e2;
   }

   .navbar .dropdown-menu a:active {
      background-color: #862533;
   }

   .navbar .dropdown-menu::before {
      content: "";
      position: absolute;
      border-style: solid;
      border-color: #e2e2e2 transparent;
      border-top-color: #e2e2e2;
      border-bottom-color: #e2e2e2;
      border-width: 0 10px 10px;
      right: 40px;
      top: -10px;
   }

   .navbar .dropdown-menu::after {
      content: "";
      position: absolute;
      border-style: solid;
      border-color: #fff transparent;
      border-width: 0 8px 8px;
      right: 42px;
      top: -8px;
   }

.footer {
    text-align: center;
    padding: 10px;
    background-image: linear-gradient(to bottom, rgba(253, 253, 253, 1) 15%, rgba(253, 253, 253, 0) 28%), linear-gradient(to top, rgba(0, 0, 0, 0.875) 0, rgba(0, 0, 0, 0.1) 75%), url(../images/footer.jpg);
    background-size: cover;
    height: 660px;
    display: flex;
    color: #fff;
}

   .footer .container {
      background: transparent;
   }

   .footer img {
      width: 75px;
   }

   .footer p {
      margin: 0;
   }

   .footer p:last-child {
      margin: 20px 0;
   }

   .footer p:last-child a {
      padding: 0 10px;
   }

   .footer a {
      color: #fff;
   }

   .footer .row {
      width: 100%;
   }

.transparent {
   background: transparent;
}

.help {
   font-size: .9em;
}

.text-wall {
   margin: 0 auto;
   max-width: 600px;
   text-align: justify;
}

.text-wall p {
   margin: 20px 0;
}

.text-wall div {
   display: flex;
   margin: 40px auto;
   justify-content: center;
}

.account-info {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
    margin-bottom: 1rem;
}

.account-info .card {
    justify-content: space-between;
}

   .account-info .card .list-group-item {
      border: 0;
      padding: 0.1rem 0.5rem;
   }

.id-card {
   width: 25px;
}

/*.accordion .button-outline-primary {
   background: #e0e0e0;
}*/

/*
   Password Test Component
*/
.password-test {
   font-size: .8em;
}

.password-test ul {
   padding-left: 15px;
}

/*
   Standard Table Component
*/

.scrollable-table {
   overflow-x: scroll;
   width: 100%;
}

.scrollable-table::-webkit-scrollbar {
   display: none
}

.standard-table {
   border: 1px solid #e2e2e2;
   overflow-x: scroll;
   text-align: center;
}

.standard-table tbody tr:first-child {
   background: #e2e2e2;
}

.standard-table th {
   padding: 10px;
}

.standard-table td {
   border: 1px solid #e2e2e2;
   padding: 10px;
}

/* 
   Account Maintenance Page
*/

.my-member-information {
   border: 1px solid #878787;
   font-weight: bold;
   margin: 20px auto;
   max-width: 600px;
   padding: 10px;
}

.my-member-information h3 {
   margin-bottom: 10px;
}

.account-maintenance-form {
   max-width: 600px;
   margin: 0 auto;
}

/*
   Forgot Password Page
*/
.forgot-password-page {
   max-width: 600px;
   margin: 0 auto;
}


/*
   Lock Account Page Styles
*/

.lock-buttons {
   display: flex;
   flex-direction: row;
   justify-content: center;
}

.lock-buttons .btn {
   margin: 0 5px;
}

/*
   Login Page Styles
*/

.login-page {
    margin-top: 24px;
    min-height: 400px;
}

.login-box {
    padding: 10px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

    .login-box:first-child {
        border-right: 1px solid #878787;
    }

    .login-box:last-child div {
        margin-top: 3.9rem;
    }

/*    .login-box div {
        padding: 1rem;
    }

    .login-box div:first-child {
        border-bottom: 1px solid #878787;
    }*/

    .login-box h1,
    .login-box h2 {
        text-align: center;
    }

    .login-box label,
    .login-box input {
        display: block;
        width: 250px;
        margin: 0 auto;
        padding: .2em 0;
    }

    .login-box label {
        margin-top: 10px;
    }

    .login-box p {
        text-align: center;
    }

    .login-box .help-links {
        margin-top: 20px;
    }

    .login-box .button {
        display: block;
        margin: 0 auto;
        margin-top: 20px;
    }

.login-ssl-seal img {
    padding: 10px;
    float: right;
}


/* 
   User Messages
*/

.main-messages {
   margin: 20px 0;
}

.main-messages p {
   padding: 10px;
}

.main-messages p span {
   margin-right: 10px;
}

/*
   New Member Page Styles
*/

.new-member-type,
.new-member-dob {
   display: flex;
   flex-direction: row;
   margin: 0 auto;
   width: 405px;
}

.new-member-type div {
   width: 50%;
}

.new-member-type input {
   width: 25px;
}

.new-member-dob label {
   width: 100%;
}

.new-member-dob select {
   flex-grow: 1;
   margin-right: 5px;
   width: 25%;
}

.new-member-dob input {
   flex-grow: 2;
   width: 45%;
}

.new-member-dob input:first-child {
   margin: 0 10px;
}

.new-member-dob input:last-child {
   margin-left: 5px;
}

/*
   Policy Summary Page Styles
*/

.pay-membership {
   background: #e2e2e2;
   margin: 10px auto;
   padding: 10px;
}

.pay-membership span {
   padding: 10px;
}

.pay-membership span {
   display: inline-block;
   text-align: center;
}

.policy-list {
    display: flex;
    margin: 0;
    height: 100%;
    flex-direction: column;
}

    .policy-list .card {
        border: 0;
        margin-bottom: .5rem;
        border-top: 2px solid #862633;
    }

    .policy-list .card > .list-group {
        border-top: none;
    }

    .policy-list .card .list-group-item > span {
        display: inline-block;
        max-width: 650px;
    }

   .policy-list .card:last-child {
      border-bottom: 0;
      margin-bottom: 0;
   }

   .policy-list .card:first-child {
      margin-top: 0;
   }

   .policy-list .card:only-child {
       margin-bottom: 0;
       height: 100%;
   }

.account-section {
    display: grid;
    border-bottom: 2px solid #862533;
    padding: 1rem 0;
    grid-template-columns: 1fr 2.25fr;
}

.account-section:last-child {
    border-bottom: 0;
}

.account-card {
    margin-right: 1rem;
    border-top: 2px solid #862633;
}

.account-card .card-body {
    padding: .375rem 1.85rem;
}

   .account-list > .card {
      border: 0;
   }

   .account-list .card .list-group .list-group-item {
      padding: 0.525rem;
      background-color: transparent;
   }

   .account-list .card .list-group-item span {
      padding: 0 0.4rem;
   }

   .account-list > .card .card-link {
      padding: 0;
   }

.policy-links {
   text-align: right;
}

.policy-links .button-small {
    width: auto !important;
    display: inline-block !important;
    margin: 0 .25rem;
}

.claims-buttons {
   margin: 40px auto;
}

.claims-buttons .btn {
   margin: 0 5px;
}

.policy-link {
   display: block;
}

/*
   Registration Page Styles
*/

.password-test p {
   margin: 0;
}

/*
   Submit Claims Page Styles
*/

.claim-form {
   max-width: 600px;
   margin: 0 auto;
}

.claim-policy {
   display: flex;
   flex-direction: row;
   margin: 0 auto;
   width: 405px;
}

.claim-policy label,
.claim-policy input,
.claim-policy select {
   width: 100%;
}

.claim-policy-type {
   flex-grow: 1;
   margin-right: 5px;
}

.claim-policy-number {
   flex-grow: 2;
   margin-left: 5px;
}

.claim-time-date {
   display: flex;
   flex-direction: row;
   margin: 0 auto;
   width: 405px;
}

.claim-time-date div {
   width: 50%;
}

.claim-time-date div:first-child {
   margin-right: 5px;
}

.claim-time-date div:last-child {
   margin-left: 5px;
}

.claim-time-date label,
.claim-time-date input,
.claim-time-date select {
   width: 100%;
}

.claim-radio-buttons {
   display: flex;
   flex-direction: row;
   margin: 0 auto;
   width: 405px;
}

.claim-radio-buttons label {
   width: 50%;
}

.claim-radio-buttons input {
   width: 25px;
}

.claims-nav {
   display: flex;
   flex-direction: row;
}

.next-prev,
.cancel-submit {
   display: flex;
   flex-direction: row;
   width: 50%;
}

.claims-nav .btn {
   margin: 0 5px;
}

.submit-claim-info {
   margin: 0 auto 40px auto;
   max-width: 600px;
   text-align: center;
}

.submit-claim-info p {
   margin: 10px 0;
}

/*
   ECHECK PAGES
*/

/*
   E-Check Page
*/

.echeck-member-information {
   background: #e2e2e2;
   border-radius: 5px;
   margin: 10px auto;
   max-width: 600px;
   padding: 10px;
}

.echeck-member-information p span {
   padding: 0 5px;
}

.echeck-member-information p .label {
   display: inline-block;
   width: 55%;
   font-weight: bold;
   text-align: right;
}

.echeck-payment-information {
   border: 1px solid #e2e2e2;
   margin: 20px auto;
   overflow-x: scroll;
   text-align: center;
}

.echeck-payment-information thead {
   background: #e2e2e2;
}

.echeck-payment-information th {
   padding: 10px;
}

.echeck-payment-information td {
   border: 1px solid #e2e2e2;
   padding: 10px;
}

.echeck-buttons {
   display: flex;
   flex-direction: row;
   justify-content: center;
}

.echeck-buttons .btn {
   margin: 0 5px;
}

/*
   Payment Confirmation Page
*/

.payment-bank-information {
   background: #e2e2e2;
   border-radius: 5px;
   margin: 10px auto;
   max-width: 600px;
   padding: 10px;
}

.payment-bank-information p {
   max-width: 75%;
   margin: 0 auto;
}

.payment-bank-information p span {
   padding: 0 5px;
}

.payment-bank-information p .label {
   display: inline-block;
   font-weight: bold;
}

.payment-confirmation-page .footnotes {
   text-align: center;
}

.payment-btn div {
   display: flex;
   flex-direction: row;
   margin: 10px 0;
}

@media screen and (min-width: 1200px) {
   .container-fluid {
      width: calc(100% - 15vw);
       margin-left: 15vw; 
   }

   .header {
      width: calc(100% + 7vw);
      margin-left: -7vw;
   }

   .navbar {
      margin: 0 3vw;
   }

   .sidebar {
      z-index: 1;
      position: fixed;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      width: 15vw;
      height: 100vh;
      background: #862633 no-repeat bottom center;
      background-image: url(../images/sidebar-ar.png);
      background-size: 100%;
      display: block;
   }

    .overlay-inner {
        left: 15vw;
    }
}

.small-screen-only {
    display: none;
}

.no-data-label {
    display: inline-block;
    padding: 0.525rem;
    font-style: italic;
    color: #ac4b59;
}

@media screen and (max-width: 1190px) {
    .account-section {
        grid-template-columns: 1fr;
    }

    .account-card {
        margin-right: 0;
        margin-bottom: 1rem;
    }
}

@media screen and (max-width: 576px) {
    .policy-links {
      text-align: left;
   }

   .navbar-brand img {
      max-width: 100px;
   }
}

@media screen and (max-width: 768px) {
   .policy-links {
      text-align: left;
   }

   .policy-list {
      padding: 0;
   }

   .policy-list .card:first-child {
      border-top: 1px solid rgba(0, 0, 0, 0.125);
   }
}

@media screen and (max-width: 794px) {
    .account-info {
       flex-direction: column;
       justify-content: flex-start;
    }
    .account-info .card:last-child {
        margin-top: 1rem;
    }
}

@media screen and (max-width: 992px) {
    .main {
        margin: 0;
    }
    .account-card.card, .policy-list > .card {
        max-width: calc(100vw - 2rem);
    }

    .small-screen-only {
        display: initial;
    }

    .large-screen-only {
        display: none;
    }

   .login-box:first-child {
      border: 0;
   }
}

@media screen and (min-width: 768px) {
   .account-list > .card {
      border-right: 1px solid rgba(0, 0, 0, 0.125);
   }

   .policy-list {
      padding: 0;
   }
}

/*
   Print ID Style
*/

.id-table-header {
   width: 80%;
   margin: 0 auto;
}

   .id-table-header p {
      margin: 0;
      text-align: center;
   }

.id-table-proof {
   margin: 0 auto;
   width: 50%;
   
}

.id-table-info {
   margin: 0 auto;
   width: 70%;
}

.id-naic-cell {
   padding-bottom: 20px;
   font-weight: bold;
   text-align: center;
}

.id-proof-cell {
   text-align: center;
}

.id-label-cell {
   text-align: right;
   font-weight: bold;
   white-space: nowrap;
}

.id-info-cell {
   white-space: nowrap;
}

.id-info-header {
   padding-top: 20px;
   text-align: center;
}

.adobe-message .help {
   margin: 0 0 20px 0;
   padding: 0;
   font-size: .8rem;
}

.card-body .button-small {
   display: block;
   width: 100%;
   text-align: center;
   margin-bottom: 0.75rem;
   font-size: 0.8rem;
   white-space: nowrap;
}

.svg-inline--fa {
   vertical-align: middle !important;
}

.account-list .card-text {
   max-width: 270px;
   margin: 0 auto;
   font-size: 0.9rem;
}

.card-text:last-of-type {
   margin-bottom: 0.75rem;
}

.account-list .button-primary {
   margin-top: 1.5rem;
}

.policy-list .card-title {
   margin-right: 1rem;
   font-style: normal;
}

.policy-list .card-subtitle {
   font-size: 0.9rem;
}

.load-screen {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   z-index: 2;
}

#businessInfo {
    display: none;
}

#newMemberVerification {
    display: none;
    margin: 0 auto;
    max-width: 600px;
}

.attention {
    font-weight: bold;
    color: #862533;
}

.confirmation-label {
    font-weight: bold;
    width: 180px;
    text-align: right;
}

.confirmation-group {
    display: flex;
    width: 100%;
}

.confirmation-group > span:last-child,
.confirmation-group > div:last-child {
    margin-left: 15px;
}

.confirmation-group .address {
    display: inline-block;
}

    .confirmation-group .address span {
        display: block;
    }

.overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    margin: 0;
    top: 0;
    left: 0;
    background: rgba(128, 128, 128, 0.5);
    z-index: 9999;
}

.overlay-inner {
    position: fixed;
    width: 450px;
    background: #ffffff;
    border-radius: 2px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
    left: 0;
    right: 0;
    top: 0;
    margin: 5% auto;
}

.overlay-header, .overlay-body, .overlay-footer {
    align-items: center;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 10px;
    width: 100%;
}

    .overlay-body {
        flex-direction: column;
    }

    .overlay-header {
        background: #e5e5e5;
        border-top-left-radius: 3px;
        border-top-right-radius: 3px;
        padding: 0 10px;
    }

    .overlay-header .heading {
        display: inline;
        font-size: 18px;
        font-weight: bold;
    }

    .overlay-header .button-close {
        margin-left: 0;
        margin-right: 0;
    }

.overlay-footer {
    border-top: 1px solid #e5e5e5;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
    padding: 10px;
}

    .overlay-footer .button:first-child {
        margin-right: 10px;
    }

.button-text {
    border: 0;
    background: transparent;
    color: #862533;
    box-shadow: none;
}

    .button-text:hover {
        border: 1px solid #862533;
        box-shadow: none;
    }

.button-close {
    background-color: transparent;
    border: 1px solid #999999;
    border-radius: 3px;
    color: #999999;
    display: inline-block;
    font-size: 22px;
    padding: 0 5px;
    transition: border linear 0.25s, color linear 0.25s;
    width: initial;
}

    .button-close:hover {
        border-color: #ac4b59;
        color: #ac4b59;
        cursor: pointer;
    }

.loader-background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    text-align: center;
    z-index: 9999;
    visibility: hidden; 
}

.loader-container {
    position: fixed;
    top: calc(50vh - 60px);
    left: 0;
    right: 0;
    padding: 20px;
    border-radius: 2px;
    background-color: #fff;
    width: 60px;
    height: 60px;
    margin: 0 auto;
    font-size: 4.8rem;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 19px 38px rgb(0 0 0 / 30%), 0 15px 12px rgb(0 0 0 / 22%);
}

@keyframes loader {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@keyframes cube-loader {
    0%, 70%, 100% {
        transform: scale3d(1, 1, 1);
    }

    35% {
        transform: scale3d(.01, .01, 1);
    }
}

.loader {
    animation-name: loader;
    animation-duration: 2s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    width: 50px;
    height: 50px;
}

.cube-loader {
    width: calc(2rem * 2);
    height: calc(2rem * 2);
}

.cube-loader .cube {
    width: 33%;
    height: 33%;
    float: left;
    background-color: #862533;
    animation: cube-loader 2s infinite ease-in-out;
}

    .cube-loader .cube:first-child {
        animation-delay: .15s;
    }

    .cube-loader .cube:nth-child(2) {
        animation-delay: .23s;
    }

    .cube-loader .cube:nth-child(3) {
        animation-delay: .31s;
    }

    .cube-loader .cube:nth-child(4) {
        animation-delay: .077s;
    }

    .cube-loader .cube:nth-child(5) {
        animation-delay: .15s;
    }

    .cube-loader .cube:nth-child(6) {
        animation-delay: .23s;
    }

    .cube-loader .cube:nth-child(7) {
        animation-delay: 0s;
    }

    .cube-loader .cube:nth-child(8) {
        animation-delay: .077s;
    }

    .cube-loader .cube:last-child {
        animation-delay: .15s;
    }

.modal-body > h1 {
    margin-top: 0;
}

@media screen and (min-width: 576px) {
    .modal-dialog {
        max-width: 750px;
    }
}

.membershipCard {
   height: 200px;
   width: 400px;
   border-color: black;
   border-radius: 10px;
   text-align: center;
   margin: auto;
   box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
}

.membershipCardHeader {
   height: 50px;
   width: 400px;
   border-top-left-radius: 10px;
   border-top-right-radius: 10px;
   background-color: lightgray;
   padding-top: 5px;
}

.membershipCardHeaderText {
   font-weight: bold;
   font-size: 14px;
   margin: auto;
}

.membershipCardText {
   font-size: 15px;
}