section {
    overflow: hidden;
}

/* Side SMI style was moved to global.css **/

#hp-slider {
    position: relative;
}

.hp-ss {
    position: relative;
    width: 100%;
}

.hp-ss .aios-slider-img::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: #000;
    opacity: .2;
    z-index: 1;
}

.hp-ss-overlay {
    position: absolute;
    max-width: 100%;
/*    width: auto;*/
    width: 100%;
    padding: 0 20px;
    height: auto;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
}

.hp-ss-overlay-container {
    position: relative;
    width: 100%;
    height: auto;
}

.hp-ss-overlay-content p {
    display: block;
    font-size: 70px;
    letter-spacing: 14px;
    line-height: 1;
    text-transform: uppercase;
    color: #ffffff;
    font-weight: 500;
    text-align: center;
    filter: drop-shadow(3px 5.196px 5.5px rgba(0, 0, 0, 0.35));
}

.hp-ss-overlay-content h2 {
    font-size: 70px;
    color: #ffffff;
    font-weight: 400;
    font-family: var(--font-family-title);
    text-align: center;
    filter: drop-shadow(3px 5.196px 5.5px rgba(0, 0, 0, 0.35));
}

.hp-ss-arrow-down {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 50px;
    z-index: 2;
}

#hp-qs {
    position: relative;
    overflow: visible;
}

.hp-qs-container {
    padding: 35px 100px 20px;
    background-color: #04244A;
}

.hp-qs-content {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1400px;
    margin: auto;
}

.hp-qs-title h3 {
    font-size: 23px;
    letter-spacing: 1px;
    line-height: 25px;
    text-transform: uppercase;
    color: #ffffff;
    font-weight: 400;
    font-family: var(--font-family-title);
}

.hp-qs-form {
    position: relative;
    width: 100%;
}

.hp-qs-form form {
    display: flex;
    justify-content: space-between;
}

.qs-field {
    position: relative;
}

.qs-field label {
    display: block;
    font-size: 10px;
    letter-spacing: 1px;
    line-height: 15px;
    color: #ffffff;
    font-weight: 500;
}

.qs-field input,
.qs-field select,
.qs-field input::placeholder {
    font-size: 13px;
    letter-spacing: 1px;
    line-height: 15px;
    color: #ffffff;
    font-weight: 500;
}

.qs-field input,
.qs-field select {
    background-color: transparent;
    border: none;
    outline: none;
    width: 80px;
    height: 20px;
}

.qs-field select {
    -webkit-appearance: none;
}

.qs-field .qs-select-field {
    position: relative;
}

.qs-triangle {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    border-top: 7px solid #ffffff;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    z-index: 0;
}

.qs-field select option {
    color: #000;
}

.hp-qs-disclaimer {
    margin-top: 25px;
    opacity: 0.502;
    font-size: 8px;
    letter-spacing: 4px;
    line-height: 5px;
    text-transform: uppercase;
    color: #ffffff;
    font-weight: 250;
    text-align: center;
}

.qs-submit {
    align-self: center;
}

.qs-submit .section-button:hover span::before {
    background-color: #70b944;
}

.qs-submit .section-button .figure-liner,
.qs-submit .section-button .basic-liner {
    z-index: 1;
    stroke: #ffffff;
}

.qs-submit .section-button:hover .figure-liner {
    stroke: #ffffff;
}

.qs-submit .section-button:hover .basic-liner {
    stroke: #ffffff;
}

.hp-qs-form button.btn.dropdown-toggle.bs-placeholder.btn-default,
.hp-qs-form button.btn.dropdown-toggle.btn-default, 
.hp-qs-form button.btn.dropdown-toggle.btn-default:hover {
    background-color: transparent;
    border: none;
    outline: none;
    width: 80px;
    height: 20px;
    color: #fff;
    padding: 0;
}

.hp-qs-form span.filter-option.pull-left {
    font-size: 13px !important;
    letter-spacing: 1px;
    line-height: 15px;
    color: #ffffff;
    font-weight: 500;
    text-overflow: ellipsis;
}

.hp-qs-form .bs-searchbox .form-control {
    color: #000;
}

#welcome {
    position: relative;
}

.welcome-container {
    padding: 85px 100px 20px;
    position: relative;
}

.welcome-container::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 36.5%;
    background-color: #fff;
    width: 41.43%;
    height: 50%;
    z-index: 1;
}

.welcome-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.welcome-bg canvas {
    display: block;
    width: 100%;
    height: 100%;
    background-size: cover;
}

.welcome-content {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
}

.welcome-image {
    width: 100%;
    max-width: 524px;
    position: relative;
}

.welcome-image-container {
    position: relative;
}

.welcome-image-container::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #70b944;
    left: -20px;
    bottom: -20px;
    z-index: 0;
}

