:root {
    --theme-color-main-fistime: #4BCD3E;
    --theme-color-main-fistime-btn-main: #459577;
}

@font-face {
    font-family: Raleway-bold;
    src: url(../../v4/fonts/Raleway-Bold.ttf);
}

@font-face {
    font-family: Raleway-semi-bold;
    src: url(../../v4/fonts/Raleway-SemiBold.ttf);
}


@font-face {
    font-family: Roboto-bold;
    src: url(../../v4/fonts/Roboto-Bold.ttf);
}

@font-face {
    font-family: Roboto-regular;
    src: url(../../v4/fonts/Roboto-Regular.ttf);
}


html, body {
    padding: 0px;
    margin: 0px;
    font-family: 'Open Sans', sans-serif;
    /*font-family: Roboto-bold;*/
    color: #393e46;
    font-size: 16px;
    overflow-x: hidden;
}

h1 {
    font-size: 48px;
    font-weight: 600;
}

h3 {
    font-size: 28px;
    font-weight: 600;
}

h4 {
    font-size: 24px;
    font-weight: 600;
}

h5 {
    font-size: 16px;
    font-weight: 600;
}

.alert {
    font-size: 14px;
}

.btn {
    font-size: 16px;
}

.primary-color {
    color: #007bff;
}

.default-color {
    color: #393e46;
}

.btn-info {
    background-color: #5fcc9c;
    border-color: #5fcc9c;
}

.btn-trans {
    background-color: transparent;
    border-color: #fff;
    color: #fff;
}

.btn-trans:hover {
    opacity: 0.7;
    color: #fff;
}

.btn-primary.trans {
    background-color: #fff;
    color: #007bff;
}

input.error, select.error {
    background-color: #f8d7da;
    border-color: #f5c6cb
}

.form-group label.error, .form-group div.error {
    font-size: 12px;
    padding-top: 5px;
    color: #721c24;
}

.no_display {
    display: none;
}

.form-control {
    font-size: 14px;
    padding: 8px;
}

.modal {
    margin-top: 100px;
}

.modal-padding-top {
    margin-top: 0px;
    padding-top: 100px;
}

.modal-body {
    padding: 30px;
    position: relative;
}

.modal-body>button.close {
    width: 30px;
    height: 30px;
    background-color: transparent;
    background-image: url("../images/modal-close.png");
    background-repeat: no-repeat;
    background-size: contain;
    display: inline-block;
    position: absolute;
    top: -15px;
    right: -15px;
    opacity: 1;
    transition: transform 0.5s;
}

.modal-body>button.close:hover {
    transform: rotate(135deg);
}

.width_180 {
    width: 180px;
}

.width_100p {
    width: 100%;
}
.margin_top_10 {
    margin-top: 10px;
}
.margin_top_20 {
    margin-top: 20px;
}
.margin_top_30 {
    margin-top: 30px;
}
.margin_right_15 {
    margin-right: 15px;
}

.margin_bottom_150 {
    margin-bottom: 150px;
}
.margin_bottom_30 {
    margin-bottom: 30px;
}
.margin_bottom_20 {
    margin-bottom: 20px;
}
.margin_bottom_15 {
    margin-bottom: 15px;
}

.margin_bottom_5 {
    margin-bottom: 5px;
}

.padding_top_15 {
    padding-top: 15px;
}

.padding_right_15 {
    padding-right: 15px;
}

.padding_left_15 {
    padding-left: 15px;
}

.font_bolder {
    font-weight: 600 !important;
}

.font_normal {
    font-weight: 400 !important;
}

.font_skinny{
    font-weight: 300 !important;
}

.regular {
    font-size: 14px;
}

.small {
    font-size: 12px;
}

.large {
    font-size: 24px;
}

.c_info {
    color: #5fcc9c;
}

.p_relative {
    position: relative;
}

label.checkbox input {
    opacity: 0;
    margin-left: -15px;
}

label.checkbox input+span {
    content: url("../images/checkbox_uncheck.png");
    display: inline-block;
    width: 23px;
    height: 18px;
    vertical-align: bottom;
    padding-right: 5px;
}

label.checkbox input:checked+span {
    content: url("../images/checkbox_checked.png");
}

