/* 

Classic Template

http://www.templatemo.com/tm-488-classic

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

body {
	color: #606060;
	font-family: 'Open Sans', Helvetica, Arial, sans-serif;
	font-size: 16px;
	font-weight: 300;
	overflow-x: hidden;
    overflow-y: visible;
}

a {
    color: #404040; /* darker gray than body (#606060) */
    transition: all 0.3s ease; /* keep your smooth transitions */
    text-decoration: underline; /* optionally keep underline on links */
}

a:hover,
a:focus {
    color: #1a1f3d; /* dark blue on hover/focus */
    text-decoration: none; /* no underline on hover/focus */
    outline: none;
}

/* Keep button transition as is */
button {
    transition: all 0.3s ease;
}

.table, .table td, .table th {
    color: #606060;
}

h2 { font-size: 2.2rem; }
.tm-thin-font { font-weight: 300; }

.container-fluid {
	margin-left: auto;
	margin-right: auto;
	max-width: 1390px;
	overflow-x: hidden;
}

@media (max-width: 1390px) {
	.container-fluid {
		padding-left: 5%;
		padding-right: 5%;
	}
}

.tm-header > .container-fluid {
    overflow: visible;
}

.tm-header-inner {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-justify-content: space-between;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	height: 100px;
    position: relative;
    overflow: visible;
}

.tm-lcms-logo {
    height: 48px;        /* Adjust height as needed */
    width: auto;
    margin-right: 10px;  /* space between logo and text */
    align-items: center;
}

.tm-site-name {
	color: #1a1f3d;
	display: flex;
    align-items: center;
    font-size: 2.6rem;
	font-weight: 400;
    font-family: Garamond, serif;
    font-variant: small-caps;
    line-height:1.25;
}

.tm-site-name-text {
    white-space: normal;     /* ✅ allow wrapping */
    display: inline;   /* ✅ enables wrapping inside span */
}

.tm-main-nav { font-size: 1.2rem; }

.navbar-nav .nav-link {
	border-radius: 6px;
    color: #1a1f3d;  /* dark blue */
	padding: 10px 40px;
}

.nav-item.active .nav-link {
    color: white;
    background-color: #1a1f3d; /* dark for active */
}

.nav-link:hover,
.nav-link:focus,
.nav-link.dropdown-toggle:hover,
.nav-link.dropdown-toggle:focus {
    color: white;
    background-color: #24305e; /* vivid blue for hover and focus */
}

.nav-item.dropdown {
    position: relative; /* Anchor for dropdown */
}

.dropdown-menu {
    position: absolute; /* Allow overflow */
    top: 100%;          /* Place below parent */
    left: 0;
    z-index: 1050;      /* Ensure it appears above other content */
    min-width: 0;
    width: 125px;
}

