/*
Theme Name: Arki Building Surveyors
Theme URI: https://mediaexchange.com.au
Description: WordPress theme for Arki
Author: Michael Debevec
Author URI: https://mediaexchange.com.au
Version: 1.0
.
.
*/

html.main,
html.main body {
    background-color: #1F1F1F;
    color: #fff;
    font-family: "Inter", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-size: 14px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    min-height: 100vh;
    padding: 0px;
    margin: auto;
    overflow-x: hidden;
    width: 100%;
}



html.main a {
    color: #fff;
    -webkit-transition: color 0.4s ease;
    transition: color 0.4s ease;
}

html.main a:hover {
    color: #0e80a2;
}

.wrapper {
    width: 1340px;
    max-width: 1340px;
    text-align: left;
}

.wrapper > .inner {
    width: 1227px;
    max-width: 1227px;
}

.site_wrapper > .wrapper {
    margin-top: 80px;
    margin-bottom: 67px;
}

.site_wrapper > .wrapper + .wrapper {
    margin-top: 0px;
    margin-bottom: 67px;
}

body {
    min-height: 100%;
}

body.customize-support .top_header,
body.customize-support .side_nav {
    top: 32px;
}

/* side_nav */
.side_nav {
    position: fixed;
    overflow: visible;
    top: 0px;
    right: 0px;
    z-index: 900;
}

.side_nav .top_control {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin-top: 30px;
    margin-right: 50px;
    gap: 30px;
}

.side_nav .top_control .quote_btn {
    font-size: 13px;
    color: #000000;
    text-decoration: none;
    background-color: #FFFDF0;
    border-radius: 40px;
    padding: 5px 20px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 6px;
    -webkit-transition: background-color 0.4s ease, color 0.4s ease;
    transition: background-color 0.4s ease, color 0.4s ease;
}

.side_nav .top_control .quote_btn:hover {
    background-color: #1398c2;
    color: #fffdf0;
}

.side_nav .top_control .quote_btn .icon {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    position: relative;
    width: 15px;
}

.side_nav .top_control .quote_btn .icon:before {
    content: '';
    width: 12px;
    height: 1px;
    background-color: #1F1F1F;
    display: inline-block;
    position: absolute;
    -webkit-transition: background-color 0.4s ease;
    transition: background-color 0.4s ease;
}

.side_nav .top_control .quote_btn:hover .icon:before {
    background-color: #fffdf0;
}

.side_nav .top_control .quote_btn .icon:after {
    content: '';
    width: 6px;
    height: 6px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    border-top: solid 1px #1F1F1F;
    border-right: solid 1px #1F1F1F;
    display: inline-block;
    -webkit-transition: border-color 0.4s ease;
    transition: border-color 0.4s ease;
}

.side_nav .top_control .quote_btn:hover .icon:after {
    border-top-color: #fffdf0;
    border-right-color: #fffdf0;
}


.side_nav .top_control .nav_btn {
    width: 21px;
    height: 14px;
    position: relative;
    cursor: pointer;
    background: transparent;
    border: none;
    padding: 0;
}

.side_nav .top_control .nav_btn span {
    display: block;
    width: 100%;
    height: 2px;
    background-color: #FFFDF0;
    position: absolute;
    left: 0;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
    -webkit-transform-origin: center;
    transform-origin: center;
}

.side_nav .top_control .nav_btn:hover span {
    background-color: #1398c2;
}

.side_nav .top_control .nav_btn.closed span:nth-child(1) {
    top: 0;
}

.side_nav .top_control .nav_btn.closed span:nth-child(2) {
    top: 6px;
}

.side_nav .top_control .nav_btn.closed span:nth-child(3) {
    top: 12px;
}