.header {
    background-color: #003b7c;
    background-image: url("../images/homepage.jpg");
    background-repeat: no-repeat;
    background-position: top right;
    background-size: auto 100%;
    height: calc(100vh - 70px);
    color: #fff;
    display: flex;
    align-content: stretch;
    max-height: 1000px;
    min-height: 700px;
}

.header h5 {
    font-size: 16px;
    padding: 30px 0px;
    font-weight: 300;
    line-height: 24px;
}

.nav {
    display: flex;
    align-items: flex-end;
    height: 70px;
    font-size: 14px;
}

.nav.white {
    background-color: #fff;
    align-items: center;
}

.nav .fullmenu+a {
    display: none;
}

.nav a.link {
    padding-right: 35px;
}

.nav a.link:link, .nav a.link:visited {
    color: #888;
}

.nav a.link:hover {
    color: #007bff;
    text-decoration: none;
}

.nav .btn {
    font-size: 14px;
}

.nav .submenu {
    display: inline-block;
    position: relative;
    padding-right: 35px;
    color: #888;
    cursor: pointer;
}

.nav .submenu:hover {
    color: #007bff;
}

.nav .submenu>div {
    position: absolute; 
    top: 20px; 
    left: -20px; 
    width: 200px; 
    background-color: #fff; 
    padding: 27px 0px 10px 0px; 
    text-align: left;
    overflow: hidden;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
    display: none;
}

.nav .submenu:hover>div {
    display: block;
}

.nav .submenu .link {
    display: inline-block;
    padding: 10px 20px;
    border-top: 1px solid #eee;
    width: 100%;
}

.vertical-menu {
    position: absolute; 
    top: 70px; 
    left: 0px; 
    right: 0px; 
    background-color: #fff;
    border-top: 1px solid #eee;
    padding: 10px 20px;
    max-height: 0px;
    opacity: 0;
    transition: opacity 0.5s, max-height 0.2s;
    overflow: hidden;
    display: none;
}

.vertical-menu ul {
    margin: 0px;
    padding: 0px;
}

.vertical-menu ul a:hover {
    color: #007bff;
    text-decoration: none;
}

.vertical-menu ul li {
    list-style: none;
}

.vertical-menu ul li a {
    display: block;
    padding: 10px;
    position: relative;
    color: #003b7c;
}

.vertical-menu ul ul {
    margin-left: 30px;
}

.vertical-menu ul ul a {
    color: #888;
}

.vertical-menu ul a>i {
    display: inline-block;
    position: absolute;
    right: 10px;
    top: 12px;
    font-size: 16px;
    transition: transform 0.5s;
    transform: rotate(180deg);
}

.vertical-menu ul a.expand>i{
    transform: rotate(0deg);
}

.vertical-menu ul a+ul {
    overflow: hidden;
    max-height: 0px;
    transition: max-height 0.5s;
}

.vertical-menu ul a.expand+ul {
    max-height: 500px;
}

.header>.container {
    display: flex;
    flex-direction: column;
}

.header .main {
    flex: 1 0;
    display: flex;
    align-items: center;
}

.header .brief {
    width: 500px;
}

.header .brief .btn {
    width: 180px;
}

.header.time, .header.benefits, .header.hiring, .header.brokers, .header.agency{
    flex-direction: column;
    background-image: none;
    max-height: 800px;
    min-height: 600px;
}