.welcome-image canvas {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    background-size: cover;
    z-index: 2;
}

.welcome-context {
    /* width: 100%; */
    height: 100%;
    background-color: #fff;
    padding: 0 150px 30px 100px;
}

.welcome-title {
    margin-bottom: 35px;
}

.welcome-title p {
    font-size: 18px;
    letter-spacing: 9px;
    line-height: 25px;
    text-transform: uppercase;
    color: #000000;
    font-weight: 500;
}

.welcome-title h1 {
    font-size: 70px;
    line-height: 70px;
    color: #04244a;
    font-weight: 400;
    font-family: var(--font-family-title);
}

.welcome-description p {
    max-width: 578px;
    font-size: 15px;
    letter-spacing: 1px;
    line-height: 30px;
    color: #000000;
    font-weight: 400;
    margin-bottom: 30px;
}

.welcome-link .section-button {
    color: #033333;
}

#services {
    position: relative;
}

.os-container {
    position: relative;
}

.os-content {
    position: relative;
    z-index: 1;
    display: flex;
    padding: 100px;
    justify-content: center;
    align-items: center;
}

.os-left {
    position: relative;
    width: 44.07%;
    padding-left: 35px;
}

.os-right {
    width: calc(100% - 44.07%);
}

.os-title {
    margin-bottom: 30px;
}

.os-title h2 {
    font-size: 60px;
    letter-spacing: 3px;
    color: #ffffff;
    font-weight: 400;
    font-family: var(--font-family-title);
}

.os-description p {
    max-width: 469px;
    font-size: 15px;
    letter-spacing: 1px;
    line-height: 26px;
    color: #ffffff;
    font-weight: 400;
}

.os-bg {
    position: absolute;
    width: 53.12%;
    height: 100%;
}

.os-bg canvas {
    display: block;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-attachment: fixed;
}

.safari-true .os-bg canvas {
    background-attachment: scroll;
}

.os-bg::before {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    background-color: rgba(4, 36, 74, .75);
    z-index: 1;
}

.os-right {
    position: relative;
}

.os-cta {
    display: flex;
    flex-flow: column;
    justify-content: center;
    gap: 25px;
    padding-left: 50px;
}

.os-cta a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 683px;
    width: 100%;
    height: 143px;
    background-image: url(/wp-content/uploads/2023/12/service-bg-min.jpg);
    background-attachment: fixed;
    background-size: cover;
    font-size: 40px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #ffffff;
    font-weight: 400;
    font-family: var(--font-family-title);
    border: 3px solid #fff;
}

.safari-true .os-cta a {
    background-attachment: scroll;
}

.os-cta a::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(4, 36, 74, .75);
    transition: .4s;
}

.os-cta a:hover::before {
    background-color: rgba(112, 185, 68, .75);
}

.os-cta a span {
    position: relative;
    z-index: 3;
    width: 60%;
}

.os-cta a span::before {
    position: absolute;
    content: '';
    width: 40.62%;
    height: 1px;
    background-color: #fff;
    opacity: .5;
    right: calc(100% + 15px);
    top: 50%;
}

/* WWWD */

#wwwd {
    position: relative;
}

.wwwd-container {
    position: relative;
    padding: 125px 90px 100px;
}

.wwwd-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.wwwd-bg::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 1;
    background-image: linear-gradient(180deg, #ffffff 10%, transparent 80%);
}

.wwwd-bg canvas {
    display: block;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-attachment: fixed;
}

.safari-true .wwwd-bg canvas {
    background-attachment: scroll;
}

.wwwd-content {
    position: relative;
    z-index: 2;
}

.wwwd-title {
    margin-bottom: 100px;
}

.wwwd-title h2 {
    font-size: 60px;
    letter-spacing: 3px;
    color: #04244a;
    font-weight: 400;
    font-family: var(--font-family-title);
    text-align: center;
}

.wwwd-numbers {
    position: relative;
    display: flex;
    justify-content: space-between;
}

.wwwd-number-val {
    font-size: 43px;
    line-height: 27px;
    color: #ffffff;
    font-weight: 500;
    text-align: center;
}

.wwwd-number-val p {
    font-size: 16px;
    letter-spacing: 1px;
    line-height: 24px;
    color: #d5d5d5;
    font-weight: 400;
    text-align: center;
    margin-top: 30px;
}

/* Communities style was moved to global.css*/

#expcol {

}

#expcol img {
    display: block;
    width: 100%;
    height: auto;
}

#fl {
    position: relative;
}

.fl-container {
    position: relative;
}

.fl-content {
    position: relative;
    display: flex;
    justify-content: center;
    width: 100%;
}

.fl-left {
    width: 33.43%;
    background-color: #04244a;
    padding: 60px 100px;
}