.side_nav .top_control .nav_btn.open span:nth-child(1) {
    top: 6px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.side_nav .top_control .nav_btn.open span:nth-child(2) {
    opacity: 0;
}

.side_nav .top_control .nav_btn.open span:nth-child(3) {
    top: 6px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.nav_wrap {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    background-color: #1F1F1F;
    min-height: 100vh;
    padding-left: 100px;
    padding-right: 100px;
    position: fixed;
    right: 0px;
    z-index: 800;
    margin-top: 70px;
    -webkit-transition: right 0.4s ease;
    transition: right 0.4s ease;
}

.nav_wrap ul.nav {
    list-style-type: none;
}

.nav_wrap ul.nav > li > a {
    color: #FFFDF0;
    text-decoration: none;
    -webkit-transition: color 0.4s ease;
    transition: color 0.4s ease;
    font-size: 36px;
}

.nav_wrap ul.nav > li > a:hover,
.nav_wrap ul.nav > li > a.active {
    color: #1398C2;
}

.nav_wrap ul.nav > li.sub > ul > li > a {
    text-decoration: none;
    color: #FFFDF0;
    font-size: 24px;
    -webkit-transition: color 0.4s ease;
    transition: color 0.4s ease;
}

.nav_wrap ul.nav > li.sub > ul > li > a:hover,
.nav_wrap ul.nav > li.sub > ul > li > a.active {
    color: #1398C2;
}

.nav_wrap ul.nav > li.sub > ul {
    list-style-type: none;
}



.nav_wrap ul.nav > li.sub > a {
    position: relative;
    cursor: pointer;
    padding-right: 30px;
}

.nav_wrap ul.nav > li.sub > a:after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 8px solid #FFFDF0;
    -webkit-transition: border-top-color 0.4s ease, -webkit-transform 0.4s ease;
    transition: border-top-color 0.4s ease, -webkit-transform 0.4s ease;
    transition: transform 0.4s ease, border-top-color 0.4s ease;
    transition: transform 0.4s ease, border-top-color 0.4s ease, -webkit-transform 0.4s ease;
}

.nav_wrap ul.nav > li.sub > a:hover:after,
.nav_wrap ul.nav > li.sub > a.active:after {
    border-top-color: #1398C2;
}

.nav_wrap ul.nav > li.sub.open > a:after {
    -webkit-transform: translateY(-50%) rotate(180deg);
    transform: translateY(-50%) rotate(180deg);
}

.nav_wrap ul.nav > li.sub > ul {
    list-style-type: none;
    max-height: 0;
    overflow: hidden;

    padding-top: 0px;
    padding-bottom: 0px;
    -webkit-transition: max-height 0.4s ease, padding 0.4s ease;
    transition: max-height 0.4s ease, padding 0.4s ease;
}

.nav_wrap ul.nav > li.sub.open > ul {

    padding-top: 10px;
    padding-bottom: 10px;
    /* Adjust based on your content */
}


.nav_wrap ul.nav li.float-bottom a {
    color: #000000;
    text-decoration: none;
    background-color: #FFFDF0;
    border-radius: 40px;
    padding: 5px 30px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 6px;
    -webkit-transition: background-color 0.4s ease, color 0.4s ease;
    transition: background-color 0.4s ease, color 0.4s ease;
    font-size: 26px;
}

.nav_wrap ul.nav li.float-bottom {
	margin-top: 60px;
}

.nav_wrap ul.nav li.float-bottom a:hover {
    background-color: #1398c2;
    color: #fffdf0;
}

/* top_header */

.top_header {
    height: 88px;
    position: fixed;
    width: 100%;
    z-index: 800;
    background-color: #1F1F1F;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    top: 0px;
    left: 0px;
}

.top_header a.logo {
    width: 150px;
    height: 47px;
    background-position: center center;
    background-size: contain;
    background-image: url(images/logo_arki.svg);
    display: inline-block;
    background-repeat: no-repeat;
    margin-left: 50px;
}

/* -- page banner -- */

.page_banner .wrapper > .inner,
.page_banner .wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 80px;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.page_banner .wrapper .main_heading {
    font-size: 48px;
    font-weight: 400;
    width: 50%;
    min-width: 50%;
    max-width: 50%;
}

.page_banner .wrapper .main_description {
    font-size: 14px;
    font-weight: 400;
    width: 50%;
    min-width: 50%;
    max-width: 50%;
}

.page_banner {
    min-height: 50px;
    padding-top: 50px;
}


/* -- home banner -- */
.site_wrapper {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-top: 78px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.home_banner {
    position: relative;
    width: 100%;
    height: 868px;
    overflow: hidden;
}

.home_banner video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
}

.home_banner video.hidden {
    opacity: 0;
    pointer-events: none;
}


.video_wrap {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    height: 0px;
    display: block;
}

.video_wrap video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
}

/* -- breakout_keyline -- */
.breakout_keyline {
    max-width: 900px;
    text-align: left;
    display: block;
    font-size: 40px;
}

.breakout_keyline strong {
    font-weight: 600;
}

/* -- grid boxes -- */

/* Updated grid system */
.grid_boxes {
    display: grid;
    grid-template-columns: repeat(auto-fit, 320px);
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 100px 20px;
    width: 100%;
}



.grid_boxes .grid_box {
    width: 320px;
    font-size: 14px;
}

/* For items that span 2 columns */
.grid_boxes .grid_box.span-2 {
    grid-column: span 2;
    width: auto;
    /* Override the fixed 320px width */
}

.grid_boxes .grid_box h1 {
    padding: 0px;
    margin: 0px;
    font-size: 32px;
    text-transform: uppercase;
    font-weight: 500;
}

.grid_boxes .grid_box a.image {
    background-position: center center;
    background-size: cover;
    position: relative;
    overflow: hidden;
    width: 320px;
    height: 310px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 30px;
    -webkit-text-decoration: None;
    text-decoration: None;
}

.grid_boxes .grid_box a.image:before {
    content: '';
    position: absolute;
    top: -70px;
    left: -70px;
    width: 140px;
    height: 140px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    background-color: #1F1F1F;
    z-index: 100;
}

.grid_boxes .grid_box a.image:after {
    content: '';
    position: absolute;
    bottom: -70px;
    right: -70px;
    width: 140px;
    height: 140px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    background-color: #1F1F1F;
    z-index: 100;
}

.grid_boxes .grid_box a.image .overlay {
    width: 100%;
    height: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background-color: rgb(14 128 162 / 0%);
    position: relative;
    z-index: 50;
    font-size: 32px;
    text-transform: uppercase;
    text-decoration: none;
    color: #fff;
    -webkit-transition: background-color 0.4s ease;
    transition: background-color 0.4s ease;
    text-align: center;
}

.grid_boxes .grid_box a.image .overlay:hover {
    background-color: rgb(14 128 162 / 80%);
}

.grid_boxes .grid_box .cap {
    font-size: 16px;
    margin-bottom: 40px;
    display: block;
}

.grid_boxes .grid_box a.cta {
    font-size: 13px;
    color: #FFF;
    text-decoration: none;
    background-color: #0E80A2;
    border-radius: 40px;
    padding: 5px 20px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 6px;
    -webkit-transition: background-color 0.4s ease, color 0.4s ease;
    transition: background-color 0.4s ease, color 0.4s ease;
}

.grid_boxes .grid_box a.cta:hover {
    background-color: #FFF;
    color: #1F1F1F;
}

.grid_boxes .grid_box a.cta .icon {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    position: relative;
    width: 15px;
}