.header.time .main, .header.benefits .main, .header.hiring .main, .header.brokers .main {
    background-image: url("../images/time_header.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    flex: 1 0;
}

.header.benefits .main {
    background-image: url("../images/benefits_header.jpg");
}

.header.hiring .main {
    background-image: url("../images/hiring_header.jpg");
}

.header.brokers .main {
    background-image: url("../images/brokers_header.jpg");
}

.header.agency {
    height: 600px;
    background-color: #fff;
}

.header.agency .main {
    z-index: 1;
}

.header.agency .main .container {
    margin-top: -160px;
}

.header.time .brief, .header.benefits .brief, .header.hiring .brief, .header.brokers .brief,  .header.agency .brief{
    width: 100%;
}

.header.agency .brief h1{
    max-width: 600px;
    margin: 0px auto;
}

.header.agency {
    position: relative;
    overflow: hidden;
}

.header.agency .bg {
    position: absolute;
    top: 0px;
    right: -300px;
    bottom: 0px;
    left: 0px;
    background-color: #E8EBF2;
    transform: rotate(-7deg);
    transform-origin: 0 100%;
    z-index: 0;
    background-image: url("../images/bg_graph.png");
    background-size: 620px;
    background-position: 0;
    background-repeat: no-repeat;
}

.section {
    padding: 100px 0px;
    position: relative;
    overflow: hidden;
}

.section.clock {
    background-image: url("../images/time_clock_bg.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    min-height: 700px;
    display: flex;
    align-items: center;
}

.section.self-service {
    background-image: url("../images/benefits_gray_bg.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    padding: 0px;
}

.section.self-service>.bg {
    background-image: url("../images/benefits_selfservice.jpg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    padding: 100px 0px;
}

.section.self-service img {
    display: none;
}

.section.hiring-mobile {
    background-image: url("../images/hiring-mobile-bg.jpg");
    background-repeat: no-repeat;
    background-position: left top;
    background-size: cover;
}

.section.tea {
    background-image: url("../images/tea.png");
    background-repeat: no-repeat;
    background-position: right 50px;
    background-size: contain;
}

.section.suite .separator {
    height: 20px;
    background-image: url("../images/divider.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: auto 20px;
    margin: 40px 0px;
}

.section.demo {
    color: #fff;
    background-image: url("../images/demo_bg.png");
    background-repeat: no-repeat;
    background-size: cover;
}

.section.offline {
    color: #fff;
    background-image: url("../images/offline_bg.jpg");
    background-repeat: no-repeat;
    background-size: cover;
}

.section.time-compliance {
    color: #fff;
    background-image: url("../images/time_compliance.jpg");
    background-repeat: no-repeat;
    background-size: cover;
}

.section.time-streamline {
    background-image: url("../images/time_streamline.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center right;
}

.section.demo-request {
    color: #fff;
    background-image: url("../images/demo-request-bg.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom left;
    padding-bottom: 0px;
}

.section.onboarding {
    background-image: url("../images/onboarding-bg.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right center;
}

.section.agency {
    margin-top: -180px;
    position: relative;
    overflow: hidden;
}

.section.agency .point {
    text-align: center;
    margin-bottom: 100px;
}

.section.agency .point img {
    max-height: 150px;
}

.section.agency .point h3 {
    height: 120px;
    padding-top: 30px;
}

.section.agency .bg {
    position: absolute;
    top: 180px;
    left: 0px;
    right: -300px;
    height: 700px;
    transform: rotate(7deg);
    background-color: #FAFAFA;
    z-index: -1;
    transform-origin: 0 0;
}

.section.agency .container {
    z-index: 1;
}

.section.open_enrollment {
    background-image: url("../images/bg_graph2.png");
    background-size: 620px;
    background-position: 90% 0px;
    background-repeat: no-repeat;
}

.section.open_enrollment .bg {
    top: 300px;
}

.section.open_enrollment .container {
    padding-top: 100px;
}

.section.benefit-employee {
    background-color: #0060CB;
    color: #fff;
}

.agency .introduction .text, .benefit-employee .introduction .text {
    width: 360px;
}

.benefit-employee .introduction .text {
    width: 300px;
    margin-top: -50px;
}

.section.beta-signup {
    padding: 50px 0px;
}

.section.beta-signup span.ready{
    font-size: 28px;
    vertical-align: middle;
}

.section.carriers {
    padding: 30px 0px;
}

.section.gray {
    background-color: #ebecee;
}

.suite-list {
    display: flex;
    justify-content: space-between;
}

.suite-list>div {
    width: 30%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.suite-list>div>span, .suite-list>div>label {
    display: inline-block;
}

.suite-list>div>label {
    font-size: 25px;
    margin-left: 15px;
    flex: 1 0;
}

.introduction {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    margin-left: 30%;
    transition: margin-left 0.5s, margin-right 0.5s;
}

.introduction.vertical {
    flex-direction: column;
    margin-left: 0px;
}

.introduction.reverse {
    margin-left: -30%;
    margin-right: 30%;
}

.introduction .img {
    flex: 1 0;
}

.introduction img {
    max-width: 600px;
}

.agency .introduction img, .benefit-employee .introduction img{
    max-width: 700px;
}

.introduction.vertical img {
    max-width: 100%;
    opacity: 0;
    transition: opacity 2s;
}

.introduction.shown.vertical img {
    opacity: 1;
}

.introduction>div:last-child {
    margin-left: 50px;
}

.introduction .text {
    width: 360px;
    max-width: 100%;
    flex-shrink: 0;
    opacity: 0;
    transition: opacity 1s;
}

.introduction.vertical .text {
    width: 100%;
}

.introduction .detail {
    width: 80%;
    margin: 0px auto;
    line-height: 28px;
    text-align: left;
}

.introduction li {
    margin-bottom: 15px;
    padding-left: 15px;
}

.introduction.shown {
    margin-left: 0px;
}

.introduction.shown.reverse {
    margin-right: 0px;
}

.introduction.shown .text {
    opacity: 1;
}

.section.foot {
    background-color: #191b1f;
    font-size: 14px;
    color: #666;
}

.section.foot h5 {
    color: #ccc;
}

.section.bottom {
    font-size: 14px;
    padding: 10px 0px;
    background-color: #131417;
    color: #666;
}

.section.bottom .tos{
    text-align: right;
}

.section.foot a:link, .section.bottom a:link, .section.foot a:visited, .section.bottom a:visited {
    color: #666;
}

.benefits-plans {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.benefits-plans>div {
    text-align: center;
    width: 30%;
    display: flex;
    align-items: stretch;
}

.benefits-plans>div>div {
    padding: 30px;
    box-shadow: 0px 0px 10px #ccc;
    border-radius: 8px;
    font-size: 14px;
    flex: 1 0;
}

.benefits-plans>div>div .separator, .modal .separator {
    margin: 15px 0px;
    height: 1px;
    background-color: #eee;
}

.benefits-plans>div button {
    width: 100%;
}

.carriers-list {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.carriers-list > div {
    width: 16%;
}

.carriers-list > div > img {
    max-width: 100%;
}

.modal-login a:link, .modal-login a:visited{
    font-size: 14px;
    color: #131417;
}

.gh_loader{
    position: absolute; 
    top:0px; 
    left:0px; 
    right: 0px; 
    bottom:0px; 
    background-color: #fff; 
    background-image: url("/v3/img/loader.gif"); 
    background-repeat: no-repeat; 
    background-position: center; 
    z-index: 1000;
    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
    filter: alpha(opacity=80);
    opacity: 0.8;
}

.image-header {
    display: flex;
}

.image-header img{
    max-width:60px;
}

.image-header>div:last-child {
    flex: 1 0;
    padding-left: 15px;
}

.brokers-form {
    max-width: 600px;
    margin: 0px auto;
}

.deluxe-brokers-form {
    max-width: 800px;
    margin: 0px auto;
}

.deluxe-brokers-form .form_section {
    border-top: 1px solid #ddd;
    padding-top: 20px;
    margin-bottom:30px;
}

.deluxe-brokers-form select {
    width:330px;
}
.question_label {
    font-weight: bolder;
    color: #000;
}

@media (max-width: 1439px) {
    .section.tea {
        background-image: none;
    }

    .section.demo-request {
        background-position: center;
    }
    
    .introduction img {
        max-width: 80%;
    }
}

@media (max-width: 1199px) {
    .agency .introduction img, .benefit-employee .introduction img{
        max-width: 90%;
    }
    
    .benefit-employee .introduction .text {
        margin-top: 0px;
    }
}

@media (max-width: 991px) {
    .suite-list {
        flex-direction: column;
    }

    .suite-list>div {
        width: 100%;
        justify-content: flex-start;
        padding-left: 18%;
        margin-bottom: 20px;
    }

    .suite-list>div:last-child {
        margin-bottom: 0px;
    }

    .suite-list img {
        width: 70px;
    }

    .section {
        padding: 50px 0px;
    }

    .section.self-service>.bg {
        background-image: none;
    }
    
    .section.self-service img {
        display: inline-block;
    }

    .introduction {
        flex-direction: column-reverse;
    }

    .introduction.vertical {
        flex-direction: column-reverse;
    }

    .section.time-streamline {
        background-position: center;
    }

    .introduction .img {
        text-align: center !important;
    }

    .introduction>div:last-child {
        margin-left: 0px;
    }

    .introduction .text {
        text-align: center;
        order: 1;
        margin-bottom: 50px;
        width: auto;
    }
    
    .introduction .text ul {
        text-align: left;
    }

    .introduction .detail{
        width: 100%;
    }
    
    .header.agency {
        height: 460px;
        min-height: 460px;
    }
    
    .header.agency .main .container {
        margin-top: -100px;
    }
    
    .section.agency {
        margin-top: -100px;
    }
    
    .section.open_enrollment {
        background-image: none;
    }
    
    .agency .introduction .text, .benefit-employee .introduction .text {
        width: auto;
        margin-bottom: 0px;
    }
}

@media (max-width: 767px) {
    .header {
        background-position: center;
    }

    .header .brief .btn {
        width: auto;
    }

    .section.foot .contact {
        margin-top: 30px;
    }

    .section.bottom .tos{
        text-align: left;
    }
    
    .section.onboarding {
        background-position: left;
    }
    
    .benefits-plans {
        flex-direction: column;
    }
    
    .benefits-plans>div {
        width: 100%;
        margin-bottom: 30px;
        justify-content: center;
    }
    
    .benefits-plans>div>div{
        max-width: 400px;
    }
    
    .benefits-plans>div:last-child{
        margin-bottom: 0px;
    }
    
    .header.agency .main .container {
        margin-top: -50px;
    }
    
    .header.agency .brief h1 {
        font-size: 32px;
    }
    
    .section.agency .point h3 {
        font-size: 24px;
        height: auto;
    }
    
    .section.agency .point>div{
        margin-bottom: 50px;
    }
    
    .section.agency .point>div:last-child {
        margin-bottom: 0px;
    }
}

@media (max-width: 575px) {
    .modal-dialog {
        margin: 1rem;
    }
    
    .nav .fullmenu {
        display: none;
    }
    
    .nav .fullmenu+a {
        display: inline-block;
        font-size: 24px;
    }
    
    .vertical-menu {
        display: block;
    }
    
    .vertical-menu.expand {
        opacity: 1;
        max-height: 500px;
        z-index: 99;
    }
    
    .modal {
        margin-top: 10px;
    }
    
    .section.beta-signup span.ready {
        display: block;
    }
}


@media (max-width: 359px) {
    h1 {
        font-size: 36px;
    }
    
    .header .nav .btn{
        font-size: 12px;
    }

    .suite-list>div {
        padding-left: 12%;
    }
    
    .modal-dialog {
        margin: 1rem;
    }
}

/* fistime start */

.fistime-modal .modal-header {
    background: var(--theme-color-main-fistime);
    color: #fff;
}

.fistime-modal .modal-header button[data-dismiss=modal] {
    color: #fff;
    opacity: 1;
}


.fistime-modal button.fistime-sign-in-btn {
    background: var(--theme-color-main-fistime-btn-main);
    border-radius: 25px;
    color: #fff;
    border: none;
}

.align-group-center {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
}

.align-group-space-between {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
}

.align-group-flex-start {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center;
}

.align-group-flex-end {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-end;
    align-items: center;
}

.success-indicator {
    color: var(--theme-color-main-fistime);
}


#fistime-modal-access-account a {
    font-size: unset !important;
}


.landing-page-btn {
    background-color: var(--theme-color-main-fistime);
    border: none;
    color: #fff !important;
}


.landing-page-title {
    /*font-family: Raleway-semi-bold, sans-serif;*/
}

.landing-page-text {
    /*font-family: Roboto-regular, sans-serif;*/
}

.fis-mfa-title {
    font-size: 1.5rem;
    font-weight: 900;
}


.fis-mfa-text-note {
    font-size: 0.8rem;
    color: grey;
}

.phone-number-country {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    padding-left: 8px;
}


.w-240 {
    min-width: 240px;
}

.tooltip-icon {
    color: var(--theme-color-main-fistime);
    cursor: pointer;
}


.tooltip-arrow {
    background-color: #fff;
    box-shadow: 0px 7px 22px rgba(89, 102, 122, 0.2);
    height: 13px;
    width: 13px;
    position: absolute;
    top: calc(100% - 13px);
    left: calc(50% - 7px);
    transform: rotate(45deg);
}

.tooltip-inner {
    background: #fff;
    box-shadow: 0px 7px 22px rgba(89, 102, 122, 0.2);
    color: #000;
}

.tooltip-custom {
    opacity: 1 !important;
    top: -8px !important;
}
/* fistime end */

body .acsb-trigger.acsb-trigger-offset-X-20 {
    right: 80px !important;
}

body.modal-open {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}