.fl-title {
    margin-bottom: 60px;
}

.fl-title h2 {
    font-size: 60px;
    line-height: 55px;
    color: #ffffff;
    font-weight: 400;
    font-family: var(--font-family-title);
    margin-bottom: 40px;
}

.fl-title p {
    max-width: 357px;
    width: 100%;
    font-size: 15px;
    letter-spacing: 1px;
    line-height: 30px;
    color: #ffffff;
    font-weight: 400;
}

.fl-right {
    width: calc(100% - 33.43%);
}

.fl-link a {
    color: #fff;
    font-weight: 500;
}

.fl-link a line {
    stroke: #fff !important;
}

.fl-link a:hover span::before {
    border-color: #70b944;
    background-color: #70b944;
}

.fl-controls {
    margin-top: 115px;
    display: flex;
    justify-content: start;
    align-items: center;
}

.fl-controls a {
    font-size: 12px;
    letter-spacing: 1px;
    color: #ffffff;
    font-weight: 500;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 23px;
    transition: .4s;
}

.fl-controls a:hover {
    opacity: .3;
}

.fl-controls a:first-child {
    border-right: 1px solid rgba(255, 255, 255, 0.1);
    padding-left: 0;
}

.fl-controls a.arrow-left i {
    transform: scaleX(-1);
}

.fl-grid {
    position: relative;
    height: 100%;
}

.fl-grid .slick-list,
.fl-grid .slick-slide,
.fl-grid .slick-slide>div,
.fl-grid .slick-track {
    height: 100%;
}

.fl-item {
    position: relative;
    width: 100%;
    height: 100%;
}

.fl-item-image {
    position: relative;
    width: 100%;
    height: 100%;
    background-color: #1b3d6a;
    border-left: 20px solid #70b944;
    border-bottom: 20px solid #70b944;
}

.fl-item-image canvas {
    display: block;
    width: 100%;
    height: 100%;
    background-size: cover;
    transition: .4s;
    min-height: 250px;
    /* border-left: 20px solid #70b944;
    border-bottom: 20px solid #70b944; */
}

.fl-item:hover canvas {
    opacity: .25;
}

.fl-item-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 80px;
    font-size: 18px;
    line-height: 28px;
    text-transform: uppercase;
    color: #ffffff;
    font-weight: 400;
    /* transition: .4s; */
}

.fl-item-overlay>a>div {
    color: #ffffff;
}

.fl-item-price {
    font-size: 35px;
    line-height: 70px;
    text-transform: uppercase;
    color: #ffffff;
    font-weight: 400;
    font-family: var(--font-family-title);
}

.fl-bbt {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

.fl-bbt .count-0,
.fl-bbt .count- {
    display: none;   
}

.fl-bbt span {
    display: block;
    padding: 0 15px;
}

.fl-bbt span:not(:last-child) {
    border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.fl-bbt span:first-child {
    padding-left: 0;
}

.fl-item:hover .fl-bbt,
.fl-item:hover .fl-add,
.fl-item:hover .fl-item-price {
    display: none;
}

.fl-item-link {
    display: none;
}

.fl-item-link .section-button {
    font-weight: 500;
}

.fl-item-link .section-button line {
    stroke: #fff;
}

.fl-item:hover .fl-item-link .section-button .figure-liner {
    display: none;
}

.fl-item:hover .fl-item-link .section-button span::before {
    background-color: #70b944;
    border-color: #70b944;
}

.fl-item:hover .fl-item-link {
    display: block;
}

.fl-item:hover .fl-item-overlay {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
}

#gvc {
    position: relative;
}

.gvc-container {
    position: relative;
    padding: 110px 50px 60px;
}

.gvc-content {
    position: relative;
}

.gvc-title p {
    font-size: 18px;
    letter-spacing: 9px;
    line-height: 25px;
    text-transform: uppercase;
    color: #000000;
    font-weight: 500;
    text-align: center;
}

.gvc-title h2 {
    font-size: 60px;
    line-height: 70px;
    color: #04244a;
    font-weight: 400;
    font-family: var(--font-family-title);
    text-align: center;
}

.gvc-title {
    margin-bottom: 50px;
}

.gvc-grid {
    position: relative;
    display: flex;
    justify-content: center;
    gap: 18px;
}

.gvc-item:nth-child(odd) {
    transform: translateY(-100px);
}

.gvc-item {
    position: relative;
}

.gvc-item-image {
    position: relative;
    width: 100%;
    background-color: #70b944;
    padding-bottom: 20px;
    margin-bottom: 20px;
}

.gvc-item-image canvas {
    display: block;
    width: 100%;
    height: 100%;
    background-size: cover;
}

.gvc-overlay {
    position: absolute;
    width: 100%;
    height: calc(100% - 20px);
    top: 0;
    left: 0;
    background-color: rgba(27, 61, 106, .75);
    opacity: 0;
    transition: .4s;
}

.gvc-overlay .section-button {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-weight: 500;
}

.gvc-overlay .section-button line {
    stroke: #fff;
}

.gvc-overlay .section-button .figure-liner {
    display: none;
}

.gvc-item:hover .section-button span::before {
    border-color: #70b944;
    background-color: #70b944;
}

.gvc-item:hover .gvc-overlay {
    opacity: 1;
}

.gvc-item:hover .gvc-item-image canvas {
    filter: grayscale(1);
    transition: .4s;
}

.gvc-item-details h4 {
    font-size: 20px;
    line-height: 30px;
    color: #000000;
    font-weight: 400;
}

.gvc-item-details p {
    font-size: 15px;
    letter-spacing: 1px;
    line-height: 30px;
    color: #000000;
    font-weight: 400;
}

.gvc-link {
    width: fit-content;
    margin: auto;
    margin-top: 60px;
}

.gvc-link .section-button {
    color: #033333;
}

#videos {
    position: relative;
}

