body, html {width: 100%; height: 100%; padding: 0; margin: 0; font-family: 'Lato', sans-serif; font-weight: 400; font-size: 17px; color: #373737; -webkit-text-size-adjust: 100%;}
body {overflow-x: hidden;}
a {text-decoration: none;}
.clear {clear: both;}
input,textarea,button {outline:none;}
a img {border: none;}
form {padding: 0; margin: 0;}
img {max-width: 100%; height: auto;}
#system-message {
  	display: none !important;
	} 

.content {
    margin: 0 auto;
    text-align: left;
    width: 100%;
    max-width: 1300px;
    padding: 0 15px;
    box-sizing: border-box;
	}

/*Universal Elements*/

.underline {
	display: block;
    width: 75%;
    height: 1.7px;
    background: #fff;
    border: 0.2px solid black;
    border-radius: 123%;
    margin: 0 auto;
	}	

.underline-b {
	display: block;
	width: 100%;
	height: 2px;
	background: #000;
	border: 1px solid white;
	border-radius: 100%;
	}

/*--------------------*/

.table {
    display: table;
    vertical-align: middle;
	}

.table-row {
    display: table-row;
	}

.table-cell {
    display: table-cell;
    vertical-align: middle;
	}

.activeFeedbackField {
    display: inline-block;
    position: relative;
    width:0;
    overflow:hidden;
    }

.activeFeedbackField input{
    position:absolute;
    left:10px;
    }

.activeFeedbackDescription {
    padding-top: 5px;
    margin: 0;
    }

/*Navbar*/
nav {
	position: relative;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9000;
    background: #f8f8f8;
    transition: all 0.3s;
	}

#homepage nav {
	position: absolute;
	}

#homepage nav.slide {
	position: relative;
	display: none;
	}

nav.slide {
	position: fixed;
	display: none;
	}

.inner-nav.slide.fixed {
  	display: none;
	}

nav.slide.fixed , .inner-nav.slide.fixed {
	position: fixed !important;
  	display: block;
	}

nav.slide.fixed, .inner-nav.slide.fixed .content {
	text-align: center;
	}

nav.slide.fixed, .inner-nav.slide.fixed .content .inner-logo {
    display: inline-block;
    vertical-align: middle;
	margin-right: 7%;
	}

nav.slide.fixed, .inner-nav.slide.fixed .content .topmenu {
    display: inline-block;
    vertical-align: middle;
	}

nav .content {
    max-width: 3000px;
    padding: 0;
	}

.inner-logo {
	padding: 5px;
    display: block;
    margin: 0 auto;
	max-width: 400px;
	}

.inner-logo a {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	}

.inner-logo a img {
	width: unset;
	}

.logo-text-wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	flex-direction: column;
	}

.sup-logo {
	color: #48575e;
    font-weight: 600;
    font-size: 30px;
	}

.sub-logo {
	color: #48575e;
	font-weight: 600;
	font-size: 20px;
	}

/*Logo slide down*/

nav.slide.fixed .inner-logo {
	margin-top: 5px;
	max-width: 470px;
	}

nav.slide.fixed, .inner-nav.slide.fixed .content .inner-logo a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: unset;
    gap: 10px;
	}

nav.slide.fixed .logo-text-wrap {
	align-items: start;
	text-align: left;
	}

/*-----------------------*/

.topmenu {
	margin: 0;
    padding: 20px 0;
	}

.topmenu ul {
    padding: 0;
    margin: 0;
    display: flex;
	justify-content: center;
	}

.topmenu ul li {
    list-style: none;
    padding: 0 15px;
    position: relative;
    border-left: 1px solid #48575e;
	}

.topmenu ul li:first-child {
    border-left: none;
	}

.topmenu ul li.parent:after {
    content: '';
    position: absolute;
    top: 10px;
    right: 0;
    width: 0;
    height: 0;
    margin: 0 2px;
    vertical-align: middle;
    border-top: 4px solid;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
	}

.topmenu ul li a , span.nav-header , span.separator {
    text-decoration: none;
    font-size: 18px;
    color: #48575e;
    transition: all 0.3s;
    white-space: nowrap;
	text-transform: uppercase;
	}

.topmenu ul li.active ul li a {
    color: #232323;
	display: block;
	width: 100%;
	}

.topmenu ul li a:hover, .topmenu ul li.active a {
	color: #000000;
	}

.topmenu ul li.active ul li a:hover , .topmenu ul li ul li.active a {
	color: #48575e;
	}

.topmenu ul li ul {
    position: absolute;
    top: 100%;
    left: 0;
    width: 200px;
    display: block;
    background: #f8f8f8;
    max-height: 0;
    overflow-y: hidden;
    transition: all 0.2s;
	box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
	}

nav.fixed .topmenu ul li ul {
    background: #fff;
	}

.topmenu ul li:hover ul {
    padding-top: 10px;
    max-height: 3000px;
    overflow-y: auto;
	}

.topmenu ul li ul li {
    display: block;
    padding: 10px 15px;
	}

.topmenu ul li ul li:last-child {
    border-bottom: 5px #48575e solid;
	}

/*Submenu*/
.submenu {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    background: #ffe491;
    padding: 5px 15px;
    border-top: ridge 3px;
    gap: 3%;
	}

/*Top Socials*/
.top-socials {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 5px;
	transition: 0.3s;
	}

nav .top-social {
	transition: 0.3s;
	}

nav .top-social:hover {
	transform: scale(1.1);
	}

/*Top Buttons*/
.top-buttons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
	}

.top-button {
	color: #fff !important;
    font-size: 18px;
    font-weight: 600;
    background: #0598a3;
    border: 2px solid #0598a3;
    border-radius: 10px;
    padding: 5px 10px;
    transition: 0.3s;
    text-transform: uppercase;
	}

.top-button:hover {
	color: #0598a3 !important;
	background: transparent;
	border: 2px solid #0598a3;
	}

/*Top Phone*/
.top-phone {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
	}

.tp-position {
    color: #48575e;
    font-size: 22px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
	}

.tp-position img {
	transition: 0.3s;
	}

.tp-position:hover img {
	transform: scale(1.3);
	}

.top-phone a {
	color: #48575e;
	font-size: 22px;
	}

/*Hamburger*/
.hamburger.hamburger--slider {
	display: none;
	}

