/* ===== GRID WRAPPER ===== */

.office-locations-grid {
    display: flex;
	flex-wrap: wrap;
	justify-content: center;
    gap: 60px 45px;
}

/* ===== CARD ===== */

.office-locations-grid .location-card {
	width: calc((100% - 90px) / 3);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.office-locations-grid .location-excerpt {
    flex-grow: 1;
}

/* ===== IMAGE ===== */

.office-locations-grid .location-image {
	display: block;
	width: 100%;
	max-width: 780px;
    overflow: hidden;
    aspect-ratio: 3/2;
    margin: 0 auto 20px;
}

.office-locations-grid .location-image img {
	display: flex;
	min-width: 100%;
    height: 100%;
    aspect-ratio: 3/2;
    object-fit: cover;
    transition: all .2s ease-in-out;
}

.office-locations-grid .location-image img:hover {
    transform: scale(1.075);
}

.office-locations-grid .location-image .default-headshot {
    background-color: var(--ast-global-color-5);
}

/* ===== NAME ===== */

.office-locations-grid .location-name {
    font-family: "Playfair Display", serif; /* or your serif */
    font-size: 36px;
    font-weight: 500;
    margin: 0 0 8px;
}

.office-locations-grid .location-name a {
    text-decoration: none;
}

/* ===== JOB TITLE ===== */

.office-locations-grid .location-job-title {
    font-size: 18px;
    margin-bottom: 20px;
}

/* ===== EXCERPT ===== */

.office-locations-grid .location-excerpt {
    line-height: 1.6;
    max-width: 320px;
    margin: 0 auto 30px;
}

/* ===== BUTTON ===== */

.office-locations-grid a.location-connect {
    display: inline-flex;
    align-items: center;
    background: var(--ast-global-color-0);
    color: var(--ast-global-color-1);
	height: 52px;
	padding: 1px 2px 1px 32px;
    text-decoration: none;
	line-height: 1em;
	font-weight: 600;
	transition: all .2s ease-in-out;
}

.office-locations-grid .location-connect:hover {
	line-height: 1em;
	padding: 1px 12px 1px 22px;
	transform: scale(1.075);
}

.office-locations-grid .location-connect:after {
	content: '';
	position: relative;
	display: block;
	height: 48px;
    width: 34px;
    left: -10px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M160 115.4L180.7 96 352 256 180.7 416 160 396.7 310.5 256z' fill='white'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
	background-size: cover;
	opacity: 0;
	transition: all .2s ease-in-out;
}

.office-locations-grid .location-connect:hover:after {
    left: 6px;
	opacity: .5;
}

.office-locations-grid.dark-bg .location-name a {
    color: var(--ast-global-color-7);
}

.office-locations-grid.dark-bg .location-name a:hover {
    color: var(--ast-global-color-0);
}

.office-locations-grid.dark-bg .location-card p {
    color: var(--ast-global-color-4);
}


@media (max-width: 1024px) {
	.office-locations-grid .location-card {
		width: calc((100% - 45px) / 2);
	}
}

@media (max-width: 480px) {
    .office-locations-grid {
        gap: 60px 0;
    }
	
	.office-locations-grid .location-card {
		width: 100%;
	}

    .office-locations-grid .location-name {
        font-size: 28px;
    }
}