.vid-container {
    position: relative;
    padding: 80px 5% 0;
}

.vid-accents canvas:nth-child(1) {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    background-size: cover;
    background-attachment: fixed;
    width: 23.75%;
}

.vid-accents canvas:nth-child(2) {
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    background-size: cover;
    background-attachment: fixed;
    width: 23.75%;
}

.vid-content {
    position: relative;
    z-index: 2;
}

.vid-title p {
    font-size: 18px;
    letter-spacing: 9px;
    line-height: 25px;
    text-transform: uppercase;
    color: #000000;
    font-weight: 500;
    text-align: center;
}

.vid-title h2 {
    font-size: 60px;
    line-height: 70px;
    color: #04244a;
    font-weight: 400;
    font-family: var(--font-family-title);
    text-align: center;
}

.vid-grid {
    position: relative;
    max-width: 1280px;
    width: 100%;
    margin: auto;
    margin-top: 35px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: wrap;
    gap: 10px;
}

.vid-item {
    position: relative;
    width: calc((100% / 4) - 8px);
}

.vid-poster {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    background-color: #000;
    transition: .4s;
}

.vid-item:hover .vid-poster {
    background-color: #04244a;
}

.vid-poster canvas {
    display: block;
    width: 100%;
    height: 100%;
    background-size: cover;
    opacity: .85;
    transition: .4s;
}

.vid-item:hover .vid-poster canvas {
    opacity: .35;
}

.vid-play {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 78px;
    height: 78px;
    color: #ffffff;
    border: 1px solid #ffffff;
    border-radius: 39px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 24px;
}

#social {
    position: relative;
}

.smi-container {
    padding: 100px 100px 0;
}

.smi-content {
    position: relative;
    width: 100%;
}

.smi-top {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 50px;
}

.smi-title p {
    font-size: 18px;
    letter-spacing: 9px;
    line-height: 25px;
    text-transform: uppercase;
    color: #000000;
    font-weight: 500;
}

.smi-title h2 {
    font-size: 60px;
    line-height: 70px;
    color: #04244a;
    font-weight: 400;
    font-family: var(--font-family-title);
}

.smi-connect {
    margin-right: 15px;
}

.smi-connect .section-button {
    color: #04244A;
}

.smi-grid {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.smi-item {
    width: calc(100% / 5);
    position: relative;
}

.smi-item-image {
    position: relative;
    width: 100%;
    height: 100%;
}

.smi-item-image video {
    position: absolute;
    top: 0;
}

.smi-item-image canvas {
    display: block;
    width: 100%;
    height: 100%;
    background-size: cover;
}

.smi-accent {
    position: absolute;
    color: #fff;
    font-size: 28px;
    bottom: 20px;
    right: 20px;
    transition: .4s;
}

.smi-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 100px;
    color: #ffffff;
    background-color: rgba(4, 36, 74, .70);
    transition: .4s;
    opacity: 0;
}

.smi-item:hover .smi-overlay {
    opacity: 1;
}

.smi-item:hover .smi-accent {
    opacity: 0;
}

#news {
    position: relative;
}

.news-container {
    position: relative;
    padding: 120px 50px 80px;
}

.news-content {
    position: relative;
    width: 100%;
}

.news-title p {
    font-size: 18px;
    letter-spacing: 9px;
    line-height: 25px;
    text-transform: uppercase;
    color: #000000;
    font-weight: 500;
    text-align: center;
}

.news-title h2 {
    font-size: 60px;
    line-height: 70px;
    color: #04244a;
    font-weight: 400;
    font-family: var(--font-family-title);
    text-align: center;
}