/* Slider block*/
.slider-block {
    text-align: center;
    position: relative;
	}

.slider-block .content {
    text-align: center;
	}

.mobile-slide {
    display: none;
	}

.nivo-caption {
    background: rgba(0,0,0,0.7);
    padding: 0;
    opacity: 1;
	}

.theme-pure .nivoSlider {
    margin-bottom: 0;
	}

.maintext-block-serv-wrapper {
    position: absolute;
    top: 50%;
    left: 10%;
    width: auto;
    z-index: 11;
    transform: translate(-10%, -50%) !important;
	}

.maintext-block-serv-wrap {
    display: flex;
    align-items: flex-start;
    gap: 30px;
	}

.maintext-block-serv {
    display: inline-block;
    padding: 15px;
    background: rgb(249 249 249 / 80%);
    float: left;
    text-align: left;
	}

.maintext-block-serv h2 {
	font-size: 36px;
    color: #0598a3;
    font-weight: 400;
    font-family: inherit;
    margin: 0px 0 10px 0;
    border-bottom: 2px solid gray;
    text-transform: uppercase;
	}

.maintext-block-serv ul {
	padding: 0;
    display: inline-block;
    vertical-align: top;
    margin: 10px 25px 10px 0;
	}

.maintext-block-serv ul:last-child {
	/* margin: 10px 0px 10px 0; */
	margin: 0;
	}

.maintext-block-serv ul li {
    display: block;
    list-style: none;
    padding: 5px 0 5px 20px;
    position: relative;
    font-size: 22px;
	}

.maintext-block-serv ul li:before {
    content: '';
    position: absolute;
    left: 0;
    top: 14px;
    width: 8px;
    height: 8px;
    background: rgb(249 249 249 / 80%);
    border: 2px solid #151515;
	}

.maintext-block-serv ul li a {
    font-size: 22px;
    color: #0598a3;
    font-weight: 500;
    text-decoration: none;
	}

.maintext-block-serv ul li a:hover {
    text-decoration: underline;
	}

.slider-tagline {
    display: block;
    /* position: absolute;
    bottom: 0; */
    background: #f9f9f9;
    padding: 25px;
    font-size: 33px;
    width: 100%;
    color: #0598a3;
	text-align: center;
	box-sizing: border-box;
	}

.slider-tagline p {
	padding: 0;
	margin: 0;
	}

/* Services block*/
.services-block {
    background: url(../images/services-background.jpg) no-repeat center;
	background-size: cover;
    height: 840px;
	position: relative;
	}

img.services-background-mobile {
    display: none;
	}

.front-services {
	background: #000000bf;
	box-sizing: border-box;
	width: 100%;
	position: absolute;
	bottom: 0;
	display: block;
	}	

.fs-cont {
	display: flex;
	justify-content: space-around;
	align-items: center;
	width: 100%;
    padding: 15px;
	flex-wrap: wrap;
	gap: 20px;
    box-sizing: border-box;
	max-width: 1400px;
	margin: 0 auto;
	}

.front-service {
	max-width: 100px;
	position: relative;
	cursor: pointer;
	}

.front-service img {
    height: 100px;
	width: auto;
	}

.front-service:hover img {
	visibility: hidden;
	}

.front-service p {
	width: 100px;
    color: #FFF;
    font-size: 18px;
    font-weight: 900;
    text-align: center;
    font-family: 'Lato' , sans-serif;
    position: absolute;
	visibility: hidden;
	top: 50%;
    left: 50%;
    margin: 0;
    transform: translate(-50%, -50%);

	}

.front-service:hover p {
	visibility: visible;
	}

/*Doctors block*/
.doctors-block {
	background-color: #eeeee7;
    padding: 50px 0;
	}

.doctors-block .content {
    text-align: center;
	}

.doctors-box {
	margin: 0 auto;
	padding: 25px;
	}

.doctors-box .underline-b {
	margin-top: 15px;
	}

.doctors-box h2 {
    color: #151515;
    font-size: 44px;
    text-align: center;
    margin: 0;
    font-weight: 400;
	}

.doctors-box .doctor {
    display: inline-block;
    padding: 30px;
    box-sizing: border-box;
    max-width: 45%;
    transition: all 0.3s;
	}

.doctors-box .doctor:hover {
    transform: scale(1.02);
	}

.doc-info-wrap {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 40px;
	}


.doctors-box .doctor img {
    max-width: 100%;
    display: block;
    margin-bottom: 15px;
	height: auto;
	}

.doc-b-info {
	text-align: left;
	padding-top: 10px;
    line-height: 1.5;
	}

.doc-b-info p a {
	color: #0598a3;
	font-weight: 700;
	}

/*Locations block*/
.locations-block {
	display: flex;
    justify-content: space-evenly;
    align-items: center;
    flex-wrap: wrap;
	background-image: linear-gradient(to bottom, rgb(5 152 163 / 80%), rgb(5 152 163 / 80%)), url(../images/location-bg.jpg) !important;
    background-size: cover;
    padding: 50px 0;
	gap: 25px;
	}

.loc-box {
    display: flex;
    align-items: stretch;
	}

.loc-info {
    background: rgb(5 152 163 / 90%);
	box-sizing: border-box;
	white-space: nowrap;
	width: 350px;
	}

.loc-box h2 {
    font-weight: 300;
    color: #ffffff;
    font-size: 44px;
    margin: 15px 0 15px 0;
    text-align: center;
	}

.loc-box .address {
    font-size: 20px;
    margin: 10px 0 30px 0;
    color: #ffffff;
    text-align: center;
	}

.loc-box .phone {
    font-size: 26px;
    font-weight: 500;
    text-align: center;
    color: rgb(255, 255, 255);
    margin-top: 20px;
	}

.loc-box .shedule {
    font-size: 20px;
    color: #ffffff;
    font-weight: 500;
    text-align: left;
    max-width: 235px;
    margin: 0 auto 0px;
	}

.loc-box .shedule .table-cell {width: 120px;}

.loc-box .day {
    padding-right: 10px;
	}

.loc-box .btn {
    text-align: center;
    margin: 30px auto 0 auto;
    padding: 0;
    border-radius: 10px;
	}
	
.loc-info .btn {
	max-width: 230px;
	}

.loc-btn-wrap {
    display: block;
    text-align: center;
    padding: 25px;
	}