.grid_boxes .grid_box a.cta .icon:before {
    content: '';
    width: 12px;
    height: 1px;
    background-color: #fff;
    display: inline-block;
    position: absolute;
    -webkit-transition: background-color 0.4s ease;
    transition: background-color 0.4s ease;
}

.grid_boxes .grid_box a.cta:hover .icon:before {
    background-color: #1F1F1F;
}

.grid_boxes .grid_box a.cta .icon:after {
    content: '';
    width: 6px;
    height: 6px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    display: inline-block;
    -webkit-transition: border-color 0.4s ease;
    transition: border-color 0.4s ease;
}

.grid_boxes .grid_box a.cta:hover .icon:after {
    border-top-color: #1F1F1F;
    border-right-color: #1F1F1F;
}

.full_image_section {
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-top: 67px;
    padding-bottom: 67px;
    min-height: 645px;
}

body .site_wrapper .dark-text {
    color: #1F1F1F;
}

.dark-text .grid_boxes .grid_box a.cta {
    font-size: 13px;
    color: #FFF;
    text-decoration: none;
    background-color: #1F1F1F;
    border-radius: 40px;
    padding: 5px 20px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 6px;
    -webkit-transition: background-color 0.4s ease, color 0.4s ease;
    transition: background-color 0.4s ease, color 0.4s ease;
}

.grid_boxes .grid_box p + a.cta {
    margin-top: 30px;
}

.dark-text .grid_boxes .grid_box a.cta:hover {
    background-color: #0E80A2;
}

.dark-text .grid_boxes .grid_box a.cta .icon {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    position: relative;
    width: 15px;
}

.dark-text .grid_boxes .grid_box a.cta .icon:before {
    content: '';
    width: 12px;
    height: 1px;
    background-color: #fff;
    display: inline-block;
    position: absolute;
    -webkit-transition: background-color 0.4s ease;
    transition: background-color 0.4s ease;
}



.dark-text .grid_boxes .grid_box a.cta .icon:after {
    content: '';
    width: 6px;
    height: 6px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    display: inline-block;
    -webkit-transition: border-color 0.4s ease;
    transition: border-color 0.4s ease;
}

/* -- accordion -- */

.w_accordion {
    width: 100%;
    margin: 40px auto;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
}

.accordion-item {
    border-bottom: 1px solid #fff;
}

.accordion-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 15px 20px;
    background-color: transparent;
    cursor: pointer;
    -webkit-transition: color 0.3s ease;
    transition: color 0.3s ease;
    border: none;
    width: calc(100% - 20px);
    text-align: left;
    color: #fff;
}

.accordion-header.active {
    color: #fff;
}

.accordion-title {
    font-size: 16px;
    font-weight: 600;
    margin: 0;
}

.accordion-icon {
    width: 29px;
    height: 29px;
    border-radius: 50%;
    border: 1px solid #fff;
    background-color: transparent;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    position: relative;
}

.accordion-icon:before {
    content: '';
    position: absolute;
    width: 50%;
    height: 1px;
    background-color: #fff;
    display: inline-block;
    -webkit-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease;
}

.accordion-icon:after {
    content: '';
    position: absolute;
    height: 50%;
    width: 1px;
    background-color: #fff;
    display: inline-block;
    -webkit-transition: background-color 0.3s ease, opacity 0.3s ease;
    transition: background-color 0.3s ease, opacity 0.3s ease;
    opacity: 1;
}

.accordion-header.active .accordion-icon {
    border-color: #fff;
    color: #fff;
}

.accordion-header.active .accordion-icon:after {
    opacity: 0;
}

.accordion-content {
    display: none;
    padding: 20px;
    background-color: transparent;
    color: #fff;
    padding-top: 0px;
}

.accordion-content p {
    margin: 0 0 15px 0;
    color: #fff;
}

.accordion-content p:last-child {
    margin-bottom: 0;
}

.accordion-header:hover,
.accordion-header.active:hover {
    color: #1398C2;
}

.accordion-header:hover .accordion-icon,
.accordion-header.active:hover .accordion-icon {
    border-color: #1398C2;
}

.accordion-header:hover .accordion-icon:before,
.accordion-header.active:hover .accordion-icon:before,
.accordion-header:hover .accordion-icon:after,
.accordion-header.active:hover .accordion-icon:after {
    background-color: #1398C2;
}

/* -- project showcase area -- */

/* -- project showcase area -- */