.news-title {
    margin-bottom: 50px;
}

.news-grid {
    position: relative;
    display: flex;
    justify-content: center;
    flex-flow: wrap;
    gap: 17px;
}

.news-item {
    position: relative;
    width: calc((100% / 3) - 12px);
}

.news-item a {
    display: block;
    position: relative;
}

.news-item a::before {
    position: absolute;
    content: '';
    width: calc(100% - 36px);
    height: calc(100% - 65px);
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    border: 2px solid #70b944;
    z-index: 1;
}

.news-image {
    position: relative;
    width: 100%;
    height: 100%;
    background-color: #04244A;
}

.news-image canvas {
    display: block;
    width: 100%;
    height: 100%;
    background-size: cover;
    transition: .4s;
}

.news-item:hover .news-image canvas {
    opacity: .5;
}

.news-item-content {
    position: relative;
    display: block;
    padding: 40px;
    z-index: 2;
}

.news-item-content h4 {
    font-size: 20px;
    line-height: 30px;
    color: #000000;
    font-weight: 400;
    margin-bottom: 15px;
}

.news-item-content p {
    font-size: 15px;
    letter-spacing: 1px;
    line-height: 30px;
    color: #000000;
    font-weight: 400;
}

.news-link {
    margin-top: 60px;
}

.news-link .section-button {
    color: #033333;
}

.news-section-link {
    width: fit-content;
    margin: auto;
    margin-top: 80px;
}

.news-item:hover .section-button span::before {
    background-color: #04244A;
    border-color: #04244A;
}

.news-item:hover .section-button .basic-liner {
    stroke: #fff;
}

#testi {
    position: relative;
}

.testi-container {
    position: relative;
    padding: 20px 100px 100px;
}

.testi-container::before {
    position: absolute;
    content: '';
    width: 100px;
    height: calc(100% - 100px);
    background-color: #04244A;
    top: 0;
    right: 0;
    z-index: 1;
}

.testi-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.testi-bg canvas {
    display: block;
    width: 100%;
    height: 100%;
    background-size: cover;
}

.testi-content {
    position: relative;
    z-index: 1;
    max-width: 1140px;
    width: 100%;
    margin: auto;
    display: flex;
    justify-content: center;
}

.testi-left {
    width: 37.19%;
}

.testi-image {
    position: relative;
}

.testi-image canvas {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    background-size: cover;
    z-index: 1;
}

.testi-image::before {
    z-index: 0;
    position: absolute;
    content: '';
    background-color: #70b944;
    width: 100%;
    height: 100%;
    left: -20px;
    bottom: -20px;
}

.testi-right {
    padding-left: 120px;
    width: calc(100% - 37.19%);
}

.testi-title {
    margin-top: 28px;
    margin-bottom: 30px;
}

.testi-title p {
    font-size: 18px;
    letter-spacing: 9px;
    line-height: 25px;
    text-transform: uppercase;
    color: #000000;
    font-weight: 500;
}

.testi-title h2 {
    font-size: 60px;
    line-height: 70px;
    color: #04244a;
    font-weight: 400;
    font-family: var(--font-family-title);
}

.testi-grid-container {
    position: relative;
    display: flex;
    gap: 40px;
}

