.text-icon-layout {
    max-width: 1950px;
    margin: 0 auto;
}

.text-icon-full-wrapper {
    padding: 64px 80px;
}

.text-icon-full-wrapper.primary {
    background: #fff;
}

.text-icon-full-wrapper.accent {
    background: #F6F3F2;
}

.text-icon-full-wrapper.titleleft {
   display: flex;
   gap: 64px;
   align-items: center;
}

.text-icon-full-wrapper.titleright {
   display: flex;
   gap: 64px;
   flex-direction: row-reverse;
   align-items: center;
}

.text-icon-full-wrapper.stacked {
   display: flex;
   gap: 64px;
   flex-direction: column;
   align-items: center;
   justify-content: center;
}

.titleleft .text-icon-section-wrapper, .titleright .text-icon-section-wrapper {
    width: 40%;
}

.stacked .text-icon-section-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.text-icon-section-btnwrapper {
    display: flex;
    gap: 24px;
    margin-top: 32px;
}

.text-icon-section-btnwrapper a {
    text-decoration: none;
}

.text-icon-section-btnwrapper span.icon {
    margin-left: 8px;
    font-size: 14px;
}

.text-icon-section-btnwrapper .btn-secondary{
    display: flex;
    height: 48px;
    max-width: 344px;
    padding: 16px 24px;
    justify-content: center;
    align-items: center;
    border: 1px solid #002C5F;
    color: #002C5F;
    text-align: center;
    font-family: "HyundaiSansHead-Medium";
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 125%;
    width: 225px;
    min-width: 140px;
    background-color: #fff;
}

.text-icon-section-btnwrapper .btn-primary{
     display: flex;
    height: 48px;
     width: 225px;
    min-width: 140px;
    max-width: 344px;
    padding: 16px 24px;
    justify-content: center;
    align-items: center;
    color: #FFF;
    text-align: center;
    font-family: "HyundaiSansHead-Medium";
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 125%;
    background: #002C5F;
}

.text-icon-section-eyebrow {
    color: #5D5D5C;
    font-family: 'HyundaiSansText-Bold';
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 125%;
    max-width: 740px;
}

.text-icon-section-heading {
    color: #000;
    font-family: 'HyundaiSansHead-Medium';
    font-size: 40px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%;
    margin-top: 8px;
    text-align: center;
    max-width: 740px;
}

.text-icon-section-heading.sub-section {
    font-size: 20px;
}

.text-icon-section-heading.small {
    font-size: 16px;
}

.text-icon-section-desc {
    color: #000;
    font-family: 'HyundaiSansText-Regular';
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 125%;
    margin-top: 8px;
    text-align: center;
     max-width: 740px;
}

.text-icon-wrapper {
    display: grid;
    align-items: baseline;
}

.text-icon-tile-item {
    display: flex;
    min-width: 140px;
    padding: 16px 16px 24px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    width: calc(24% - 16px);
}

.text-icon-tile-item.primary {
    background: #fff;
}

.text-icon-tile-item.accent {
    background: #F6F3F2;
}

.text-icon-tile-imageicon{
    height: 72px;
    width: 72px;
}

.text-icon-tile-icon{
    font-size: 40px;
}

.text-icon-tile-eyebrow{
    color: #5D5D5C;
    font-family: 'HyundaiSansText-Regular';
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 125%;
}

.text-icon-tile-title {
    color: #000;
    font-family: 'HyundaiSansHead-Medium';
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 140%;
    margin-top: 4px;
}

.text-icon-tile-title.small {
    font-size: 16px;
}

.text-icon-tile-description {
    color: #000;
    font-family: 'HyundaiSansText-Regular';
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 125%;
    margin-top: 4px;
}