.tm-gold-text { color: #1a1f3d; }

.tm-section {
	padding-top: 80px;
	padding-bottom: 100px;
}

.tm-home-img-container {
	background-image: url('/images/stpaulgreenwich.jpg');
    background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
    min-height: 200px;
	max-height: 500px;
    height: 40vh;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
}

.tm-blog-img-container { background-image: url('/images/tm-blog-img.jpg'); }
.tm-contact-img-container { background-image: url('/images/tm-contact-img.jpg'); }

.tm-about-img-container,
.tm-blog-img-container,
.tm-contact-img-container {
	background-size: auto 200px;
	background-position: center;
	background-repeat: no-repeat;
	height: 200px;
}

.tm-title {
	margin-bottom: 1rem;
	line-height: 1.1;
}

.tm-subtitle {
	font-size: 1.4rem;
	max-width: 800px;
	margin: 0 auto 80px;
}

.tm-content-box {
	max-width: 310px;
	margin: 0 auto;
}

h1, h2, h3, h4, h5, h6 {
    font-family: Garamond, serif;
}

h3 { font-size: 1.65rem; }
h4 { 
	font-size: 1.4rem;
	line-height: 1.6;
}

.tm-btn, .tm-backtotop-btn {
	color: white;
	background-color: #1a1f3d;
	border: none;
	border-radius: 5px;
	display: inline-block;
	padding: 10px 30px;
}

/* Override padding for the back-to-top button only */
.tm-backtotop-btn {
    padding: 10px 12px;  /* narrower left/right padding */
    width: 40px;
    height: 40px;
    position: fixed;
    bottom: .5rem !important;
    right: 1rem;
    z-index: 1100;
}

.tm-btn:hover,
.tm-btn:focus,
.tm-backtotop-btn:hover,
.tm-backtotop-btn:focus {
    background-color: #24305e;
    color: white;
    outline: none;
}

.tm-btn-gray { background-color: #666666; }
.tm-btn-gray:hover,
.tm-btn-gray:focus {
	background-color: #515050;	
}

.play-btn {
    background: none !important;
    border: none !important;
    padding: 0;
    margin-left: .25rem;
    margin-right: 0.0rem;
    margin-top: .5rem !important;
    width: 33px;
    height: 33px;
    cursor: pointer;
}

/* Ensure table rows keep standard table layout */
table.table {
    width: 100%;
    border-collapse: collapse;
}

.tm-margin-b-15 { margin-bottom: 15px; }
.tm-margin-b-20 { margin-bottom: 20px; }
.tm-margin-b-30 { margin-bottom: 30px; }
.tm-margin-b-40 { margin-bottom: 40px; }
.tm-margin-t-big { margin-top: 90px; }
.tm-margin-t-mid { margin-top: 60px; }
.tm-margin-t-small { margin-top: 30px; }
.tm-margin-t-tiny { margin-top: 5px; }


.tm-text-link { 
	color: #006699; 
	line-height: 2.8;
	text-decoration: underline;
}
.tm-overflow-auto { overflow: auto; }
.tm-small-font { font-size: 1rem; }
.tm-related-post { margin-bottom: 40px; }
.tm-related-post:last-child { margin-bottom: 0; }
.media-left { padding-right: 25px; }
.media-body {
	border-bottom: 1px solid #ccc;
	padding-bottom: 25px;
}

.tm-media-description { margin-bottom: 0; }

.tm-2-col-right { padding-left: 20px; }

.tm-bullet-list {
    list-style-type: disc;
    margin-left: 1.2em;
    padding-left: 0;
}

.tm-bullet-list > li {
    margin-top: 0.25em; /* normal space above each top-level item */
    line-height: 1.6;
}

.tm-bullet-list > li.tm-extra-space {
    margin-top: .8em; /* extra top space for special top-level items */
}

.tm-bullet-list ul {
    list-style-type: circle; /* second-level bullets */
    margin-left: 1.3em;
    padding-left: 0;
}

.tm-bullet-list ul li {
    margin-top: 0.15em; /* smaller spacing for nested items */
}

.tm-footer {
	color: #c6c6c6;
	background-color: #191919;
	background-image: url('/images/classic-pattern-bg.png');
	font-size: 1rem;
	padding-top: 24px;
	padding-bottom: 20px;
}

.tm-footer-links-container { padding-left: 10px; }

.tm-footer-link {
	color: #bbbbbb;
	text-decoration: underline;
}

.tm-footer-link:hover,
.tm-footer-link:focus {
	color: #dddddd;
	text-decoration: none;
}
.tm-footer-thumbnail { margin-bottom: 5px; }

.tm-copyright-text { 
	color: #999999; 
	margin-bottom: 0;
}

hr { border-top: 1px solid #CCCCCC; }
p { line-height: 1.9; }

.tm-gray-bg { 
	background-color: #CCCCCC; 
	color: black;
	padding: 30px 20px 20px;
}
.tm-footer-content-box-title { margin-bottom: 30px; }

.tm-img-post { margin-bottom: 30px; }

.tm-aside-r { padding-left: 30px; }

.form-control {
	border-radius: 0;
	font-size: 1.1rem;
	padding: 0.75rem 1rem;
}

.form-control:focus { border-color: #1a1f3d; }

.tm-form-description { margin-top: 30px; }
.tm-contact-form { padding-top: 20px; }

.tm-contact-right { padding-left: 30px; }
.tm-p-small { font-size: 1rem; }

#big-audio-player {
    position: fixed;
    bottom: 0px;
    left: 0;           /* align left edge */
    transform: none;  /* remove centering transform */
    width: calc(100% - 60px) !important;        /* width as you want */
    z-index: 1050;
    background-color: #fff;
    box-shadow: 0 -2px 8px rgba(0,0,0,0.15);
    padding: 0.5rem .5rem;
    border-radius: 0px;
}

/* Add bottom padding so page content isn't hidden behind the player */
body {
    padding-bottom: 3.5rem; 
}

@media (max-width: 1199px) {
	.tm-2-col-left { padding-right: 0; }
	.tm-2-col-right { padding-left: 0; }
	.tm-text-link {
		line-height: 2.2;
	}
	.container-fluid {
		padding-left: 4%;
		padding-right: 4%;
	}
}

@media (max-width: 991px){

	.tm-home-img-container {
		min-height: 300px;
	}

	.tm-subtitle { margin-bottom: 40px; }
	
	#tmNavbar .navbar-nav .nav-link { padding: 10px 25px; }
	.media { max-width: 240px; }
	.media-left {
		display: block;
		margin-bottom: 20px;
	}

	.tm-content-box { margin-bottom: 50px; }
	.tm-text-link { line-height: 2.4; }

	.tm-section {
	    padding-top: 50px;
	    padding-bottom: 60px;
	}

	.tm-2-col-left, .tm-2-col-right { 
		margin: 0 auto;
		max-width: 660px; 
	}
	
	.tm-margin-t-big { margin-top: 30px; }
	.media { max-width: 100%; }
	.media-left {
		display: table-cell;
		margin-bottom: 0;
	}

	.tm-footer-content-box { margin-bottom: 40px; }

	.tm-2-rows-md-swap {
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-direction: column;
		    -ms-flex-direction: column;
		        flex-direction: column;
	}

	.tm-2-rows-md-down-1 {
		-webkit-order: 1;
		    -ms-flex-order: 1;
		        order: 1;		
	}
	.tm-2-rows-md-down-2 {
		-webkit-order: 2;
		    -ms-flex-order: 2;
		        order: 2;
		margin-bottom: 0;
		margin-top: 30px;		
	}

	.tm-contact-right { 
		padding-left: 15px; 
		padding-top: 40px;
	}
}

@media (max-width: 897px) {
	.tm-btn {
		padding: 10px 15px;
		font-size: 1rem;
	}
}

@media (max-width: 767px) {
	.tm-main-nav {
		position: fixed;
		right: 0;
		top: 3px;
		z-index: 1000;
	}
	#tmNavbar .navbar-nav .nav-item { float: none; }
	#tmNavbar .navbar-nav .nav-link { padding: 10px 35px; }
	#tmNavbar {
		background: white; 
		border-radius: 6px;
	}
	#tmNavbar .navbar-nav .nav-item+.nav-item { margin-left: 0; }
	.navbar-toggler {
        align-self: flex-start;
		background: white;
		border-color: #1a1f3d;
		color: #1a1f3d;
		display: block;
		margin-left: auto;
		margin-right: 0;

	}
	.navbar-toggler:focus { outline: none; }
	.tm-content-box { margin-bottom: 50px; }
	
	.tm-2-col-left {
		padding-right: 0;
		max-width: 660px;
	}

	.tm-2-col-right { padding-left: 0; }
	.tm-margin-b-40 { margin-bottom: 25px; }
	
	.tm-copyright-text { padding-top: 0; }
	.tm-gray-bg { padding: 20px 20px 10px; }
	.tm-footer { padding-bottom: 15px; }

	.tm-2-rows-sm-swap {
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-direction: column;
		    -ms-flex-direction: column;
		        flex-direction: column;
	}

	.tm-2-rows-sm-down-1 {
		-webkit-order: 1;
		    -ms-flex-order: 1;
		        order: 1;		
	}
	.tm-2-rows-sm-down-2 {
		-webkit-order: 2;
		    -ms-flex-order: 2;
		        order: 2;
		margin-bottom: 0;
		margin-top: 30px;		
	}

	.tm-sm-m-b { margin-bottom: 20px; }
	.tm-aside-r { padding-left: 15px; }
	.tm-aside-container {
		max-width: 310px;
		margin: 0 auto;
	}

	.tm-blog-post {	padding-bottom: 10px; }
	.tm-content-box-contact {
		margin-top: 40px;
		margin-bottom: 0;
	}

	.tm-contact-row-related-posts {	margin-top: 40px; }
}

@media (max-width: 543px) {
	.tm-footer-links-container { padding-left: 0; }
	.tm-xs-m-t { margin-top: 20px; }
	.tm-btn { padding: 10px 30px; }
}

@media(max-width: 510px) {
	.media { max-width: 240px; }
	.media-left {
		display: block;
		margin-bottom: 20px;
	}
		
	.tm-section {
		padding-top: 10%;
		padding-bottom: 10%;
	}

	.tm-subtitle { margin-bottom: 20px; }
	.tm-margin-b-40 { margin-bottom: 15px; }
	.tm-content-box { margin-bottom: 40px; }
	.tm-margin-t-mid { margin-top: 30px; }
	.tm-footer-content-box { margin-bottom: 40px; }
	.tm-footer-content-box-title { margin-bottom: 15px; }
	#google-map { margin-top: 25px; }
	.tm-map-section { margin-top: 50px; }

	.tm-contact-related-posts-container {
		max-width: 240px;
		margin-left: auto;
		margin-right: auto;
	}
}

@media (max-width: 480px) {
    .footer-flex-container {
        flex-wrap: wrap !important;
        justify-content: flex-start !important;
        gap: 1.5rem !important;
    }

    .footer-flex-container > div {
        flex: 1 1 100%;
        display: block !important;
    }

    .footer-flex-container p {
        margin: 0;
        text-align: left;
    }
}