.project-showcase {
    width: 100%;
    height: 795px;
    position: relative;
    overflow: hidden;
    cursor: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.project-showcase .wrapper {
    position: relative;
    margin-top: 50px;
    z-index: 10;
}



.project-showcase .background-image,
.project-showcase .background-image-2 {
    position: absolute;
    top: 0;
    left: 0;
    width: 110%;
    height: 110%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    -webkit-transform: translate(-50px, -50px);
    transform: translate(-50px, -50px);
    z-index: 1;
}

.project-showcase .background-image-2 {
    z-index: 0;
    opacity: 0;
}

.project-showcase .project-list-container {
    display: inline-block;
    z-index: 10;
    background: #1F1F1F;
    padding: 30px;
}

.project-showcase .project-list {
    list-style: none;
    padding: 0px;
    margin: 0px;
    margin-bottom: 20px;
}

.project-showcase .project-item {
    color: #FFF;
    font-size: 24px;
    font-weight: 500;
    padding: 2px 0;
    cursor: pointer;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
    position: relative;
    text-transform: uppercase;
    opacity: 0.2;
}

.project-showcase .project-item:last-child {
    border-bottom: none;
}

.project-showcase .project-item:hover {
    opacity: 1;
}

.project-showcase .project-item.active {
    opacity: 1;
}

.project-showcase a.cta {
    font-size: 13px;
    color: #FFF;
    text-decoration: none;
    background-color: #0E80A2;
    border-radius: 40px;
    padding: 5px 20px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 6px;
    -webkit-transition: background-color 0.4s ease, color 0.4s ease;
    transition: background-color 0.4s ease, color 0.4s ease;
}

.project-showcase a.cta:hover {
    background-color: #FFF;
    color: #1F1F1F;
}

.project-showcase a.cta .icon {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    position: relative;
    width: 15px;
}

.project-showcase a.cta .icon:before {
    content: '';
    width: 12px;
    height: 1px;
    background-color: #fff;
    display: inline-block;
    position: absolute;
    -webkit-transition: background-color 0.4s ease;
    transition: background-color 0.4s ease;
}

.project-showcase a.cta:hover .icon:before {
    background-color: #1F1F1F;
}

.project-showcase a.cta .icon:after {
    content: '';
    width: 6px;
    height: 6px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    display: inline-block;
    -webkit-transition: border-color 0.4s ease;
    transition: border-color 0.4s ease;
}

.project-showcase a.cta:hover .icon:after {
    border-top-color: #1F1F1F;
    border-right-color: #1F1F1F;
}

.project-showcase .custom-cursor {
    position: fixed;
    width: 95px;
    height: 95px;
    background: #1F1F1F;
    border-radius: 50%;
    pointer-events: none;
    z-index: 1000;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    text-transform: uppercase;
    text-align: center;
    line-height: 1.2;
    opacity: 0;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.project-showcase .dots-container {
    position: absolute;
    bottom: 30px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 12px;
    z-index: 10;
}

.project-showcase .dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.4);
    cursor: pointer;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.project-showcase .dot.active {
    background: #fff;
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
}

.project-showcase .dot:hover {
    background: rgba(255, 255, 255, 0.7);
}

/* Reset cursor over interactive elements */
.project-showcase .project-list-container,
.project-showcase .dots-container {
    cursor: auto;
}

.project-showcase .project-item,
.project-showcase .cta,
.project-showcase .dot {
    cursor: pointer;
}


/* ------- sticky button ------- */

.sticky_btn {
    position: fixed;
    z-index: 700;
    height: 100vh;
    right: 0px;
    overflow: visible;
    width: 0px;
    top: 0px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.sticky_btn .inner {
    width: 30px;
    height: 0px;
    overflow: visible;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

html.main .sticky_btn a {
    font-size: 13px;
    color: #000000;
    text-decoration: none;
    background-color: #FFFDF0;
    padding: 5px 15px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 6px;
    -webkit-transition: background-color 0.4s ease, color 0.4s ease;
    transition: background-color 0.4s ease, color 0.4s ease;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    white-space: nowrap;
    height: 20px;
    position: relative;
}

html.main .sticky_btn a .icon {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    position: relative;
    width: 27px;
}

html.main .sticky_btn a .icon:before {
    content: '';
    width: 25px;
    height: 1px;
    background-color: #1F1F1F;
    display: inline-block;
    position: absolute;
    -webkit-transition: background-color 0.4s ease;
    transition: background-color 0.4s ease;
}

html.main .sticky_btn a .icon:after {
    content: '';
    width: 6px;
    height: 6px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    border-top: solid 1px #1F1F1F;
    border-right: solid 1px #1F1F1F;
    display: inline-block;
    -webkit-transition: border-color 0.4s ease;
    transition: border-color 0.4s ease;
}


html.main .sticky_btn a:hover {
    background-color: #1398c2;
    color: #fffdf0;
}

html.main .sticky_btn a:hover .icon:before {
    background-color: #fffdf0;
}

html.main .sticky_btn a:hover .icon:after {
    border-top-color: #fffdf0;
    border-right-color: #fffdf0;
}

html.main .sticky_btn .inner.dark a {
    color: #FFFDF0;
    background-color: #1F1F1F;
}

html.main .sticky_btn .inner.dark a .icon:before {
    background-color: #FFFDF0;
}

html.main .sticky_btn .inner.dark a .icon:after {
    border-top-color: #FFFDF0;
    border-right-color: #FFFDF0;
}

html.main .sticky_btn .inner.dark a:hover {
    background-color: #1398c2;
    color: #fffdf0;
}


/* -------- footer ---------- */

.footer {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 340px;
}

.footer a.footer_logo {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    background-image: url(images/logo_arki_alt.svg);
    width: 141px;
    height: 49px;
    display: inline-block;
}

.footer_links {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
}

.footer_links .footer_link_group h4 {
    font-size: 14px;
    padding: 0px;
    margin: 0px;
    margin-bottom: 20px;
}

.footer_links .footer_link_group ul {
    list-style-type: none;
    padding: 0px;
    margin: 0px;
}

.footer_links .footer_link_group {
    font-size: 14px;
}

.footer_links .footer_link_group a {
    color: #fff;
}

.footer_links .footer_link_group a:hover {
    text-decoration: none;
}

.footer_bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: absolute;
    bottom: 50px;
    width: 100%;
}

.footer .wrapper > .inner {
    position: relative;
    height: 100%;
}

.footer_bottom a {
    color: #fff;
}

.footer_bottom a:hover {
    text-decoration: none;
}

/* ---- large image section ---- */

.large_image {
    width: 100%;
    padding-top: 53.840%;
    background-size: cover;
    background-position: center center;
    display: block;
    background-repeat: no-repeat;
}


/* ----- annotated section ----- */

.wrapper .inner .points_listing {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 40px;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.wrapper .inner .points_listing .annotated_point {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: 330px;
}

.wrapper .inner .points_listing .annotated_point .point_content h3 {
    padding: 0px;
    margin: 0px;
    font-size: 32px;
    font-weight: 500;
    text-transform: uppercase;
}

.wrapper .inner .points_listing .annotated_point .point_content p {
    font-size: 14px;
    font-weight: 300;
}

.wrapper .inner .points_listing .annotated_point .point_number {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    width: 45px;
    min-width: 45px;
    margin-right: 16px;
    border-right: 1px #fff solid;
    height: 94px;
}

.wrapper .inner .points_listing .annotated_point .point_number span {
    font-size: 14px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 29px;
    height: 29px;
    border-radius: 50%;
    background-color: #ffffff;
    margin-top: 6px;
    color: #000;
}

.scroll_listing_top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 25px;
}

.scroll_listing_top .listing_heading {
    font-size: 32px;
    font-weight: 400;
    text-transform: uppercase;
}

.scroll_listing_top .listing_controls {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.scroll_listing_top .listing_controls .listing_prev,
.scroll_listing_top .listing_controls .listing_next {
    width: 33px;
    height: 23px;
    background-color: #0e80a2;
    border-radius: 11px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
    cursor: pointer;
    -webkit-transition: background-color 0.4s ease;
    transition: background-color 0.4s ease;
}

.scroll_listing_top .listing_controls .listing_prev:before,
.scroll_listing_top .listing_controls .listing_next:before {
    content: '';
    width: 12px;
    height: 1px;
    background-color: #fff;
    display: inline-block;
    position: absolute;
    -webkit-transition: background-color 0.4s ease;
    transition: background-color 0.4s ease;
}

.scroll_listing_top .listing_controls .listing_prev:after,
.scroll_listing_top .listing_controls .listing_next:after {
    content: '';
    width: 6px;
    height: 6px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    display: inline-block;
    -webkit-transition: border-color 0.4s ease;
    transition: border-color 0.4s ease;
    position: relative;
}

.scroll_listing_top .listing_controls .listing_prev:after {
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
}

.scroll_listing_top .listing_controls .listing_prev:after {
    right: 3px;
}

.scroll_listing_top .listing_controls .listing_next:after {
    right: -2px;
}

.scroll_listing_top .listing_controls .listing_prev:hover,
.scroll_listing_top .listing_controls .listing_next:hover {
    background-color: #FFFDF0;
}

.scroll_listing_top .listing_controls .listing_prev:hover::before,
.scroll_listing_top .listing_controls .listing_next:hover::before {
    background-color: #1F1F1F;
}

.scroll_listing_top .listing_controls .listing_prev:hover::after,
.scroll_listing_top .listing_controls .listing_next:hover::after {
    border-top-color: #1F1F1F;
    border-right-color: #1F1F1F;
}

.scroll_listing_container {
    position: relative;
    width: 100%;
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 40px;

}

.scroll_listing_container .listing_inner {

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.scroll_listing_container .listing_inner a {
    text-transform: uppercase;
    text-decoration: none;
    color: #fff;
    font-size: 20px;
}

.scroll_listing_container .listing_inner a .image {
    width: 100%;
    display: block;
    padding-top: 72.54%;
    margin-bottom: 10px;
    background-size: cover;
    background-position: center center;
    position: relative;
}

.scroll_listing_container .listing_inner a .image:before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgb(14 128 162 / 0%);
    -webkit-transition: background-color 0.4s ease;
    transition: background-color 0.4s ease;
    position: absolute;
    z-index: 20;
    top: 0px;
    left: 0px;
}

.scroll_listing_container .listing_inner a:hover .image:before {
    background-color: rgb(14 128 162 / 80%);
}

.scroll_listing_top .listing_controls .listing_prev.disabled,
.scroll_listing_top .listing_controls .listing_next.disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

a.s_link {
    font-size: 14px;
    color: #fff;
    text-decoration: none;
    margin-bottom: 25px;
    display: inline-block;
    -webkit-transition: color 0.4s ease;
    transition: color 0.4s ease;
}

a.s_link:hover {
    color: #1398c2;
}

.page_banner .main_tags {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    gap: 15px;
}

.page_banner .main_tags .m_tag {
    font-size: 11px;
    display: inline-block;
    padding: 2px 10px;
    border: solid 1px #fff;
    border-radius: 30px;
}

.grid_boxes.triple .grid_box {
    width: 100%;
}

.grid_boxes.triple {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 10px;
}

table.table_lined {
    width: 100%;
}

table.table_lined tr td {
    padding-top: 20px;
    border-top: 1px #fff solid;
    padding-bottom: 20px;
}

table.table_lined tr:last-child td {
    border-bottom: 1px #fff solid;
}

.large_image_slideshow {
    width: 100%;
    padding-top: 53.840%;
    position: relative;
    overflow: hidden;
    background-color: #1a1a1a;
}

.large_image_slideshow .slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    opacity: 0;
    -webkit-transition: opacity 0.8s ease-in-out;
    transition: opacity 0.8s ease-in-out;
}

.large_image_slideshow .slide.active {
    opacity: 1;
}

.large_image_slideshow .slideshow-dots-container {
    position: absolute;
    bottom: 30px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 12px;
    z-index: 10;
}

.large_image_slideshow .slideshow-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.4);
    cursor: pointer;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.large_image_slideshow .slideshow-dot.active {
    background: #fff;
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
}

.large_image_slideshow .slideshow-dot:hover {
    background: rgba(255, 255, 255, 0.7);
}

/* Captioned Image Slider Styles */
.captioned_image_slider {
    position: relative;
    width: 100%;
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 25px;
    margin-top: 40px;
}

.captioned_img_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-transition: -webkit-transform 0.4s ease;
    transition: -webkit-transform 0.4s ease;
    transition: transform 0.4s ease;
    transition: transform 0.4s ease, -webkit-transform 0.4s ease;
    width: 100%;
}

