html {
    scroll-behavior: smooth;
}

body {
    color: #313A41;
    background: #F4F5F7;
}

.section-main {
    margin-top: 108px;
}

.section-pb-s {
    padding-bottom: 64px;
}

.section-pb-m {
    padding-bottom: 80px;
}

.section-pb-l {
    padding-bottom: 120px;
}

.h1 {
    font-size: 48px;
    line-height: 56px;
}

.h2 {
    font-size: 32px;
    line-height: 48px;
    font-weight: normal;
}

.h3 {
    font-size: 20px;
    line-height: 32px;
}

.medium {
    font-size: 14px;
}

.small {
    font-size: 12px;
}

.text-link {
    font-weight: bold;
    text-decoration: underline;
    color: #6F7C09;
}

.text-link:hover {
    color: #99AB0C;
}

.ul {
    list-style: disc inside;
}

.ul li {
    display: list-item;
}

.green-900 {
    color: #3C4305;
}

.green-800 {
    color: #6F7C09;
}

.gray-600 {
    color: #758797;
}

.bg-green-700 {
    background: #C4DB0F;
}

.bg-gray-200 {
    background: #E6E9EC;
}

.title-line {
    background: #C4DB0F;
    width: 80px;
    height: 4px;
    border-radius: 2px;
    margin-top: 16px;
}

.input {
    height: 48px;
    padding-left: 16px;
    padding-right: 16px;
    color: #313A41;
    border-radius: 8px;
    font-size: 16px;
    font-family: "Open sans";
}

textarea.input {
    height: auto;
    padding-top: 16px;
    padding-bottom: 16px;
}

.button {
    height: 56px;
    min-width: 200px;
    line-height: 56px;
    border-radius: 8px;
    text-align: center;
    font-weight: bold;
    padding-left: 32px;
    padding-right: 32px;
    cursor: pointer;
    font-size: 16px;
}

.button.primary {
    background: #C4DB0F;
    color: #313A41;
}

.button.primary:hover {
    box-shadow: inset 0 0 0 1000px rgba(255, 255, 255, 0.1);
}

.card {
    box-shadow: 0 2px 8px 0 rgba(49, 58, 65, 0.12);
    border-radius: 16px;
    overflow: hidden;
    height: 100%;
    background: #FFFFFF;
}


/*HEADER*/
.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 68px;
    background: #FFFFFF;
    border-bottom: 4px solid #E6E9EC;
    z-index: 50;
}

.header .container {
    height: 64px;
}

nav ul li {
    padding-left: 64px;
}

nav ul li a {
    color: #313A41;
    font-weight: bold;
    font-size: 14px;
}

#menu-responsive {
    height: 32px;
    width: 32px;
    cursor: pointer;
    position: relative;
}

#menu-responsive span {
    position: absolute;
    left: 4px;
    height: 2px;
    width: 24px;
    background: #313A41;
    border-radius: 2px;
    transition: all 0.3s;
}

#menu-responsive span:nth-child(1) {
    top: 7px;
}

#menu-responsive span:nth-child(2) {
    top: 15px;
}

#menu-responsive span:nth-child(3) {
    top: 23px;
}

#menu-responsive.active span:nth-child(1) {
    transform: rotate(45deg);
    top: 16px;
}

#menu-responsive.active span:nth-child(2) {
    opacity: 0;
}

#menu-responsive.active span:nth-child(3) {
    transform: rotate(-45deg);
    top: 17px;
}


/*FOOTER*/
.footer {
    background: #313A41;
    color: #FFFFFF;
}

.footer .copy {
    color: #D2D8DD;
}

.pre-footer {
    background: #53616E;
    color: #FFFFFF;
    position: relative;
}

.pre-footer .icon {
    position: absolute;
    left: 50%;
    transform: translate(-50%);
    top: -32px;
}


.main {
    background: url("../images/bg-banner.jpg");
    margin-top: 98px;
    padding: 25px 80px;
    border-radius: 32px;
    margin-bottom: 60px;
}

.subline {
    background: #C4DB0F;
    height: 4px;
    width: 32px;
    border-radius: 4px;
}

.timeline {
    position: relative;
}

.timeline .line {
    background: #B9C2CA;
    width: 100%;
    height: 2px;
    border-radius: 2px;
}

.timeline .bullet {
    background: #C4DB0F;
    border: 8px solid #FFFFFF;
    outline: 1px solid #B9C2CA;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    margin-bottom: 16px;
}

.timeline .container {
    margin-top: -52px;
}

.number {
    width: 64px;
    height: 64px;
    text-align: center;
    line-height: 64px;
    background: #C4DB0F;
    border: 1px solid #6F7C09;
    font-size: 32px;
    font-weight: bold;
    border-radius: 50%;
}

.divisor {
    background: #D2D8DD;
    height: 2px;
    width: 100%;
    border-radius: 2px;
}

.table-dinamic {
    background: #E6E9EC;
}

.table-dinamic .table-header {
    border: 1px solid #D2D8DD;
    padding: 16px;
}

.table-dinamic .table-header:nth-child(2n) {
    border-left: none;
}

.table-content>div {
    background: #FFFFFF;
}

.table-content>div:nth-child(2n) {
    background: rgba(244, 245, 247, 0.7);
}

.table-content>div>div {
    border: 1px solid #D2D8DD;
    border-top: none;
    padding: 16px;
}

.table-content>div>div:nth-child(2n) {
    border-left: none;
}

.iti {
    width: 100%;
}

.iti__flag-container {
    border-radius: 8px 0 0 8px;
}

.contador-textarea {
    font-size: 12px;
    color: #666;
    margin-top: 4px;
    text-align: right;
}

.nota-obligatorios {
    font-size: 13px;
    color: #666;
    margin-bottom: 10px;
}

.nota-obligatorios span {
    color: #e53935;
    font-weight: bold;
}

.obligatorio {
    color: #d32f2f;
    font-weight: bold;
    margin-left: 2px;
}

@media screen and (max-width: 1200px) {
    #menu {
        position: fixed;
        top: 68px;
        left: 0;
        width: 100%;
        background: #FFFFFF;
        z-index: 100;
    }

    nav ul {
        padding-top: 16px;
        padding-bottom: 16px;
    }

    nav ul li {
        padding-left: 16px;
        padding-top: 16px;
        padding-bottom: 16px;
    }

    .timeline .line {
        width: 2px;
        height: calc(100% - 64px);
        position: absolute;
        top: 0;
        left: 36px;
    }

    .timeline .container {
        margin-top: 0px;
        position: relative;
        z-index: 1;
    }

    .number {
        width: 40px;
        height: 40px;
        line-height: 40px;
        font-size: 20px;
    }

    .number+.h3 {
        font-size: 16px;
        line-height: 24px;
    }
}

@media screen and (max-width: 800px) {
    .table-content {
        background: #FFFFFF;
    }

    .table-content>div {
        background: rgba(244, 245, 247, 0.7);
    }

    .table-content>div>div {
        border: 1px solid #D2D8DD;
    }

    .table-content>div>div:nth-child(2n) {
        background: #FFFFFF;
        border-top: none;
        border-bottom: none;
        border-left: 1px solid #D2D8DD;
    }

    .table-content>div:last-child>div:nth-child(2n) {
        border-bottom: 1px solid #D2D8DD;
    }
}

@media screen and (max-width: 640px) {
    .main {
        padding: 32px;
    }

    .h1 {
        font-size: 32px;
        line-height: 48px;
    }

    .h2 {
        font-size: 24px;
        line-height: 32px;
    }
}