.testi-grid {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.testi-grid .testi-item p {
    max-width: 488px;
    font-size: 15px;
    letter-spacing: 1px;
    line-height: 30px;
    color: #000000;
    font-weight: 400;
}

.testi-name {
    margin-top: 40px;
    font-size: 25px;
    letter-spacing: 1px;
    line-height: 30px;
    text-transform: uppercase;
    color: #000000;
    font-weight: 400;
    font-family: var(--font-family-title);
}

.testi-item,
.testi-grid-right-pane {
    width: 100%;
}

.testi-grid-controller {
    margin-top: 60px;
    display: flex;
    align-items: center;
}

.testi-arrow {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    font-size: 10px;
    letter-spacing: 1px;
    line-height: 25px;
    color: #999999;
    font-weight: 500;
    text-transform: uppercase;
    padding: 0 30px;
}

.testi-arrow.arrow-left {
    border-right: 1px solid rgba(0, 0, 0, .1);
    padding-left: 0;
}

.testi-arrow.arrow-left i {
    display: block;
    transform: scaleX(-1);
}

.testi-link {
    margin-top: 100px;
}

.testi-link .section-button {
    color: #033333;
}

/*MAP*/
#expcol {
    position: relative;
    background: url(../images/map/bg-map.jpg) center/cover no-repeat;
    max-width: 1920px;
    margin: 0 auto;
}
.map-wrap {
    position: relative;
    max-width: 1600px;
    margin: 0 auto;
}

    .map-wrap > canvas {
        display: block;
        width: 100%;
        background: #04244A;
    }

    .map-responsive {
        position: absolute;
        top: 0;
        left: 0;
    }

        #expcol .map-responsive img {
            max-width: initial;
            width: auto;
        }

    .map-links {
        position: absolute;
        top: 55px;
        right: 138px;
        background: rgba(12,65,109,0.85); 
        width: 510px;
        padding: 72px 76px 73px;
    }

        .map-title {
            margin-bottom: 16px;
        }

            .map-title h2 {
                font-size: 68px;
                line-height: 0.882352941176471;
                color: #fff;
                font-family: 'Quattrocento', serif;
            }

                .map-title h2 span {
                    display: block;
                    font-size: 18px;
                    font-weight: 500;
                    letter-spacing: 0.5em;
                    color: #70b944;
                    text-transform: uppercase;
                    font-family: 'Raleway', sans-serif;
                    margin-bottom: 15px;
                }

        .map-links ul {

        }

            .map-links ul li {
                border-bottom: 1px solid rgba(255,255,255,0.5);
            }
            .map-links ul li:last-child {
                border-bottom: 0;
            }
            .map-links ul li a {
                font-size: 30px;
                letter-spacing: 0.05em;
                line-height: 1;
                font-family: 'Quattrocento', sans-serif;
                color: #fff;
                display: block;
                padding: 22px 0;
                position: relative;
            }

            .map-links ul li a:before {
                content: '';
                position: absolute;
                width: 11px;
                height: 11px;
                border-radius: 50%;
                background: #70b944;
                margin: auto;
                top: 0;
                bottom: 0;
                left: -29px;
                opacity: 0;
                transition: opacity .3s ease;
            }
            .map-links ul li a:hover:before,
            .map-links ul li a.active:before {
                opacity: 1;
            }

.map-labels {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    pointer-events: none;
}
    .map-label {
        position: absolute;
    }
        .map-label span {
            position: relative;
            display: inline-block;
            font-size: 13px;
            letter-spacing: 0.13em;
            text-transform: uppercase;
            color: #fff;
            text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.004);
            font-weight: 500;
        }
            .map-label span:before {
                content: '';
                position: absolute;
                width: 7px;
                height: 7px;
                border-radius: 50%;
                background: #fff;
                top: 0;
                left: 0;
            }
    
    .map-label[data-label="heeney"] {
        top: 98px;
        left: 198px;
    }
        .map-label[data-label="heeney"] span:before {
            top: 3px;
            left: 106%;
        }
    
    .map-label[data-label="montezuma"] {
        top: 538px;
        left: 735px;
    }
        .map-label[data-label="montezuma"] span:before {
            top: -17px;
            left: 8px;
        }
    
    .map-label[data-label="blue-river"] {
        top: 752px;
        left: 565px;
    }
        .map-label[data-label="blue-river"] span:before {
            top: 2px;
            left: -13px;
        }

.map-hovers {
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
}
    .map-hover {
        position: absolute;
        top: 0;
        left: 0;
    }
        .map-hover img {
            opacity: 0;
            transition: opacity .3s ease;
        }
        .map-hover.active img {
            opacity: 1;
        }
        .map-hover .map-area {
            display: block;
        }
        .map-hover img.map-logo {
            position: absolute;
            top: 0;
            left: 0;
            pointer-events: all;
        }
        .map-hover span {
            position: absolute;
            top: 0;
            left: 0;
            font-size: 16px;
            letter-spacing: 0.15em;
            line-height: 1;
            font-weight: 800;
            color: #fff;
            text-transform: uppercase;
            text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.004);
            pointer-events: all;
        }

            .map-hover span i {
                font-size: 20px;
                color: #fff;
                position: absolute;
                top: 0;
                left: 100%;
            }

    .map-hover[data-area="keystone"] {
        top: 481px;
        left: 589px;
    }
        .map-hover[data-area="keystone"] img.map-logo {
            top: 38px;
            left: 21px;
        }
        .map-hover[data-area="keystone"] span {
            top: 10px;
            left: 88px;
        }
            .map-hover[data-area="keystone"] span i {
                top: 0;
                left: -28px;
            }

    .map-hover[data-area="breckenridge"] {
        top: 541px;
        left: 480px;
    }
        .map-hover[data-area="breckenridge"] img.map-logo {
            top: 69px;
            left: 54px;
        }
        .map-hover[data-area="breckenridge"] span {
            top: 132px;
            left: 100px;
        }
            .map-hover[data-area="breckenridge"] span i {
                top: 0;
                left: -30px;
            }

    .map-hover[data-area="copper"] {
        top: 619px;
        left: 379px;
    }
        .map-hover[data-area="copper"] img.map-logo {
            top: 44px;
            left: -33px;
        }
        .map-hover[data-area="copper"] span {
            top: 13px;
            left: -54px;
        }
            .map-hover[data-area="copper"] span i {
                top: 0;
                left: 109%;
            }


    .map-hover[data-area="silverthorne"] {
        top: 376px;
        left: 479px;
    }
        .map-hover[data-area="silverthorne"] img.map-logo {
            top: 10px;
            left: -44px;
        }
        .map-hover[data-area="silverthorne"] span {
            top: 47px;
            left: -140px;
        }
            .map-hover[data-area="silverthorne"] span i {
                top: 0;
                left: 108%;
            }

    .map-hover[data-area="dillon"] {
        top: 449px;
        left: 525px;
    }
        .map-hover[data-area="dillon"] img.map-logo {
            top: 26px;
            /*left: 4px;*/

            left: 32px;
        }
        .map-hover[data-area="dillon"] span {
            /*top: -8px;
            left: 52px;*/
            
            top: 4px;
            left: 56px;
        }
            .map-hover[data-area="dillon"] span i {
                top: -1px;
                left: -34px;
            }

    .map-hover[data-area="frisco"] {
        top: 502px;
        left: 467px;
    }

        .map-hover[data-area="frisco"] img.map-area {
            position: relative;
            top: 3px;
            left: 3px;
        }
        .map-hover[data-area="frisco"] img.map-logo {
            /*top: -32px;
            left: -10px;*/
            
            top: 32px;
            left: -7px;
        }
        .map-hover[data-area="frisco"] span {
            top: 21px;
            left: -65px;
        }
            .map-hover[data-area="frisco"] span i {
                top: -1px;
                left: 111%;
            }