.loc-btn {
	color: #000;
	text-transform: uppercase;
	background: #fff;
	border: 2px solid #fff;
	border-radius: 6px;
	font-size: 16px;
	font-weight: 600;
	padding: 7px 42px;
	}

.loc-btn:hover {
	background: #000;
	border: 2px solid #fff;
	color: #fff;
	}

/*Blogs block*/
.blogs-block {
    padding: 60px 0 70px;
    text-align: center;
    background: #eeeee7;
    border-top: ridge 3px;
	}

.blogs-block .content {
    text-align: center;
    max-width: 1400px;
	}

.blogs-block .moduletable {
    text-align: center;
	}

.blogs-block h2 {
    font-size: 44px;
    color: #151515;
    font-weight: 400;
    text-align: center;
    display: block;
    margin: 0 0 20px;
    padding: 15px 0 20px 0;
    position: relative;
	}

.blogs-block h2::after {
    content: '';
    height: 2px;
    width: 75%;
    max-width: 900px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    background: #151515;
	}

.blogs-list ul {
    display: inline-block;
    padding: 0;
    margin: 20px auto 0;
    text-align: left;
	}

.blogs-list ul li {
    list-style: none;
    display: block;
    padding: 8px 0 8px 22px;
    position: relative;
	}

.blogs-list ul li::before {
    content: '\2022';
    position: absolute;
    left: 0;
    top: 6px;
    color: #0598a3;
    font-size: 24px;
    line-height: 1;
	}

.blogs-list ul li a {
    color: #373737;
    text-decoration: none;
    font-size: 20px;
    transition: all 0.3s;
	}

.blogs-list ul li a:hover {
    text-decoration: underline;
    color: #0598a3;
	}

.blogs-block .btn {
    display: inline-block;
    margin-top: 30px;
    padding: 0;
    background: #0598a3;
    border: 2px solid #0598a3;
    border-radius: 10px;
    font-size: 18px;
    font-weight: 600;
    text-transform: uppercase;
    white-space: nowrap;
    transition: all 0.3s;
    box-sizing: border-box;
	}

.blogs-block .btn a {
    display: block;
    padding: 10px 42px;
    color: #fff;
    text-decoration: none;
    transition: color 0.3s;
	}

.blogs-block .btn:hover {
    background: transparent;
	}

.blogs-block .btn:hover a {
    color: #0598a3;
	}

/*Footer*/
footer {
    background: #eeeee7;
	border-top: ridge 3px;
	}

footer .content {
	text-align: center;
	}

.logo-footer {
	display: inline-block;
	vertical-align: middle;
	padding: 30px;
	max-width: 430px;
	box-sizing: border-box;
	}

.logo-footer p {
    margin: 15px auto 0;
    font-weight: 700;
	}

.quick-links-block {
	display: inline-block;
	vertical-align: middle;
	padding: 30px;
	text-align: left;
	}

footer h4 {
    font-size: 18px;
    font-weight: 400;
    color: #141b14;
    margin-top: 0;
    padding-top: 0;
    text-transform: uppercase;
	}

.quick-links-block ul {
	padding: 0;
	margin: 0;
	}

.quick-links-block ul li {
	display: block;
	list-style: none;
	padding: 2px 0;
	color: #48575e;
	font-size: 18px;
	}

.quick-links-block ul li a , .quick-links-block ul li.a {
    color: #48575e;
    font-size: 18px;
    line-height: 25px;
    text-decoration: none;
    text-transform: uppercase;
	}

.quick-links-block ul li a:hover {
	text-decoration: underline;
	}

.quick-links-block ul li ul {
	margin: 5px 0 0 5px;
	}

.bottom-loc-block {
	display: inline-block;
	vertical-align: top;
	padding: 30px 0 30px 30px;
	text-align: left;
	color: #48575e;
	font-size: 18px;
	line-height: 25px;
	}

.offices-block {
    display: flex;
    flex-direction: column;
	}
	
.office {
	margin-bottom: 10px;
	}

.office p {
	margin: 0;
	padding: 0;
	color: #151515;
	}

.office span {
    display: block;
	}

.copy-left, .copy-right {
	text-align: left;
	float: left;
	color: #6e6d6d;
	font-size: 14px;
	padding: 30px;
	}

.copy-left a, .copy-right a {
	color: #6e6d6d;
	text-decoration: none;
	}

.copy-left a:hover, .copy-right a:hover {
	text-decoration: underline;
	}

.copy-right {
	text-align: right;
	float: right;
	}

.scroll-to-top {
	position: fixed;
	bottom: 72px;
	left: 20px;
	z-index: 8999;
	opacity: 1;
	transition: all 0.3s;
	display: none;
    cursor: pointer;
	}

.scroll-to-top.active {
	display: block;
	}

.scroll-to-top:hover {
	opacity: 0.8;
	}

.rabutton {
	max-width: 350px;
	position: fixed;
	right: 20px;
	bottom: 80px;
	z-index: 99;
	}

.rabutton .wrap {
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	}
		
.rabutton .buttonrs {
	min-width: 255px;
	min-height: 45px;
	font-size: 18px;
	font-family: 'Lato',sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.3px;
	color: #fff;
	background: #b71c1c;
	border: none;
	border-radius: 3px;
	box-shadow: 12px 12px 24px rgb(25 54 78 / 22%);
	transition: all 0.3s ease-in-out 0s;
	cursor: pointer;
	outline: none;
	position: relative;
	padding: 10px 20px;
	}
	
.rabutton .buttonrs::before {
	content: '';
	border-radius: 13px;
	min-width: calc(250px + 28px);
	min-height: calc(40px + 4px);
	border: 4px solid #bf0000;
	box-shadow: 0 0 60px rgb(195 195 195 / 64%);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	opacity: 0;
	transition: all .3s ease-in-out 0s;
	}
		
.rabutton .buttonrs:hover, .buttonrs:focus {
	color: #da0000;
	transform: translateY(-6px);
	background: #fff;
	}
		
.rabutton .buttonrs:hover::before, .rabutton .buttonrs:focus::before {
	opacity: 1;
	}
	
.rabutton .buttonrs::after {
	content: '';
	width: 30px; height: 30px;
	border-radius: 100%;
	border: 6px solid #cccccc;
	position: absolute;
	z-index: -1;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	animation: ring 1.5s infinite;
	}
		