.capt_slide {
    width: calc(25% - 15px);
    /* 25% width for 4 slides */
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-right: 20px;
    /* 20px gap instead of 10px */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 15px;
}

.capt_slide:last-child {
    margin-right: 0;
}

.capt_slide .capt_img {
    width: 100%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-color: #1a1a1a;
    position: relative;
    padding-top: 139.6135%;
}

.capt_slide .caption {
    font-size: 12px;
}

.capt_slide .caption strong {
    display: block;
    font-size: 14px;
    font-weight: 500;
}

.capt_slide .caption strong {
    display: block;
    font-weight: 600;
    margin-bottom: 5px;
    font-size: 18px;
}

.captioned_img_controls {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.captioned_img_controls .capt_prev,
.captioned_img_controls .capt_next {
    width: 33px;
    height: 23px;
    background-color: #0e80a2;
    border-radius: 11px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
    cursor: pointer;
    -webkit-transition: background-color 0.4s ease;
    transition: background-color 0.4s ease;
}

.captioned_img_controls .capt_prev:before,
.captioned_img_controls .capt_next:before {
    content: '';
    width: 12px;
    height: 1px;
    background-color: #fff;
    display: inline-block;
    position: absolute;
    -webkit-transition: background-color 0.4s ease;
    transition: background-color 0.4s ease;
}

.captioned_img_controls .capt_prev:after,
.captioned_img_controls .capt_next:after {
    content: '';
    width: 6px;
    height: 6px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    display: inline-block;
    -webkit-transition: border-color 0.4s ease;
    transition: border-color 0.4s ease;
    position: relative;
}

.captioned_img_controls .capt_prev:after {
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
    right: 3px;
}

.captioned_img_controls .capt_next:after {
    right: -2px;
}

.captioned_img_controls .capt_prev:hover,
.captioned_img_controls .capt_next:hover {
    background-color: #FFFDF0;
}

.captioned_img_controls .capt_prev:hover::before,
.captioned_img_controls .capt_next:hover::before {
    background-color: #1F1F1F;
}

.captioned_img_controls .capt_prev:hover::after,
.captioned_img_controls .capt_next:hover::after {
    border-top-color: #1F1F1F;
    border-right-color: #1F1F1F;
}

.captioned_img_controls .capt_prev.disabled,
.captioned_img_controls .capt_next.disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.arki_form ul.gform_fields li.gfield label {
    display: none;
}

.arki_form ul.gform_fields li.gfield {
    width: 100%;
    display: inline-block;
    margin: 0px;
    padding: 0px;
}

.arki_form ul.gform_fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.arki_form .ginput_container span,
.arki_form .ginput_container input {
    /*width: 100% !important;
    min-width: 100% !important;*/
}

.arki_form .ginput_container input,
.arki_form .ginput_container textarea {
    background-color: transparent;
    border: none;
    font-size: 14px !important;
    font-weight: 500;
    opacity: 1;
    -webkit-transition: opacity 0.4s ease, color 0.4s ease;
    transition: opacity 0.4s ease, color 0.4s ease;
    border-bottom: solid 1px #fff;
    padding: 15px 10px !important;
    color: #FFF;
    margin: 0px !important;
}

.arki_form .ginput_container span {
    margin: 0px;
    /*padding: 0px !important;*/
}


.arki_form .ginput_container input::-webkit-input-placeholder,
.arki_form .ginput_container textarea::-webkit-input-placeholder {
    color: #979797 !important;
}


.arki_form .ginput_container input:-ms-input-placeholder,
.arki_form .ginput_container textarea:-ms-input-placeholder {
    color: #979797 !important;
}


.arki_form .ginput_container input::placeholder,
.arki_form .ginput_container textarea::placeholder {
    color: #979797 !important;
}

.arki_form input[type=submit],
.arki_form input[type=button] {
    color: #fff;
    background-color: #0e80a2;
    font-size: 15px !important;
    padding: 6px 20px;
    border-radius: 14px;
    border: none;
    cursor: pointer;
    -webkit-transition: color 0.4s ease, background-color 0.4s ease;
    transition: color 0.4s ease, background-color 0.4s ease;
}

.arki_form input[type=submit]:hover,
.arki_form input[type=button]:hover {
    background-color: #FFFDF0;
    color: #1F1F1F;
}

.arki_form .gform_wrapper.gravity-theme .gf_progressbar_percentage.percentbar_blue {
    background-color: #0e80a2;
}

.arki_form h3.gsection_title {
    padding-bottom: 0px;
    margin-bottom: 0px;
    font-size: 26px;
    font-weight: 400;
    text-transform: uppercase;
}

.arki_form .gform_wrapper.gravity-theme .gsection {
    margin-bottom: 10px;
    border-bottom: none;
}

.arki_form .gform_wrapper.gravity-theme .gsection ~ * {
    margin-left: 30px;
}

.arki_form .gform_wrapper.gravity-theme .gsection ~ * ~ .gsection {
    margin-left: 0px;
    margin-top: 40px;
}

.arki_form .gform_wrapper.gravity-theme .gfield_required {
    color: #f35959;
}

.arki_form .gform_wrapper.gravity-theme .gsection:first-child h3 {
    margin-top: 0px;
}

.arki_form .gfield_checkbox .gchoice {
    margin-bottom: 10px;
}

.arki_form .ginput_container select {
    background-color: transparent;
    border: none;
    font-size: 14px !important;
    font-weight: 500;
    opacity: 1;
    -webkit-transition: opacity 0.4s ease, color 0.4s ease;
    transition: opacity 0.4s ease, color 0.4s ease;
    border-bottom: solid 1px #fff;
    padding: 15px 10px !important;
    color: #FFF;
    margin: 0px !important;
}

.arki_form .ginput_container select option {
    color: #000;
}

.arki_form .gform_wrapper.gravity-theme .gfield_validation_message,
.gform_wrapper.gravity-theme .validation_message {
    background-color: #f35959;
    border: none;
    color: #fff;
}

.arki_form .gform_wrapper.gravity-theme .gfield_error .gfield_repeater_cell label,
.arki_form .gform_wrapper.gravity-theme .gfield_error label,
.arki_form .gform_wrapper.gravity-theme .gfield_error legend,
.arki_form .gform_wrapper.gravity-theme [aria-invalid=true] + label,
.arki_form .gform_wrapper.gravity-theme label + [aria-invalid=true] {
    color: #f35959;
}

.arki_form .gform_wrapper.gravity-theme .gfield_error [aria-invalid=true] {
    border: 1px solid #f35959;
}

.arki_form .gform_wrapper.gravity-theme .gfield_error [aria-invalid=true]::-webkit-input-placeholder {
    color: #f35959;
}

.arki_form .gform_wrapper.gravity-theme .gfield_error [aria-invalid=true]:-ms-input-placeholder {
    color: #f35959;
}

.arki_form .gform_wrapper.gravity-theme .gfield_error [aria-invalid=true]::placeholder {
    color: #f35959;
}

.map_wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 80px;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.map_wrapper .map_inner {
    max-width: 545px;
}

.map_wrapper .map_inner a {
    max-width: 100%;
}

.map_wrapper .map_inner a img {
    max-width: 100%;
}

@media only screen and (max-width: 1400px) {

    .site_wrapper > .wrapper,
    .wrapper {
        width: 1010px;
        max-width: 1010px;
    }

    .wrapper > .inner {
        width: 1010px;
        max-width: 1010px;
    }

    .home_banner {
        height: 650px;
    }

    .breakout_keyline {
        font-size: 30px;
    }

    .grid_boxes .grid_box {
        width: 260px;
    }

    .grid_boxes .grid_box a.image {
        width: 260px;
        height: 260px;
    }

    .grid_boxes .grid_box a.image .overlay {
        font-size: 22px;
    }

    .grid_boxes .grid_box a.image:before {
        width: 80px;
        height: 80px;
        top: -40px;
        left: -40px;
    }

    .grid_boxes .grid_box a.image:after {
        bottom: -40px;
        right: -40px;
        width: 80px;
        height: 80px;
    }

    .grid_boxes .grid_box .cap {
        font-size: 14px;
    }

    .project-showcase .project-item {
        font-size: 20px;
    }

    .grid_boxes .grid_box h1 {
        font-size: 28px;
    }

    .scroll_listing_top .listing_heading {
        font-size: 28px;
    }

    .nav_wrap ul.nav > li > a {
        font-size: 30px;
    }

    .nav_wrap ul.nav > li.sub > ul > li > a {
        font-size: 22px;
    }

    .capt_slide .caption strong {
        font-size: 15px;
    }

    .capt_slide .caption {
        font-size: 11px;
    }

    .page_banner .wrapper .main_heading,
    .page_banner .wrapper .main_description {
        min-width: auto;
        max-width: -webkit-fit-content;
        max-width: -moz-fit-content;
        max-width: fit-content;
    }

    .page_banner .wrapper .main_heading {
        font-size: 40px;
    }

}

@media only screen and (max-width: 1050px) {

    .site_wrapper > .wrapper {
        width: 780px;
        max-width: 780px;
    }

    .wrapper {
        width: 780px;
        max-width: 780px;
    }

    .wrapper > .inner {
        width: 780px;
        max-width: 780px;
    }

    .home_banner {
        height: 500px;
    }

    .breakout_keyline {
        font-size: 25px;
    }

    .grid_boxes {
        gap: 20px 50px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .grid_boxes .grid_box {
        width: 100%;
    }

    .grid_boxes .grid_box a.image {
        margin-left: auto;
        margin-right: auto;
    }

    .full_image_section .grid_boxes .grid_box {
        max-width: 50%;
    }

    table.table_lined tr td {
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .points_listing {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .wrapper .inner .points_listing .annotated_point {
        max-width: 100%;
    }

    .footer {
        height: 450px;
    }

    .grid_boxes .grid_box .cap {
        margin-bottom: 10px;
    }

    .grid_boxes {
        gap: 50px 50px;
    }



}

@media only screen and (max-width: 800px) {
    .top_header {
        height: 90px;
    }

    .top_header a.logo {
        height: 61px;
        width: 190px;
        margin-left: 20px;
    }

    .side_nav .top_control .nav_btn span {
        height: 4px;
    }

    .side_nav .top_control .nav_btn {
        width: 50px;
        height: 34px;
    }

    .side_nav .top_control {
        gap: 40px;
        margin-top: 28px;
        margin-right: 28px;
    }

    .side_nav .top_control .nav_btn.closed span:nth-child(2) {
        top: calc(50% - 2px);
    }

    .side_nav .top_control .nav_btn.closed span:nth-child(3) {
        top: calc(100% - 4px);
    }

    .side_nav .top_control .nav_btn.open span:nth-child(1) {
        top: 15px;
    }

    .side_nav .top_control .nav_btn.open span:nth-child(3) {
        top: 15px;
    }

    .nav_wrap ul.nav > li > a {
        font-size: 50px;
    }

    .nav_wrap ul.nav > li.sub > ul > li > a {
        font-size: 34px;
    }

    .site_wrapper > .wrapper,
    .wrapper {
        width: 700px;
        max-width: 700px;
    }

    .wrapper > .inner {
        width: 700px;
        max-width: 700px;
    }

    .breakout_keyline {
        font-size: 50px;
    }

    .grid_boxes .grid_box a.image .overlay {
        font-size: 50px;
        line-height: 56px;
    }

    .grid_boxes .grid_box .cap {
        font-size: 20px;
        line-height: 26px;
        margin-bottom: 20px;
    }

    .grid_boxes .grid_box a.cta {
        font-size: 24px;
        padding: 14px 50px;
        margin-top: 10px;
        margin-bottom: 10px;
    }

    .grid_boxes .grid_box h1 {
        font-size: 50px;
        line-height: 56px;
    }

    .grid_boxes .grid_box {
        font-size: 20px;
        line-height: 26px;
    }

    .dark-text .grid_boxes .grid_box a.cta {
        font-size: 20px;
        padding: 8px 30px;
    }

    .accordion-title {
        font-size: 25px;
    }

    .project-showcase .project-item {
        font-size: 30px;
    }

    .project-showcase .wrapper {
        margin-top: 10px;
        width: calc(100% - 20px);
        max-width: calc(100% - 20px);
    }

    .footer_links {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 50px;
    }

    .footer {
        height: auto;
        padding-bottom: 40px;
    }

    .footer_bottom {
        bottom: 0px;
        position: relative;
        padding-top: 50px;
    }

    .footer_links .footer_link_group ul {
        -webkit-columns: 2;
        columns: 2;
    }

    .footer_links .footer_link_group h4 {
        font-size: 24px;
    }

    .footer_links .footer_link_group {
        font-size: 20px;
    }

    .footer_links .footer_link_group ul li {
        padding-bottom: 10px;
    }

    .footer_bottom p {
        padding: 0px;
        margin: 0px;
    }

    .page_banner .wrapper .main_description {
        font-size: 20px;
        line-height: 26px;
    }

    .page_banner .wrapper > .inner,
    .page_banner .wrapper {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 20px;
    }

    .page_banner .wrapper .main_description,
    .page_banner .wrapper .main_heading {
        width: 100%;
    }

    .page_banner .wrapper .main_heading {
        font-size: 70px;
    }

    .arki_form h3.gsection_title {
        font-size: 40px;
        line-height: 50px;
    }

    .arki_form .gform_wrapper.gravity-theme .gfield_checkbox label,
    .arki_form .gform_wrapper.gravity-theme .gfield_radio label,
    .arki_form .gform_wrapper.gravity-theme .gfield_label {
        font-size: 20px;
        line-height: 24px;
    }

    .arki_form .ginput_container input,
    .arki_form .ginput_container textarea,
    .arki_form .ginput_container select {
        font-size: 20px !important;
    }

    .captioned_img_controls .capt_prev,
    .captioned_img_controls .capt_next,
    .scroll_listing_top .listing_controls .listing_prev,
    .scroll_listing_top .listing_controls .listing_next {
        width: 61px;
        height: 41px;
        border-radius: 40px;
    }

    .captioned_img_controls .capt_prev:before,
    .captioned_img_controls .capt_next:before,
    .scroll_listing_top .listing_controls .listing_prev:before,
    .scroll_listing_top .listing_controls .listing_next:before {
        height: 3px;
        width: 30px;
    }

    .captioned_img_controls .capt_prev:after,
    .captioned_img_controls .capt_next:after,
    .scroll_listing_top .listing_controls .listing_prev:after,
    .scroll_listing_top .listing_controls .listing_next:after {
        border-top-width: 3px;
        border-right-width: 3px;
        width: 12px;
        height: 12px;
        right: -7px;
    }

    .captioned_img_controls .capt_prev:after,
    .scroll_listing_top .listing_controls .listing_prev:after {
        left: -7px;
    }

    .page_banner .main_tags .m_tag {
        font-size: 20px;
    }

    a.s_link {
        font-size: 20px;
    }

    .side_nav .top_control .quote_btn {
        font-size: 20px;
        padding: 7px 30px;
    }

    .grid_boxes .grid_box a.image {
        width: 500px;
        height: 500px;
    }

    .accordion-header {
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .accordion-content {
        padding-bottom: 30px;
    }


    .capt_slide {
        width: calc(33.333% - 13.333px) !important;
        /* 3 slides per view instead of 4 */
        margin-right: 20px;
    }

    .capt_slide:last-child {
        margin-right: 0;
    }

    /* Maintain the same aspect ratio for images on mobile */
    .capt_slide .capt_img {
        width: 100%;
        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat;
        background-color: #1a1a1a;
        position: relative;
        padding-top: 139.6135%;
        /* Maintains the same ratio as desktop */
    }

    /* Optional: Adjust caption text size for better mobile readability */
    .capt_slide .caption {
        font-size: 14px;
        line-height: 18px;
    }

    .capt_slide .caption strong {
        font-size: 20px;
        line-height: 24px;
        margin-bottom: 8px;
    }

    .arki_form input[type=submit],
    .arki_form input[type=button] {
        font-size: 26px !important;
        padding: 12px 50px;
        border-radius: 30px;
    }

    .grid_boxes.triple.tablewrap {
        gap: 0px;
    }

    .grid_boxes.triple.tablewrap > .grid_box:first-child {
        margin-bottom: 10px;
    }

    .grid_boxes.triple.tablewrap > .grid_box:nth-child(3) table.table_lined tr:first-child td {
        border: none;
    }

}
@media only screen and (min-width: 1930px) {
	.home_banner{
		height:0px;
		padding-top: 45.2%;
	}
}