.qs-field {
    position: relative;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    padding-bottom: 5px;
}
.qs-field select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
    border: none;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    border-radius:unset;
    padding-right: 10px;
}
.fl-item-image:before {
    position: absolute;
    content: '';
    width: 100%;
    height: 50%;
    bottom: 0;
    left: 0;
    background: linear-gradient(0deg, #04234a, transparent);
}


#gvc,
#videos {
    display: none;
}

@media (max-width: 1900px) {
    .welcome-content {
        justify-content: end;
    }
}

@media (max-width: 1599px) {
    .fl-title {
        margin-bottom: 30px;
    }

    .fl-controls {
        margin-top: 60px;
    }
}

@media (max-width: 1440px) {
    .hp-ss-overlay-content h2 {
        font-size: max(5vw, 9vw);
    }

    .hp-ss-overlay-content p {
        font-size: max(4.375vw, 4.375vw);
        letter-spacing: 6px;
        /*   */
        text-wrap: nowrap;
    }

    .welcome-context {
        padding: 0 100px 30px;
    }

    .os-cta a {
        font-size: 26px;
    }

    .wwwd-container {
        padding: 125px 5% 100px;
    }

    .wwwd-number-val {
        font-size: 32px;
    }

    .wwwd-number-val p {
        font-size: 13px;
    }

    .fl-title h2 {
        font-size: 40px;
        line-height: normal;
    }

    .fl-title p {
        max-width: 100%;
        font-size: 12px;
    }

    .fl-controls {
        margin-top: 30px;
    }

    .fl-left {
        padding: 60px 5%;
    }

    .smi-container {
        padding: 100px 5% 0;
    }

    .news-item-content h4 {
        font-size: 16px;
    }

    .testi-right {
        padding-left: 60px;
    }

    .testi-grid-container {
        padding-right: 30px;
    }

    .testi-grid-container .quote {
        width: 10%;
    }

    .testi-grid-right-pane {
        width: 80%;
    }

}

@media (max-width: 1199px) {
    .hp-qs-container {
        padding: 35px 5% 20px;
    }

    .os-cta a span {
        width: 70%;
    }

    .wwwd-number-val {
        font-size: 24px;
    }

    .wwwd-number-val p {
        font-size: 11px;
    }

    .os-bg canvas,
    .os-cta a,
    .wwwd-bg canvas {
        background-attachment: scroll;
    }

    .gvc-title h2 {
        font-size: 40px;
    }

    .gvc-title p {
        font-size: 14px;
        letter-spacing: 6px;
    }

    .news-item-content h4 {
        font-size: 14px;
    }

    .news-item-content p {
        font-size: 12px;
    }

}