.rabutton .buttonsr:hover::after, .buttonrs:focus::after {
	animation: none;
	display: none;
	}
		
@keyframes ring {
	0% {
		width: 30px;
		height: 30px;
		opacity: 1;
	}
	100% {
		width: 200px;
		height: 200px;
		opacity: 0;
	}
	}

/*Joomla corrections*/
.homepage .content.h {
	display: none;
	}

/*Inner pages*/
tr.rsform-block.rsform-block-ref {
    vertical-align: text-bottom;
    }

.inner-pages {
	padding-bottom: 30px;
	}

.inner-pages a {
    color: #0598a3;
	}

.inner-pages img {
	max-width: 100% !important;
	height: auto !important;
	}

.inner-pages .page-header h2 {
	font-size: 44px;
    color: #48575e;
	text-align: center;
	font-weight: 400;
	position: relative;
	margin: 0 0 20px 0;
	padding: 15px 0 20px 0;
	}

.inner-pages .page-header h2::after {
	content: '';
	height: 5px;
	width: 100px;
	position: absolute;
	bottom: 0;
	left: 50%;
	margin: 0 0 0 -50px;
	background: #0598a3;
	}

.inner-pages .doctor {
	width: 223px;
	float: right;
	margin: 0px 0 10px 10px;
	text-align: center;
	padding: 3px;
	color: #586064;
	font-weight: 700;
	}

.inner-pages .doctor img {
	width: 100%;
	margin-bottom: 10px;
	height: auto;
	}

/*Rate US*/

.inner-wrap {
    padding: 50px 2% 100px;
    text-align: center;
    }

.inner-wrap h2 {
    font-size: 44px;
    margin: 0 auto;
    font-weight: 500;
    }

.inner-wrap h5 {
    margin: 25px auto;
    }

.google-review {
    margin-top: 60px;
    }


.google-review img:hover {
    transform: scale(1.02);
    transition: all 300ms ease;
    }

/*Rate Us --- END*/

/* How Are We Doing? */
    
.thumbs-wrap {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    flex-direction: row;
    flex-wrap: wrap;
    padding: 0 2% 100px;
    }

.thumbs-wrap .item {
    margin: 0 20px;
    max-width: 300px;
    }

.thumbs-wrap .item:hover {
    transform: scale(1.02);
    transition: all 300ms ease;
    }

.thumbs-wrap .item img {
    width: 100%;
	height: auto;
    }

.thumbs-wrap .item span {
    font-size: 23px;
    margin-bottom: 20px;
    display: block;
    font-weight: 600;
    }

/* How Are We Doing? --- END */

/*K2*/
div.latestItemsCategory {
	background: transparent;
	border: none;
	border-radius: 4px;
	margin: 0;
	padding: 0;
	}

div.latestItemsCategory h2 {
	font-size: 44px;
	color: #48575e;
	text-align: center;
	font-weight: 400;
	position: relative;
	margin: 0 0 20px 0;
	padding: 15px 0 20px 0;
	}

div.latestItemsCategory h2 a {
	color: #586064;
	}

div.latestItemsCategory h2::after {
	content: '';
	height: 5px;
	width: 100px;
	position: absolute;
	bottom: 0;
	left: 50%;
	margin: 0 0 0 -50px;
	background: #0598a3;
	}

h2.latestItemTitle a {
	color: #48575e;
	}

#k2Container.latestView {
	padding-top: 0;
	}

#k2Container {
	padding-top: 40px;
	}

div.itemToolbar {
	display: none;
	}

div.k2LatestCommentsBlock ul, div.k2TopCommentersBlock ul, div.k2ItemsBlock ul, div.k2LoginBlock ul, div.k2UserBlock ul.k2UserBlockActions, div.k2UserBlock ul.k2UserBlockRenderedMenu, div.k2ArchivesBlock ul, div.k2AuthorsListBlock ul, div.k2CategoriesListBlock ul, div.k2UsersBlock ul {
	padding: 10px 20px;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 30px;
	}

div.k2ArchivesBlock ul {
  	flex-direction: column;
  	gap: 0px;
  	align-items: flex-start;
	}

div.k2LatestCommentsBlock ul li, div.k2TopCommentersBlock ul li, div.k2ItemsBlock ul li, div.k2LoginBlock ul li, div.k2ArchivesBlock ul li, div.k2AuthorsListBlock ul li, div.k2CategoriesListBlock ul li, div.k2UsersBlock ul li {
    margin: 0;
    padding: 5px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    flex-direction: row-reverse;
	}

div.k2ItemsBlock ul li a.moduleItemTitle {
    color: #48575e;
    font-style: italic;
    font-family: revert;
	}

div.k2ItemsBlock ul li div.moduleItemIntrotext {
	padding: 4px 0;
    display: flex;
    gap: 15px;
    justify-content: space-between;
    width: 400px;
    color: #868686;
	}

div.k2ItemsBlock ul li div.moduleItemIntrotext a.moduleItemImage img {
	float: right;
	margin: 2px 0 4px 4px;
	padding: 0;
	}

.clr {
	clear: both;
	height: 0;
	line-height: 0;
	display: none;
	float: none;
	padding: 0;
	margin: 0;
	border: none;
	}

.clearList {
	display: none !important;
	}

#second {
	margin: 0;
	width: 100%;
	float: left;
	margin-top: 10px;
	}

#one {
	float: left;
	width: 53%;
	padding-right: 2%;
	}

#two {
	width: 45%;
	float: right;
	margin-bottom: 20px;
	}

#address {
	float: left;
	width: 45%;
	}

#week {
	float: left;
	width: 105px;
	}

#hours {
	float: left;
	width: 200px;
	}

#offices {
	margin: 0;
	width: 100%;
	float: left;
	}

#offices.images {
	margin-top: 23px;
	text-align: center;
	}

#offices.images img {
	/* margin: 5px; */
	max-width: 100;
	height: auto;
	}

#map {
	margin: 20px 0;
	float: left;
	width: 100%;
	}

#osmap.osmap-sitemap .even {
	padding: 2px 0;
	}

.office-images {
    float: right;
    margin: 0 0 15px 15px;
    max-width: 350px;
    }

body.rsform h1 , body.sitemap h1 {
	font-size: 44px;
	color: #48575e;
	text-align: center;
	font-weight: 400;
	position: relative;
	margin: 0 0 20px 0;
	padding: 15px 0 20px 0;
	}