.titleleft .text-icon-wrapper, .titleright .text-icon-wrapper {
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.stacked .text-icon-wrapper{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px;
}

/* .stacked .text-icon-wrapper.one-row {
    grid-template-columns: repeat(1, 1fr);
}

.stacked .text-icon-wrapper.two-row {
    grid-template-columns: repeat(2, 1fr);
}

.stacked .text-icon-wrapper.three-row {
    grid-template-columns: repeat(3, 1fr);
}

.stacked .text-icon-wrapper.four-row {
    grid-template-columns: repeat(4, 1fr);
} */

.text-icon-tile-text-lockup {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.text-icon-section-btnwrapper .btn-secondary.caret,
.text-icon-section-btnwrapper .btn-primary.caret,
.text-icon-section-btnwrapper .btn-secondary.link,
.text-icon-section-btnwrapper .btn-primary.link {
    background: none;
    border: none;
    color: #002C5F !important;
}

.text-icon-section-btnwrapper .btn-secondary.link,
.text-icon-section-btnwrapper .btn-primary.link {
    text-decoration: underline ;
}

.titleleft .text-icon-section-heading,
.titleleft .text-icon-section-desc {
    text-align: left;
}

.titleright .text-icon-section-heading,
.titleright .text-icon-section-desc {
    text-align: left;
}

@media (max-width: 1199px) and (min-width: 768px) {
    .text-icon-full-wrapper {
        padding: 32px 40px;
    }

    .text-icon-full-wrapper.stacked {
        gap: 32px;
    }

    .stacked .text-icon-wrapper{
        width: 100%;
    }

    .titleleft .text-icon-wrapper, .titleright .text-icon-wrapper {
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
    }
    
    .text-icon-wrapper > .text-icon-tile-item:last-child:nth-child(3n + 1){
        grid-column: 2;
    }

    .text-icon-wrapper > .text-icon-tile-item:nth-last-child(2):nth-child{
        grid-column: 2;
    }

    .titleleft .text-icon-section-btnwrapper {
        flex-direction: column;
    }

    .titleleft .text-icon-section-btnwrapper .btn-secondary,
    .titleleft .text-icon-section-btnwrapper .btn-primary {
       width: 100%;
    }

    .titleright .text-icon-section-btnwrapper {
        flex-direction: column;
    }

    .titleright .text-icon-section-btnwrapper .btn-secondary,
    .titleright .text-icon-section-btnwrapper .btn-primary {
       width: 100%;
    }

}

@media (max-width: 1200px) {
    .stacked .text-icon-wrapper{
        width: 100%;
        gap: 20px;
    }

    .titleleft .text-icon-wrapper, .titleright .text-icon-wrapper {
        grid-template-columns: repeat(2, 1fr);
        display: grid;
        gap: 24px;
    }   
}

@media (max-width: 768px) {
    .stacked .text-icon-wrapper{
        display: flex;
        width: 100%;
        gap: 20px;
        
    }

    .text-icon-tile-item { 
        width: calc(33% - 16px);
    }

    .stacked .text-icon-wrapper.four-row {
         grid-template-columns: repeat(2, 1fr);
         display: grid;
    }

    .titleleft .text-icon-wrapper, .titleright .text-icon-wrapper {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
        display: grid;
    }
    
}

@media (max-width: 767px) {
    .text-icon-full-wrapper {
        padding: 24px 16px;
    }

    .text-icon-full-wrapper.stacked {
        gap: 24px;
    }

    .text-icon-full-wrapper.titleleft, .text-icon-full-wrapper.titleright {
        flex-direction: column;
        gap: 24px;
        align-items: stretch;
    }

    .text-icon-section-eyebrow {
        font-size: 14px;
        line-height: 128.571%;
    }

    .text-icon-section-heading {
        font-size: 32px;
        line-height: 125%;
        margin-top: 4px;
    }

    .text-icon-section-desc {
        font-size: 14px;
        line-height: 128.571%;
        margin-top: 4px;
    }

    .text-icon-tile-item {
        gap: 12px;
        padding: 12px 12px 16px;
        width: auto;
    }

    .text-icon-tile-eyebrow{
        font-size: 12px;
        line-height: 133.33%;
    }

    .text-icon-tile-title {
        font-size: 18px;
        line-height: 133.33%;
        margin-top: 0;
    }

    .text-icon-tile-title.small {
        font-size: 14px;
        line-height: 133.33%;
    }

    .text-icon-tile-description {
        font-size: 14px;
        line-height: 128.57%;
        margin-top: 2px;
    }

    .stacked .text-icon-wrapper {
        grid-template-columns: repeat(2, 1fr);
        display: grid;
        width: 100%;
        gap: 16px;
    }

    .titleleft .text-icon-section-wrapper, .titleright .text-icon-section-wrapper {
        width: 100%;
    }

    .titleleft .text-icon-wrapper, .titleright .text-icon-wrapper {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
    
    .text-icon-section-btnwrapper {
        margin-top: 24px;
    }

    .text-icon-section-btnwrapper .btn-primary,
    .text-icon-section-btnwrapper .btn-secondary {
        width: auto;
    }

    .stacked .text-icon-wrapper.three-row {
        grid-template-columns: repeat(1, 1fr);
        display: grid;
    }

    .stacked .text-icon-wrapper.four-row {
        grid-template-columns: repeat(2, 1fr);
        display: grid;
    }

    .text-icon-section-heading.sub-section {
        font-size: 18px;
    }

    .text-icon-section-heading.small {
        font-size: 14px;
    }

}