@media (max-width: 991px) {
    .hp-qs-content {
        flex-flow: column;
        align-items: center;
        gap: 30px;
    }

    .hp-qs-form form {
        justify-content: center;
        flex-flow: wrap;
        gap: 15px;
        max-width: 400px;
        margin: auto;
    }

    .hp-qs-form form .qs-field,
    .qs-field input,
    .qs-field select {
        width: 100%;
    }

    .qs-submit {
        margin-top: 30px;
    }

    .qs-field {
        border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    }

    .welcome-content {
        flex-flow: wrap;
        justify-content: center;
        gap: 30px;
    }

    .welcome-container::before {
        display: none;
    }

    .welcome-context {
        padding: 60px 10%;
        width: 100%;
    }

    .welcome-title p,
    .welcome-description p,
    .welcome-title h1 {
        text-align: center;
    }

    .welcome-description p {
        max-width: none;
    }

    .welcome-title h1 br,
    .welcome-image-container::before,
    .os-title h2 br,
    .fl-title h2 br {
        display: none;
    }

    .welcome-link .section-button {
        justify-content: center;
    }

    .hp-qs-disclaimer,
    .welcome-title h1 {
        line-height: normal;
    }

    .welcome-container {
        padding: 85px 5% 20px;
    }

    .welcome-title h1 {
        font-size: 40px;
    }

    .os-bg {
        width: 100%;
    }

    .os-content {
        flex-flow: column;
        text-align: center;
        gap: 40px;
        padding: 80px 5%;
    }

    .os-left,
    .os-right {
        width: 100%;
    }

    .os-description p {
        max-width: 100%;
    }

    .os-cta,
    .os-left {
        padding-left: 0;
        align-items: center;
    }

    .wwwd-numbers {
        flex-flow: column;
        gap: 20px;
    }

    .wwwd-number-val {
        filter: drop-shadow(0px 3px 2px black);
    }

    .wwwd-number-val p {
        margin-top: 10px;
    }

    .fl-content {
        flex-flow: column;
    }

    .fl-left,
    .fl-right {
        width: 100%;
    }

    .fl-title h2,
    .fl-title p,
    .fl-item-overlay {
        text-align: center;
    }

    .fl-item-overlay {
        left: 50%;
        transform: translateX(-50%);
        padding: 30px 5%;
        font-size: 12px;
        width: 80%;
    }

    .fl-link {
        width: fit-content;
        margin: auto;
    }

    .fl-controls,
    .fl-bbt {
        justify-content: center;
    }

    .gvc-grid {
        flex-flow: column;
        max-width: 600px;
        margin: auto;
    }

    .gvc-item:nth-child(odd) {
        transform: none;
    }

    .gvc-container {
        padding: 110px 5% 60px;
    }

    .vid-item {
        width: 100%;
        max-width: 500px;
    }

    .smi-top {
        flex-flow: column;
        text-align: center;
        align-items: center;
        gap: 30px;
    }

    .smi-grid {
        flex-flow: wrap;
    }

    .smi-item {
        width: calc(100% / 2);
    }

    .news-grid {
        flex-flow: column;
        align-items: center;
    }

    .news-item {
        width: 100%;
        max-width: 400px;
        text-align: center;
    }

    .news-link {
        width: fit-content;
        margin: auto;
        margin-top: 40px;
    }

    .news-container {
        padding: 80px 5%;
    }

    .testi-container {
        padding: 20px 5% 100px;
    }

    .testi-content {
        flex-flow: column;
        align-items: center;
    }

    .testi-container::before {
        display: none;
    }

    .testi-right {
        padding-left: 0;
        width: 100%;
        text-align: center;
        margin-top: 50px;
    }

    .testi-left {
        width: 90%;
        max-width: 423px;
    }

    .testi-grid-container {
        padding-right: 0;
        flex-flow: column;
    }

    .testi-grid-container>div {
        width: 100% !important;
    }

    .testi-grid .testi-item p {
        max-width: 100%;
    }

    .testi-grid-controller {
        margin-top: 30px;
        justify-content: center;
    }

    .testi-arrow.arrow-right {
        padding-right: 0;
    }

    .testi-link {
        width: fit-content;
        margin: auto;
        margin-top: 60px;
    }

    /*map*/

    .map-wrap {
        width: 160%;
    }

    .map-links {
        position: relative;
        width: 100%;
        right: 0;
        top: 0;
        padding: 50px 60px;
        background-color: rgba(12,65,109,1);
    }
        .map-links ul li a {
            font-size: 25px;
        }
    .map-title {
        text-align: center;
    }
        .map-title h2 {
            font-size: 40px;
        }
            .map-title h2 span {
                font-size: 14px;
            }

}

@media (max-width: 768px) {

    .smi-title h2,
    .news-title h2,
    .testi-title h2 {
        font-size: 40px;
    }

    .smi-connect .section-button {
        gap: 15px;
    }
}

@media (max-width: 480px) {
    .hp-ss-overlay-content h2 {
        font-size: 36px;
    }

    .hp-ss-overlay-content p {
        font-size: 30px;
        letter-spacing: 0;
        text-wrap: nowrap;
    }
}