body.rsform h1::after , body.sitemap h1::after {
	content: '';
	height: 5px;
	width: 100px;
	position: absolute;
	bottom: 0;
	left: 50%;
	margin: 0 0 0 -50px;
	background: #0598a3;
	}

.formTableLayout {
	margin: 0 auto;
	}

.formTableLayout input#Send, .formTableLayout button#submit {
    background: #0598a3;
	color: #fff;
    border: 2px solid #0598a3;
    padding: 5px 10px;
    border-radius: 10px;
	font-size: 18px;
	font-weight: 600;
	font-family: 'Lato', sans-serif;
	border: 2px solid transparent;
	text-transform: uppercase;
    transition: 0.3s;
	}

.formTableLayout input#Send:hover, .formTableLayout button#submit:hover {
	background: #fff;
	color: #0598a3;
	border-color: #fff;
	border: 2px solid;
	cursor: pointer;
	}

.formTableLayout tr.rsform-block>td {
	padding: 5px;
	font-weight: 600;
	}

input, textarea, button , select {
	outline: none;
	padding: 4px;
	}

/*Joomla content*/
body#homepage .content.h {display: none;}

.content.full {
	flex-wrap: wrap;
    display: flex;
	}

.divContent {
	flex: 0 0 80%;
	/*max-width: 1000px;
	float: left;*/
	}

.divRight {
	flex: 0 0 20%;
	/*max-width: 300px;
	float: right;*/
	}

.divRight .moduletable {
	margin-top: 25px;
	padding-left: 40px;
	}

.divRight .moduletable ul {
	padding: 0px 4px !important;
	}

.divRight .moduletable ul li {
	padding: 5px 0 5px 3px !important;
	}

body#bfa #k2Container {
    padding-top: 0;
	}

.latestItemsCategory {
	float: none;
    width: 100%;
	}

div.genericItemReadMore {
    display: none !important;
	}

div.k2ArchivesBlock ul li a {
	color: #074075;
	}

@media only screen and (max-width: 1650px) {
footer {
	padding-bottom: 140px;
	}
}

@media only screen and (max-width: 1400px) {
/*Slider overlay*/
.maintext-block-serv h2 {
	font-size: 25px;
	}
	
.maintext-block-serv ul li a {
	font-size: 20px;
	}

.slider-tagline {
	padding: 15px;
	font-size: 25px;
	}
}

@media only screen and (max-width: 1255px) {
/*Header*/
nav.slide.fixed, .inner-nav.slide.fixed .content .inner-logo {
    margin-right: 0%;
}

/*Submenu*/
.top-phone {
    width: 100%;
    order: 1;
	}

.top-socials {
	order: 2;
	}

.top-buttons {
	order: 2;
	}
}

@media only screen and (max-width: 1215px) {
/*Services Block*/
.services-block {
    height: 600px;
	}

.fssvg {
    width: 80px;
	}

.front-service p {
	width: 80px;
	font-size: 15px;
	}

/*Doctors Block*/
.doc-info-wrap {
    flex-wrap: wrap;
	}

.doctors-box .doctor {
	padding: 30px 0 0 0;
	}

.doc-b-info {
	max-width: 100%;
	padding-top: 0px;
	}

/*Office Page*/	
#address {
	width: 100%;
	}

#week {
	margin: 20px 0 0;
	}

#hours {
	float: left;
	margin: 20px 0 0;
	}

#map iframe {
	height: 575px;
	}
}

@media only screen and (max-width: 1170px) {
.sup-logo {
	font-size: 23px;
	}

.sub-logo {
	font-size: 16px;
	}

nav.slide.fixed .inner-logo {
	margin-top: 5px;
	max-width: 380px;
	}


nav.slide.fixed .topmenu ul li {
		padding: 0 10px;
		}

nav.slide.fixed .topmenu ul li a, span.nav-header, span.separator {
	font-size: 16px;
	}
	
}

@media only screen and (max-width: 1080px) {
/*Footer */
.logo-footer {
	display: block;
	margin: 0 auto;
	}
  
/*sidebar*/
	
.divContent {
	flex: 0 0 70%;
	}
	
.divRight {
    flex: 0 0 30%;
	}
  
/*Rate Us*/

.inner-wrap {
    padding: 30px 2% 60px;
    }

.inner-wrap h2 {
    font-size: 32px;
    }

.google-review img {
    width: 300px !important;
	height: auto !important;
    }

/*Rate Us -- END*/
  
}

@media only screen and (max-width: 1000px) {
/*Header*/
.inner-logo {
    max-width: 300px;
	}

.topmenu ul li {
    padding: 0 10px;
	}

.topmenu ul li a, span.nav-header, span.separator {
    font-size: 16px;
	}

/*Submenu*/  
.tp-position {
    font-size: 18px;
	}

.top-phone a {
    font-size: 18px;
	}

.top-button {
	font-size: 16px;
	}

/*Slider Overlay*/
.slider-tagline {
	padding: 15px;
	font-size: 18px;
	}

.fs-cont {
    max-width: 600px;
	}
}

@media only screen and (max-width: 830px) {
.maintext-block h3 {
	font-size: 14px;
	}

.copy-left, .copy-right {
	text-align: center;
	float: left;
	font-size: 14px;
	padding: 0px;
	width: 100%;
	}
	
.copy-right p {
	margin-top: 0;
	}

#map iframe {
	height: 547px;
	}
}

