.wpcf7 .screen-reader-response {
	position: absolute;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	word-wrap: normal !important;
}

.wpcf7 .hidden-fields-container {
	display: none;
}

.wpcf7 form .wpcf7-response-output {
	margin: 2em 0.5em 1em;
	padding: 0.2em 1em;
	border: 2px solid #00a0d2; /* Blue */
}

.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output {
	display: none;
}

.wpcf7 form.sent .wpcf7-response-output {
	border-color: #46b450; /* Green */
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
	border-color: #dc3232; /* Red */
}

.wpcf7 form.spam .wpcf7-response-output {
	border-color: #f56e28; /* Orange */
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	border-color: #ffb900; /* Yellow */
}

.wpcf7-form-control-wrap {
	position: relative;
}

.wpcf7-not-valid-tip {
	color: #dc3232; /* Red */
	font-size: 1em;
	font-weight: normal;
	display: block;
}

.use-floating-validation-tip .wpcf7-not-valid-tip {
	position: relative;
	top: -2ex;
	left: 1em;
	z-index: 100;
	border: 1px solid #dc3232;
	background: #fff;
	padding: .2em .8em;
	width: 24em;
}

.wpcf7-list-item {
	display: inline-block;
	margin: 0 0 0 1em;
}

.wpcf7-list-item-label::before,
.wpcf7-list-item-label::after {
	content: " ";
}

.wpcf7-spinner {
	visibility: hidden;
	display: inline-block;
	background-color: #23282d; /* Dark Gray 800 */
	opacity: 0.75;
	width: 24px;
	height: 24px;
	border: none;
	border-radius: 100%;
	padding: 0;
	margin: 0 24px;
	position: relative;
}

form.submitting .wpcf7-spinner {
	visibility: visible;
}

.wpcf7-spinner::before {
	content: '';
	position: absolute;
	background-color: #fbfbfc; /* Light Gray 100 */
	top: 4px;
	left: 4px;
	width: 6px;
	height: 6px;
	border: none;
	border-radius: 100%;
	transform-origin: 8px 8px;
	animation-name: spin;
	animation-duration: 1000ms;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}

@media (prefers-reduced-motion: reduce) {
	.wpcf7-spinner::before {
		animation-name: blink;
		animation-duration: 2000ms;
	}
}

