/*------- visit us in south yarra (Figma: node 399:317) -------*/
.visit-sec {
    position: relative;
    z-index: 0;
    min-height: 600px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 80px 0;
    overflow: hidden;

    /* background image sits at the back */
    .bgimg {
        z-index: 0;
    }

    /* dark overlay on top of the background image */
    &::before {
        position: absolute;
        content: "";
        inset: 0;
        background-color: rgba(0, 0, 0, 0.82);
        z-index: 1;
    }

    & > .container {
        position: relative;
        z-index: 2;
        width: 100%;
    }
}

/*--- heading + subtitle ---*/
.visit-head {
    text-align: center;
    max-width: 950px;
    margin: 0 auto 56px;

    .heading-50 {
        letter-spacing: -1px;
    }

    & p {
        color: var(--white);
    }
}

/*--- contact / hours / address columns ---*/
.visit-info {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    max-width: 1220px;
    margin: 0 auto;

    .visit-col {
        flex: 1;
        text-align: center;
        padding: 0 30px;
        position: relative;
    }

    .visit-col+.visit-col::before {
        position: absolute;
        content: "";
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        height: 78px;
        border-left: 3px double rgb(255 255 255 / 20%);
    }

    .visit-col-title {
        font-size: 30px;
        line-height: 1.1;
        letter-spacing: 0.6px;
        text-transform: capitalize;
        color: var(--white);
        font-family: var(--font-body-family);
        margin-bottom: 18px;
    }

    .visit-col ul {
        list-style-type: none;
        margin: 0;
        padding: 0;
    }

    .visit-col li {
        font-size: 20px;
        line-height: 1.3;
        letter-spacing: 0.4px;
        color: var(--white);
        margin: 0;
    }

    .visit-col li:not(:last-child) {
        margin-bottom: 4px;
    }

    /* address wraps to two lines, as in the design */
    .visit-col:last-child li {
        max-width: 187px;
        margin-left: auto;
        margin-right: auto;
    }

    .visit-col li a {
        color: var(--white);
        text-decoration: none;
    }
}
.visit-col li a:hover{
    text-decoration: underline;
}

.visit-sec p{
    color: var(--white);
}

.visit-info + p{
    max-width: 1140px;
    margin: 50px auto 0;
    font-size: 20px;

    & a{
        color: var(--white);

        &:hover{
            color: #7b7b7b;
        }
    }
}



/* RESPONSIVE  MEDIA QUERY */
@media (max-width: 1199.98px) {
    .visit-info .visit-col {
        padding: 0 18px;
    }

    .visit-info .visit-col-title {
        font-size: 26px;
    }
    .visit-sec{
        min-height:auto;
        padding:60px 0;
    }
    .visit-info + p{margin: 30px auto 0;font-size: 18px;}

}

@media (max-width: 991.98px) {
    .visit-sec {
        padding: 60px 0;
    }

    .visit-head {
        margin: 0 auto 40px;
    }

    .visit-info .visit-col li {
        font-size: 18px;
    }

    .visit-info {
        row-gap:30px;
        column-gap:20px;
                align-items: stretch;
        .visit-col {
            flex:calc(50% - 20px);  
            padding:0;
        }
        .visit-col:first-child{
            width:100%;
        }
        .visit-col+.visit-col::before{
            height:100%;
        }
         .visit-col-title{
            margin-bottom:14px;
        }
        .visit-col:nth-child(odd):before
        {
            display: none;
        }
    }
    .visit-head {
        margin: 0 auto 30px;
    }
}

@media (max-width: 767.98px) {
    .visit-sec {
        min-height: auto;
    }

    .visit-info {
        flex-direction: column;
               row-gap: 0;
    }

    .visit-info .visit-col {
        flex: none;
        width: 100%;
        padding: 0;
    }

    .visit-info .visit-col+.visit-col::before {
        display: none;
    }

    .visit-info .visit-col:not(:last-child) {
        margin-bottom: 30px;
        padding-bottom: 30px;
        border-bottom: 3px double rgb(255 255 255 / 18%);
    }
}

@media (max-width: 575.98px) {

    .visit-info .visit-col-title {
        font-size: 24px;
        margin-bottom: 5px;
    }

    .visit-info .visit-col li {
        font-size: 16px;
    }
    .visit-sec {
        padding: 40px 0;
    }
    .visit-info .visit-col:not(:last-child){
        margin-bottom:20px;
        padding-bottom:20px;
    }
}