@media only screen and (max-width: 800px) {
/*Navbar*/
.hamburger {
	display: inline-block;
	position: relative;
	z-index: 9002;
	margin: 17px;
	}

.topmenu {
	position: fixed;
	z-index: 9001;
	top: -150%;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	background: #fff;
	transition: all 0.3s;
	}

.topmenu.active {
	top: 0;
	}

.topmenu ul {
	display: block;
	padding: 20px 15px 15px 15px;
	}

.topmenu ul li {
	display: block;
	padding: 5px;
	border-left: none;
	}

.topmenu ul li.parent:after {
	display: none;
	}

.topmenu ul li a , span.nav-header , span.separator {
	font-size: 15px;
	}

.topmenu ul li ul {
	position: relative;
	top: 0;
	left: 0;
	width: auto;
	display: block;
	background: transparent;
	max-height: 3000px;
	overflow-y: visible;
	padding: 5px 0 0 0;
	box-shadow: unset;
	}

.topmenu ul li ul li:last-child {
	border-bottom: unset;
	}

.topmenu ul li ul li {
	padding: 5px 10px;
	}

nav.fixed .topmenu ul li ul {
	background: transparent;
	}

.topmenu ul li:hover ul {
	overflow-y: visible;
	padding: 5px 0 0 0;
	}

.hamburger.hamburger--slider {
	display: block;
    position: absolute;
	top: 6px;
	right: 25px;
	}

nav.slide.fixed .hamburger.hamburger--slider {
	top: 0px;
	}
	
.hamburger-box {
	margin-top: 15px;
	}

table.pe td {
	display: block;
	}

table.pe ul {
	margin: 0;
	}

/*Slider Overlay*/
.slider-block {
    background: #c9c9bd;
	padding-bottom: 40px;
	}

.maintext-block-serv-wrapper {
    top: auto;
	left: auto;
	transform: none !important;
    position: relative;
    margin: 0 auto;
    max-width: 465px;
    padding: 40px;
	}

.maintext-block-serv-wrap {
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
	}

/* .slider-tagline {
	display: none;
	} */
  
/* How Are We Doing? */
.thumbs-wrap .item {
    max-width: 35%;
    margin: 0 10px 20px 10px;
    }

.thumbs-wrap .item span {
    font-size: 18px;
    }

/* How Are We Doing? --- END */
  
}

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

/*Blogs block*/
.blogs-block {
    padding: 40px 0 50px;
	}

.blogs-block h2 {
    font-size: 28px;
	}

.blogs-block h2::after {
    width: 90%;
	}

.blogs-list ul li a {
    font-size: 16px;
	}

.blogs-block .btn {
    font-size: 15px;
	}

.blogs-block .btn a {
    padding: 10px 30px;
	}

/*Footer*/
footer {
	padding-bottom: 80px;
	}

.copy-left, .copy-right {
	float: left;
	font-size: 12px;
    }

footer h4 {
	font-size: 14px;
	}

.quick-links-block ul li ul {
	margin: 3px 0 0 5px;
	}

.quick-links-block ul li , .quick-links-block ul li a , .quick-links-block ul li.a {
	font-size: 14px;
	line-height: 18px;
	}

.bottom-loc-block {
	font-size: 14px;
	line-height: 18px;
	}

.scroll-to-top {
	width: 45px;
	left: 15px;
	bottom: 15px;
	}

.rabutton {
	max-width: 250px;
	bottom: 15px;
	}

.rabutton .buttonrs {
	min-width: 250px;
	font-size: 15px;
	}

.rabutton .buttonrs::before {
	min-width: calc(234px + 16px);
	min-height: calc(36px + 9px);
	}

/*Inner pages*/
.inner-pages .page-header h2 , body.rsform h1 , body.sitemap h1 , .latestItemsCategory h2 {
	font-size: 28px;
	}

.office-images {
    float: none;
    margin: 15px auto;
    max-width: 100%;
    text-align: center;
    }
  
/*sidebar*/
	
.divContent {
	flex: 0 0 70%;
	}
	
.divRight {
    flex: 0 0 30%;
	}
}

@media only screen and (max-width: 760px) {
/*Services Block*/
.services-block {
    background: url(../images/services-background-mobile.jpg) no-repeat center;
    background-size: cover;
    position: relative;
	}

/*Office Inner Page*/
#one {
	width: 100%;
	padding-right: 0px;
	}

#two {
	width: 100%;
	}

#map iframe {
	height: 450px;
	}
}

@media only screen and (max-width: 730px) {
img.pe , img.se , img.np {
	float: none !important;
	margin: 0 0 10px 0 !important;
	max-width: 100%;
	height: auto;
	}

tbody#rsform_3_page_0 td , tbody#rsform_4_page_0 td {
	display: block;
	}

textarea#Message , tbody#rsform_4_page_0 textarea {
	width: 90%;
	display: block;
	}
}

@media only screen and (max-width: 720px) {
/*Submenu*/
.top-phone {
    flex-wrap: wrap;
	gap: 8px;
	}

nav.slide.fixed, .inner-nav.slide.fixed .submenu .top-socials {
	display: none;
	}

nav.slide.fixed, .inner-nav.slide.fixed .submenu .top-phone {
	display: none;
	}

/*Services Block*/
.services-block {
    background-repeat: no-repeat;
    background-position: unsey;
  	background: #000;
    background-size: contain;
    background-image: none;
    height: unset;
	}
  
img.services-background-mobile {
    display: block;
    max-width: 100%;
    height: auto;
	}
}

@media only screen and (max-width: 590px) {
/*sidebar*/
	
.divContent , .divRight {
	flex: 0 0 100%;
	}
	
.divRight .moduletable {
    padding-left: 5px;
	margin-bottom: 60px;
	}
}

@media only screen and (max-width: 565px) {
/*Navigation*/
.inner-logo a img {
	width: 50px;
	height: auto;
	}

.inner-logo {
	max-width: 265px;
	margin: 0;
	}

nav.slide.fixed .inner-logo {
    max-width: 320px;
    margin: 5px 0px;
	}

nav.slide.fixed, .inner-nav.slide.fixed .content .inner-logo {
    margin: 0 auto 0 0;
    display: block;
	}	

.sup-logo {
	font-size: 20px;
	}

nav.slide.fixed .hamburger.hamburger--slider .hamburger-box {
    margin-top: 0px;
	}
}

@media only screen and (max-width: 550px) {
/*Slider Overlay*/
/* .maintext-block-serv-wrapper {
    max-width: 330px;
	} */

.maintext-block-serv-wrap {
    max-width: 350px;
    margin: 0 auto;
	}

.maintext-block-serv {
    width: 100%;
	}

.maintext-block-serv h2 {
    font-size: 20px;
	}

.maintext-block-serv ul li a {
    font-size: 17px;
	}

.maintext-block-serv ul {
    padding: 0;
    display: block;
    margin: 0;
	}

.maintext-block-serv ul:last-child {
	margin: 0;
	}

/*Services Block*/

.front-services {
    background: #000;
  	position: relative;
  	}
  
.front-service {
	max-width: 63px;
	position: relative;
	cursor: pointer;
	}

.front-service p {
	width: 90px;
	font-size: 14px;
	}

.fssvg {
	width: 63px;
	}
  
tbody#rsform_5_page_0 td {
	display: block;
	}

}