@keyframes spin {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

@keyframes blink {
	from {
		opacity: 0;
	}

	50% {
		opacity: 1;
	}

	to {
		opacity: 0;
	}
}

.wpcf7 [inert] {
	opacity: 0.5;
}

.wpcf7 input[type="file"] {
	cursor: pointer;
}

.wpcf7 input[type="file"]:disabled {
	cursor: default;
}

.wpcf7 .wpcf7-submit:disabled {
	cursor: not-allowed;
}

.wpcf7 input[type="url"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"] {
	direction: ltr;
}

.wpcf7-reflection > output {
	display: list-item;
	list-style: none;
}

.wpcf7-reflection > output[hidden] {
	display: none;
}
.ssa-upcoming-appointments{
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 1rem;
}

.ssa-upcoming-appointments .appointment-card{
    display: flex;
    flex-direction: column;
    color: #858585;
    background-color: white;
    border-radius: 4px;
}

.ssa-upcoming-appointments .appointment-card-header{
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    padding: 1.5rem 1.5rem 0 1.5rem;
}

.wp-container-core-group-layout-6 .ssa-upcoming-appointments .appointment-card-header{
    justify-content: center;
}

.wp-container-core-columns-layout-1 .ssa-upcoming-appointments .appointment-card-header{
    justify-content: center;
}
.wp-container-core-columns-layout-2 .ssa-upcoming-appointments .appointment-card-header{
    justify-content: center;
}

.wp-container-core-group-layout-6 .ssa-upcoming-appointments .appointment-card .appointment-card-header .member-avatar img{
    object-fit: contain;
}

.wp-container-core-columns-layout-1 .ssa-upcoming-appointments .appointment-card .appointment-card-header .member-avatar img{
    object-fit: contain;
}
.wp-container-core-columns-layout-2 .ssa-upcoming-appointments .appointment-card .appointment-card-header .member-avatar img{
    object-fit: contain;
}

.wp-container-core-group-layout-6 .ssa-upcoming-appointments .appointment-card .action-bar{
    display: flex;
    justify-content: center;
}

.wp-container-core-columns-layout-1 .ssa-upcoming-appointments .appointment-card .action-bar{
    display: flex;
    justify-content: center;
}
.wp-container-core-columns-layout-2 .ssa-upcoming-appointments .appointment-card .action-bar{
    display: flex;
    justify-content: center;
}

.ssa-upcoming-appointments .appointment-card .appointment-card-header .appointment-information{
    display: flex;
    flex-direction: column;
}

.ssa-upcoming-appointments .appointment-card .appointment-card-header .appointment-information .appointment-header {
    display: flex;
    flex-direction: column;
    font-size: 20px;
    font-weight: normal;
    padding-top: 5px;
}

.ssa-upcoming-appointments .appointment-card .appointment-card-header .appointment-information .appointment-header .appointment-staff {
    color: #242424;
}

.ssa-upcoming-appointments .appointment-card .appointment-card-header .appointment-information .appointment-header p:first-of-type{
    font-size: 22px;
    font-weight: bold;
    color: #636363;
}

.ssa-upcoming-appointments .appointment-card .appointment-card-header .appointment-information .appointment-details ul {
    padding-left: 18px;
    margin: 11px 0 0 0;
    font-size: 18px;
}

.ssa-upcoming-appointments .appointment-card .appointment-card-header .appointment-information .appointment-details ul li {
    list-style-type: none;
}

.ssa-upcoming-appointments .appointment-card .appointment-card-header .appointment-information .appointment-details ul li a{
    color: #000000 !important;
    text-decoration: underline !important;
}

.ssa-upcoming-appointments .appointment-card .appointment-card-header .appointment-information .appointment-header p{
    margin: 0;
}

.ssa-upcoming-appointments .appointment-card .appointment-card-header img{
    width: 70px;
    height: 70px;
    border-radius: 120px;
    object-fit: cover;
}

.ssa-upcoming-appointments .appointment-card .appointment-card-header .staff-images-container{
    width: 70px;
    height: 70px;
    position: relative;
}

.ssa-upcoming-appointments .appointment-card .appointment-card-header .staff-images-container img{
    width: 56px;
    height: 56px;
    position: absolute;
    border-radius: 120px;
    object-fit: cover;
}

.ssa-upcoming-appointments .appointment-card .appointment-card-header .staff-images-container .secondary-image{
    top: 0;
    left: 0;
}

.ssa-upcoming-appointments .appointment-card .appointment-card-header .staff-images-container .primary-image{
    bottom: 0;
    right: 0;
}

.ssa-upcoming-appointments .appointment-card .action-bar{
    padding: 1rem;
}

.ssa-upcoming-appointments .appointment-card .action-bar button{
    padding: 0.5rem 8px;
    font-size: 18px;
    background-color: transparent;
    border: none;
    color: #000000;
    content: 'Edit Appointment';
    border-radius: 4px;
}

.ssa-upcoming-appointments .appointment-card .action-bar button:hover{
    cursor: pointer;
    background-color: #FAFDF8;
}

@media screen and (min-width: 486px) and (max-width: 768px){
    .ssa-upcoming-appointments .appointment-card-header{
        justify-content: center;
    }
    .ssa-upcoming-appointments .appointment-card .appointment-card-header .member-avatar img {
        object-fit: contain;
    }
    .ssa-upcoming-appointments .appointment-card .action-bar{
        display: flex;
        justify-content: center;
    }
}

@media screen and (min-width: 600px) and (max-width: 768px) {
    .wp-container-core-group-layout-6 .ssa-upcoming-appointments .appointment-card .action-bar{
        display:block;
        justify-content: none;
    }
    
    .wp-container-core-columns-layout-1 .ssa-upcoming-appointments .appointment-card .action-bar{
        display:block;
        justify-content: none;
    }
    .wp-container-core-columns-layout-2 .ssa-upcoming-appointments .appointment-card .action-bar{
        display:block;
        justify-content: none;
    }
  }iframe.ssa_booking_iframe {
	border: 0 none;
	height: 600px;
	max-height:  none !important; /* Stop responsive iframe scripts from setting an aspect ratio */
	min-width: 100%;
	width: 1px;
}

.ssa-admin-warning {
	background-color: #fff9c4;
	border-left: 4px solid #fdd835;
	color: #c6a700; 
	margin: 0;
	padding: 16px;
}