.locations-content{
    display: flex;
}
.location-side{
    width: 50%;
}
.location-side-text{
    text-transform: uppercase;
    font-weight: 500;
    font-size: 2.5rem;
    margin: 25px;
}
.location-items{
    display: flex;
    flex-direction: column;
    row-gap: 80px; 
    font-size: 1.1rem;
    width: 80%;
}
.location-item{
    padding-left: 35px;
    display: flex;
    flex-direction: column;
    row-gap: 20px;
}
.location-name{
    color: #4D5F5E;
    font-weight: 700;
    text-decoration: underline;
    text-transform: uppercase;
}
.location-item-content{
    display: flex;
    column-gap: 70px;
}
.location-address, .location-phone, .location-mail{
    position: relative;
    white-space: break-spaces;
    line-height: 1.7;
    margin: 5px 0;
}
.location-address:after,
.location-phone:after,
.location-mail:after{
    position: absolute;
    content: "";
    width: 25px;
    height: 25px;
    background-size: cover;
    left: -35px;
    top: 0;
    filter: brightness(0) saturate(100%) invert(35%) sepia(5%) saturate(1375%) hue-rotate(128deg) brightness(92%) contrast(84%);
}
.location-address:after{
    background-image: url('../img/icon/search-globe.svg');
}
.location-phone:after{
    background-image: url('../img/icon/telephone.svg');
}
.location-mail:after{
    background-image: url('../img/icon/mail-rounded.svg');
}

.form-side{
    width: 50%;
}
.contact-form{
    width: 100%;
    padding: 40px 80px;
    border: 1px solid #ccc;
    background-color: #fff;
    border-radius: 10px;
    display: flex;
    align-items: center;
    flex-direction: column;
}
.contact-form h1{
    margin: 0 0 10px !important;
}
.contact-form .black-button, .contact-form-content{
    width: 100%;
}
.contact-form-content{
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    row-gap: 35px;
}
.contact-form-content label{
    display: block;
    margin-bottom: 5px;
}
.name-container{
    display: flex;
    column-gap: 20px;
}
.name-container > div{
    width: 100%;
}
.name-container input{
    width: 100%;
}
.contact-form input, .contact-form textarea{
    border: 1px solid #ccc;
    border-radius: 7px;
    padding: 20px;
    font-size: 1.2rem;
    width: 100%;
    resize: none;
    font-family: 'DMSans-Regular', sans;
}
.contact-form input#message{
    height: 100px;
}

.content-inner:has(> #map){
    position: relative;
    height: 700px;
    max-height: 90vh;
}
#map:focus, #map *:not(.zoom-button):focus{
    border: none !important;
}
#map{
    width: calc(100% + (2 * var(--general-padding)));
    position: absolute;
    top: 0;
    left: calc(-1 * var(--general-padding));
    height: 700px;
    max-height: 90vh;
}
.gmnoprint,
#map .zoom-button ~ div:has(a) {
    display: none !important;      
}
.content-section:has(#map){
    max-width: unset;
}
div:has(> .zoom-button){
    display: flex;
    flex-direction: column;
    padding: 20px;
    gap: 10px;
}
.zoom-button {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 40px;
    background-color: #254357;
    text-align: center;
    cursor: pointer;
    transition: 150ms all !important;
    user-select: none;
    --size: 50px;
    min-width: var(--size);
    height: var(--size);
    box-shadow: 0 0 50px 0 rgba(10, 40, 50, .1);
}
.zoom-button:first-child{
    left: unset !important;
    bottom: 20px !important;
    right: 20px !important;
}
.zoom-button:nth-child(2){
    left: unset !important;
    bottom: 80px !important;
    right: 20px !important;
}
.zoom-button:hover{
    background-color: #3c5c71;
}
.minus, .plus{
    left: calc(50% - 8px) !important;
    top: calc(50% - 8px) !important;
}
.minus *, .plus *{
    background-color: #fff !important;
}