@media only screen and (max-width: 500px) {
/*Slider Overlay*/
.maintext-block-serv-wrapper {
    max-width: 280px;
    margin: 0 auto;
	}

.maintext-block-serv h2 {
	font-size: 16px;
	}

.maintext-block-serv ul li a {
	font-size: 15px;
	}

/*Footer*/
.logo-footer {
    max-width: 250px;
    padding: 20px;
	}	

/*Blog Block*/
div.k2ItemsBlock ul li div.moduleItemIntrotext {
    padding: 4px 0;
    display: flex;
    gap: 15px;
    justify-content: space-between;
    width: 100%;
    color: #868686;
	}

div.k2ItemsBlock ul li div.moduleItemIntrotext {
	padding: 4px 0;
	display: flex;
	gap: 15px;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 100%;
	color: #868686;
	}
}

@media only screen and (max-width: 470px) {
nav.slide.fixed, .inner-nav.slide.fixed .submenu {
    padding: 0px;
	}
}

@media only screen and (max-width: 420px) {
nav.slide.fixed .sup-logo {
	font-size: 15px;
	}

nav.slide.fixed .inner-logo {
	max-width: 250px;
	margin: 5px 0px;
	}
}

@media only screen and (max-width: 380px) {
.maintext-block-serv-wrapper {
    padding: 40px 0 0;
    }
}

/* Get In Touch With Us - Office Page */
.second {
    margin-top: 30px;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    overflow: hidden;
    }

.office-title-bar {
    background: #0598a3;
    color: #fff;
    font-size: 28px;
    font-weight: 700;
    padding: 18px 30px;
    box-sizing: border-box;
    font-family: 'Lato', sans-serif;
    }

.office-layout {
    display: flex;
    gap: 30px;
    margin: 0;
    padding: 25px;
    flex-wrap: wrap;
    box-sizing: border-box;
    }

.office-layout .one {
    flex: 1 1 55%;
    float: none;
    width: auto;
    padding-right: 0;
    margin-bottom: 0;
    }

.office-layout .two {
    flex: 1 1 40%;
    float: none;
    width: auto;
    margin-bottom: 0;
    }

.office-info-grid {
    display: flex;
    gap: 80px;
    flex-wrap: wrap;
    margin-bottom: 30px;
    }

.office-hours-block {
    flex: 0 0 auto;
    min-width: 250px;
    }

.office-hours-block .week {
    float: left;
    width: 105px;
    margin-bottom: 20px;
    line-height: 1.8;
    }

.office-hours-block .hours {
    float: left;
    width: 120px;
    margin-bottom: 20px;
    line-height: 1.8;
    }

.contact-block {
    flex: 1 1 auto;
    min-width: 320px;
    }

.office-subtitle {
    color: #0598a3;
    font-size: 22px;
    font-weight: 600;
    margin: 0 0 18px;
    font-family: 'Lato', sans-serif;
    }

.contact-block > div {
    line-height: 1.6;
    }

.office-buttons {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    margin-top: 20px;
    }

.inner-pages a.office-btn,
a.office-btn {
    display: inline-block;
    padding: 12px 15px;
    border-radius: 8px;
    color: #fff;
    font-weight: 700;
    font-size: 16px;
    text-align: center;
    transition: all 0.3s;
    font-family: 'Lato', sans-serif;
    border: 2px solid transparent;
    box-sizing: border-box;
    text-decoration: none;
    flex: 1 1 0;
    min-width: 150px;
    white-space: nowrap;
    }

.inner-pages a.office-btn-red,
a.office-btn-red {
    background: #b61a22;
    border-color: #b61a22;
    color: #fff;
    }

.inner-pages a.office-btn-red:hover,
a.office-btn-red:hover {
    background: #fff;
    color: #b61a22;
    }

.inner-pages a.office-btn-primary,
a.office-btn-primary {
    background: #0598a3;
    border-color: #0598a3;
    color: #fff;
    }

.inner-pages a.office-btn-primary:hover,
a.office-btn-primary:hover {
    background: #fff;
    color: #0598a3;
    }

.inner-pages a.office-btn-orange,
a.office-btn-orange {
    background: #f0a030;
    border-color: #f0a030;
    color: #fff;
    }

.inner-pages a.office-btn-orange:hover,
a.office-btn-orange:hover {
    background: #fff;
    color: #f0a030;
    }

@media only screen and (max-width: 1350px) {
.office-layout {
    padding: 35px 45px;
    }

.office-info-grid {
    gap: 30px;
    flex-wrap: nowrap;
    }

.office-hours-block {
    flex: 0 0 auto;
    min-width: 225px;
    }

.contact-block {
    flex: 1 1 0;
    min-width: 0;
    }

.inner-pages a.office-btn,
a.office-btn {
    flex: 0 1 auto;
    min-width: 0;
    white-space: normal;
    padding: 12px 18px;
    }
}

@media only screen and (max-width: 900px) {
.office-layout {
    flex-direction: column;
    padding: 30px 35px;
    gap: 20px;
    align-items: center;
    }

.office-layout .one,
.office-layout .two {
    flex: 1 1 100%;
    min-width: 0;
    width: 100%;
    float: none;
    padding-right: 0;
    }

.office-layout .two .map,
.office-layout .two iframe {
    width: 100%;
    max-width: 100%;
    }

.office-info-grid {
    gap: 40px;
    justify-content: center;
    }

.office-hours-block,
.contact-block {
    flex: 0 0 auto;
    width: auto;
    min-width: 0;
    }

.office-buttons {
    justify-content: center;
    }

.office-title-bar {
    font-size: 22px;
    padding: 15px 20px;
    }
}

@media only screen and (max-width: 600px) {
.office-layout {
    padding: 25px 30px;
    }

.office-info-grid {
    flex-direction: column;
    gap: 20px;
    align-items: flex-start;
    width: max-content;
    max-width: 100%;
    margin: 0 auto;
    }

.office-hours-block,
.contact-block {
    min-width: 0;
    width: auto;
    }

.office-hours-block .offices {
    display: inline-block;
    float: none;
    width: auto;
    }

.office-hours-block .week {
    width: auto;
    padding-right: 15px;
    }

.office-hours-block .hours {
    width: auto;
    }

.office-buttons {
    flex-direction: column;
    gap: 10px;
    width: 100%;
    align-items: center;
    }

.inner-pages a.office-btn,
a.office-btn {
    width: 100%;
    max-width: 280px;
    }

.office-layout .two iframe {
    height: 300px;
    }
}
/* Get In Touch With Us - END */


/* ===================== FM custom styles (France Medical) ===================== */
/* Services page – Our Team picture carousel */
.fm-carousel{position:relative;width:350px;max-width:100%;float:right;margin:6px 0 20px 30px;aspect-ratio:840 / 584;border-radius:16px;overflow:hidden;box-shadow:0 14px 38px rgba(5,152,163,.28);}
.fm-carousel .fm-slide{position:absolute;top:0;left:0;width:100%;height:100%;margin:0;padding:0;opacity:0;animation:fmFade 24s infinite;}
.fm-carousel .fm-slide img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block;animation:fmZoomIn 24s infinite;}
.fm-carousel .fm-slide figcaption{position:absolute;left:0;right:0;bottom:0;padding:60px 24px 22px;color:#fff;font-weight:700;font-size:21px;letter-spacing:.4px;text-shadow:0 1px 4px rgba(0,0,0,.45);background:linear-gradient(to top, rgba(0,0,0,.78) 0%, rgba(0,0,0,.25) 55%, rgba(0,0,0,0) 100%);}
.fm-carousel .fm-slide:nth-child(1){animation-delay:0s;}
.fm-carousel .fm-slide:nth-child(2){animation-delay:6s;}
.fm-carousel .fm-slide:nth-child(3){animation-delay:12s;}
.fm-carousel .fm-slide:nth-child(4){animation-delay:18s;}
.fm-carousel .fm-slide:nth-child(2n) img{animation-name:fmZoomOut;}
@keyframes fmFade{0%{opacity:0;}1.5%{opacity:1;}23%{opacity:1;}26%{opacity:0;}100%{opacity:0;}}
@keyframes fmZoomIn{0%{transform:scale(1.001);}26%{transform:scale(1.06);}100%{transform:scale(1.06);}}
@keyframes fmZoomOut{0%{transform:scale(1.06);}26%{transform:scale(1.001);}100%{transform:scale(1.001);}}
.fm-carousel .fm-dots{position:absolute;left:0;right:0;bottom:16px;display:flex;justify-content:center;gap:10px;z-index:4;margin:0;padding:0;list-style:none;}
.fm-carousel .fm-dots i{display:block;width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.5);box-shadow:0 1px 3px rgba(0,0,0,.35);animation:fmDot 24s infinite;}
.fm-carousel .fm-dots i:nth-child(1){animation-delay:0s;}
.fm-carousel .fm-dots i:nth-child(2){animation-delay:6s;}
.fm-carousel .fm-dots i:nth-child(3){animation-delay:12s;}
.fm-carousel .fm-dots i:nth-child(4){animation-delay:18s;}
@keyframes fmDot{0%,23%{background:#ECBE33;transform:scale(1.3);}26%,100%{background:rgba(255,255,255,.5);transform:scale(1);}}
@media (max-width:620px){.fm-carousel{width:auto;max-width:100%;float:none;margin:18px auto;}}
/* ============================================================================= */

/* FM custom: Request Appointment buttons -> brand teal (#0598A3) */
.top-button{background:#0598a3 !important;}
.top-button:hover,.top-button:focus{background:#046f78 !important;}
.rabutton .buttonrs,.rabutton button.buttonrs{background:#0598a3 !important;border-color:#0598a3 !important;}
.rabutton .buttonrs:hover,.rabutton button.buttonrs:hover,.rabutton .buttonrs:focus{background:#046f78 !important;}
/* ============================================================================= */

/* FM custom: Office/location section -> animated building (full-height, fade+zoom) */
.locations-block{position:relative !important;overflow:hidden !important;background:#04353a !important;}
.locations-block::before{content:"";position:absolute;inset:-2%;z-index:0;background:url(/~francemedical/templates/theme/images/location-bg.jpg) center center/cover no-repeat;animation:fmOfficeKB 20s ease-in-out infinite alternate;}
.locations-block::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(rgba(0,0,0,.2),rgba(0,0,0,.42));}
.locations-block > *{position:relative;z-index:1;}
@keyframes fmOfficeKB{from{transform:scale(1);}to{transform:scale(1.14);}}
/* ============ */

/* FM custom: Our Team staff photo at natural 350x350 (responsive on mobile) */
.doc-info-wrap .doctor{
    flex: 0 0 auto;
    width: 300px;
    max-width: 100%;
    padding: 20px 0 0 0;
    margin: 0px 0px 20px 20px;
    float: right;
    }

.doc-info-wrap .doctor img{width:100%;height:auto;display:block;margin:0;border-radius:8px;}
/* ============ */

/* FM custom: hide carousel caption (per client) */
.fm-carousel .fm-slide figcaption{display:none !important;}
/* ============ */

/* FM custom: Our Doctors photos - unfloat & center on mobile */
@media (max-width:640px){.com-content-article__body .doctor{float:none !important;width:-moz-fit-content !important;width:fit-content !important;max-width:100% !important;margin:16px auto !important;}}
/* ============ */

/* FM custom: Services two-column headers (Podiatry Services + Internal Medicine) */
.fm-svc-2col{clear:both;display:flex;flex-wrap:wrap;gap:30px;align-items:flex-start;margin:14px 0 20px;}
.fm-svc-2col .fm-svc-col{min-width:0;}
.fm-svc-2col .fm-svc-col:first-child{flex:2 1 380px;}
.fm-svc-2col .fm-svc-col:last-child{flex:1 1 220px;}
.fm-svc-2col .fm-svc-col h2{margin-top:0;}
.fm-svc-2col .pe{width:100%;}
@media (max-width:640px){.fm-svc-2col{gap:4px;}.fm-svc-2col .fm-svc-col{flex:1 1 100%;}}
/* ============ */

/* FM custom: carousel inside the Internal Medicine column (no float, fills column) */
.fm-svc-2col .fm-carousel{float:none !important;width:100% !important;max-width:100% !important;margin:0 0 16px 0 !important;}
/* ============ */
