
:root {
	--primary:  #184063;
	--secondary:#7fb941;
	--tertiary: #dbdcdc;
	--accent:   #d1c1e1;
	--accent-contrast: #184063;
	--hero-btn: #59B9D0;
  	--nav-font: "Roboto", system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  	--secondary-hover: #74a63f;
}

.bg-primary {
	background-color: var(--primary) !important;
}

.bg-secondary {
	background-color: var(--secondary) !important;
}

.bg-tertiary {
	background-color: var(--tertiary) !important;
}

.bg-accent {
	background-color: var(--accent) !important;
}

.txt-primary {
	color: var(--primary) !important;
}

.txt-secondary {
	color: var(--secondary) !important;
}

.txt-tertiary {
	color: var(--tertiary) !important;
}

.txt-accent {
	color: var(--accent) !important;
}

.btn-primary {
	background-color: var(--primary) !important;
}

.btn-secondary {
	background-color: var(--secondary) !important;
}

.text-space {
  	display: inline-block;
  	width: 2rem;
}
.spacer {
	clear: both;
	padding: 30px;
}

a {text-decoration: none;color: var(--secondary);}
a:hover {text-decoration: none;}

html, body {overflow-x: hidden;}

body, h1, h2, h3, h4, h5, h6, .btn {
	font-family: Arial, sans-serif;
}

h1 {
    font-size: 2rem;
    font-weight: 600;
}
h2 {
    font-size: 1.6rem;
    font-weight: 600;	
}
h3 {
    font-size: 1.2rem;
    font-weight: 500;	
}
h4 {
    font-size: 1rem;
    font-weight: 400;	
}
fieldset, legend {
	all: revert;
}
fieldset {
	border: 2px solid #ccc;
  	border-radius: 6px;
  	padding: 1rem;
  	margin-bottom: 1.5rem;
  	background: #fdfdfd;
}
legend {
	font-weight: bold;
  	font-size: 1.1rem;
  	padding: 0 .5rem;
}

.nowrap {
	white-space: nowrap;
}

body {
	font-family: "Roboto", system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
	background-color: white;
	margin: 0px;
	padding: 0px;
	color: var(--primary);
	font-size: 0.99rem;
}
.justify {
	text-align: justify;
}
.blue-bar {
	background-color: var(--primary);
  	color: #fff;
}
.blue-bar .container {
	display: flex;
  	align-items: center;
  	gap: 2rem;
  	padding: 0.5rem 0;
}
.blue-bar .btn { margin-left: auto; }
.contact-item,
.contact-item a {
	display: inline-flex;
  	align-items: center;
  	gap: 0.5rem;
}

.pay-btn {
	background-color: #005bb7!important;
	padding: 4px 50px;
	border: 1px solid white;
}
.pay-btn:hover {
	background-color: #004a95!important;
	text-decoration: none !important;
	border: 1px solid white;
}

.blue-bar a { color: #fff; text-decoration: none; }
.blue-bar a:hover, .blue-bar a:focus { text-decoration: underline; }

.navbar .nav-link { font-family: var(--nav-font); letter-spacing: 0.08rem; font-weight: 700; font-size: 0.98rem; color: var(--primary)}
.navbar .dropdown-item { font-family: var(--nav-font); letter-spacing: 0.08rem; font-weight: 700; font-size: 0.98rem; color: var(--primary)}

.dropdown-menu .dropdown-item:hover,
.dropdown-menu .dropdown-item:focus {
	background-color: #343a40;
  	color: #fff;
}


@media (max-width: 800px) {
	.blue-bar .contact-item { display: none !important; }
  	.blue-bar > .container > span { display: none !important; }
  	.blue-bar .container {
    	justify-content: center;
    	gap: 0;
  	}
  	.blue-bar .btn {
    	margin-left: 0;
    	margin-inline: auto;
  	}
}

@media (min-width: 1200px) and (hover: hover) and (pointer: fine) {
	.navbar .dropdown-menu {
    	display: block;
    	opacity: 0; visibility: hidden; transform: translateY(4px);
    	transition: opacity .15s ease, transform .15s ease, visibility 0s linear .15s;
    	margin-top: 0; z-index: 1060;
  	}
  	.navbar .dropdown:hover > .dropdown-menu,
  	.navbar .dropdown:focus-within > .dropdown-menu {
    	opacity: 1; visibility: visible; transform: translateY(0);
    	transition-delay: 0s;
  	}
}

.banner {
	position: relative;
  	height: 600px;
  	color: #fff;
  	overflow: hidden;
}
.banner > video {
	position: absolute;
  	inset: 0;
  	width: 100%;
  	height: 100%;
  	object-fit: cover;
  	object-position: center;
  	z-index: 0;
  	pointer-events: none;
}
.banner::before {
	content: "";
  	position: absolute;
  	inset: 0;
  	background: linear-gradient(0deg, rgba(0,0,0,.35), rgba(0,0,0,.35));
  	z-index: 1;
}

.banner-headline{
	color:#fff;
	font-weight:750;
	line-height:1.05;
	font-size: clamp(2.8rem, 8vw, 5rem);
	text-shadow:
	  	0 2px 2px rgba(0,0,0,.75),
	  	0 6px 24px rgba(0,0,0,.70),
	  	0 0 6px rgba(0,0,0,.65);
}
.banner-headline{
  	margin: 0 0 .75rem;
}
.banner .container > .d-flex{
  	row-gap: .5rem !important;
}

.banner .w-100 { max-width: 60rem; margin-inline:auto; }

.banner .hero-btn{
	background-color: var(--hero-btn);
  	border-color: var(--hero-btn);
  	color:#fff;
  	padding: 1.00rem 2.00rem;
  	border-radius:.5rem;
  	font-size: 1.00rem;
  	font-weight: 500;
  	box-shadow: 0 6px 14px rgba(0,0,0,.20);
  	transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease, border-color .12s ease;
}
.banner .hero-btn:hover{
	background-color:#43abc5;
  	border-color:#43abc5;
  	transform: translateY(-1px);
  	box-shadow: 0 8px 18px rgba(0,0,0,.24);
}
.banner .hero-btn:active{
	background-color:#339ab0;
  	border-color:#339ab0;
  	transform: none;
  	box-shadow: 0 4px 10px rgba(0,0,0,.20);
}
.banner .hero-btn:focus-visible{
	outline: 2px solid #cdeff6;
  	outline-offset: 2px;
}

.banner .container > .d-flex{
  	transform: translateY(-8%);
}

@media (min-width: 992px){
	.banner .container > .d-flex{ transform: translateY(-10%); }
}

.banner-buttons{
	display:inline-flex;
  	gap:1.75rem;
  	flex-wrap:wrap;
  	justify-content:center;
}

.banner .container{ position:relative; z-index:2; }

@media (max-width: 575.98px) {
	.banner-headline { font-size: clamp(3rem, 4.5vw, 5rem); }
  	.banner-buttons { gap: .5rem; }
}

.overlap-container {
	position: relative;
	top: -100px;
	background-color: white;
	z-index: 100;
	padding: 20px 15px 0px 15px;
	border-radius: 20px;
}

.services-container p {
	font-size: 1.2rem;
}

.services-container h3 {
	font-size: 1.9rem;
}

.service-card{
  	background:#fff;
  	border:1px solid #e9ecef;
  	border-radius:.5rem;
}
.service-card img{ width:100px; height:auto; margin:.25rem auto; }
.service-card b{ display:block; margin:.25rem 0 .5rem; font-size: 1.2rem; }
.service-card p{ font-size: 1rem; }

.service-desc{
	display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden;
}

.green-button {
	background-color: var(--secondary);
  	color:#fff;
  	padding: 1.00rem 2.00rem;
  	border-radius:.5rem;
  	font-size: 1.00rem;
  	font-weight: 500;
  	box-shadow: 0 6px 14px rgba(0,0,0,.20);
  	transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease, border-color .12s ease;
}
.green-button:hover{
	background-color: var(--secondary-hover);
  	transform: translateY(-1px);
  	box-shadow: 0 8px 18px rgba(0,0,0,.24);
}


.accordion .accordion-button {
	background-color: var(--primary);
  	color: #fff;
  	border: none;
}
.accordion .accordion-button.collapsed {
  	background-color: var(--primary);
}
.accordion .accordion-button:not(.collapsed) {
	background-color: var(--secondary);
  	color: #fff;
}
.accordion .accordion-button:focus {
	outline: none;
  	box-shadow: none;
}
.accordion .accordion-button::after {
	filter: invert(1) grayscale(1) brightness(1.6);
}
.accordion .accordion-button:hover {
	filter: brightness(1.05);
}
.accordion .accordion-item {
	border: 1px solid rgba(0,0,0,.08);
  	border-radius: .25rem;
}
.accordion .accordion-item + .accordion-item {
  	margin-top: .5rem;
}

.accordion .accordion-collapse.show .accordion-body,
.accordion .accordion-collapse.collapsing .accordion-body{
	min-height: 400px;
}

.accordion-body.bg-side{
	--bgw: 400px;
  	--bgh: 220px;

  	position: relative;
  	background: no-repeat right 1rem bottom 1rem / var(--bgw) auto;
  	padding: 1.25rem 1rem;
  	padding-right: calc(1rem + var(--bgw) + 1rem);
  	padding-bottom: calc(1rem + var(--bgh) + 1rem);
  	border-radius: .25rem;
}

.accordion-body.bg-side > img{
	display: block !important;
  	max-width: 100px;
  	height: auto;
  	margin: 0 0 .75rem 0;
}

.accordion-body.bg-side p{ margin-bottom: .75rem; }

@media (max-width: 575.98px){
	.accordion-body.bg-side{
    	--bgw: 260px;
    	--bgh: 160px;
    	background-position: center bottom 1rem;
    	background-size: var(--bgw) auto;
    	padding-right: 1rem;
    	padding-bottom: calc(4rem + var(--bgh) + 4rem);
  	}
  	.accordion-body.bg-side > img{
    	max-width: 80px;
    	margin-bottom: .5rem;
  	}
}

.kuno-insight{
  	display: flex;
  	align-items: center;
  	gap: 1rem;
}
.kuno-insight-img{
  width: 200px; height: 200px;
  border-radius: 50%;
  object-fit: cover; object-position: top;
  display: block;
}
.kuno-insight-headline{
  	margin: 0;
  	min-width: 0;
  	font-size: clamp(1rem, 1.8vw, 1.125rem);
  	line-height: 1.3;
  	color: #222;
}
.kuno-insight-headline b{
	display: block;
  	font-weight: 800;
  	font-size: clamp(1.75rem, 4vw, 2.5rem);
  	line-height: 1.05;
  	color: var(--primary);
  	margin-bottom: .25rem;
}

@media (max-width: 575.98px){
	.kuno-insight{ flex-direction: column; align-items: flex-start; }
}

#kunoInsightCarousel .multi{
	display: flex;
  	flex-wrap: nowrap;
  	justify-content: center;
  	gap: 24px;
  	padding: 1.25rem 0;
}
#kunoInsightCarousel .carousel-card{
	width: 320px;
  	height: 350px;
  	background: #e8e8e8;
  	color: var(--primary);
  	border-radius: .5rem;
  	padding: 1rem;
  	text-align: center;
  	box-shadow: 0 6px 18px rgba(0,0,0,.15);
  	display: flex;
  	flex-direction: column;
  	align-items: center;
}
.kuno-card b {
	font-size: 1.5rem;
	height: 110px;
}
.kuno-card p {
	font-size: 1.00rem;
	height: 130px;
}

.post-grid{
	display:grid;
  	grid-template-columns:repeat(3,1fr);
  	gap:0;
}
.post-card{
	position: relative;
  	display:flex;
  	flex-direction:column;
  	align-items:center;
  	justify-content:center;
  	text-align:center;
  	min-height: 140px;
  	padding: 3rem;
  	background-color: #e8e8e8;
  	background-size: cover;   
  	background-position: center;
  	background-repeat: no-repeat;
  	color: #fff;              
  	overflow: hidden;         
}
.post-card::before{
	content: "";
  	position: absolute;
  	inset: 0;
  	background: rgba(24,64,99,.55);
  	z-index: 0;
  	transition: opacity .2s ease;
  	pointer-events: none;
}
.post-card > * { position: relative; z-index: 1; }
.post-card:hover::before,
.post-card:focus-within::before{
	opacity: 0;
}
.post-l { background-image: url('/resources/images/home-5th-section-edge-pease-bell-posts.jpg'); }
.post-m { background-image: url('/resources/images/home-5th-section-edge-magazine.jpg'); }
.post-r { background-image: url('/resources/images/home-5th-section-edge-our-culture.jpg'); }
.post-text{ width: 320px; height: 120px; margin: 80px auto 0px auto; }
.post-text h2{ margin:0 0 .35rem; white-space: nowrap; font-size: 2rem;}

@media (max-width: 767.98px){
	.logo-lg{width:300px;}
	.post-grid{ grid-template-columns:1fr; }
}

.img-wrap { 
	height: 200px; 
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover; 
}

.recent-post-card{
	border-radius: 1rem;
	overflow: hidden;
	width: 350px;
}

.recent-post-card .card-body .green-button{
  	display: inline-block;
  	margin-top: .25rem;
}

.card-body {
	color: var(--primary);
	text-align: center;
}

.card-body h3 {
	height: 100px;
}

.card-body p {
	height: 150px;
}

#recentPostsCarousel .multi-two{
	display: flex;
  	gap: 3rem;
  	justify-content: center;
  	align-items: stretch;
  	padding: 1rem 0;
  	flex-wrap: nowrap;
}
@media (max-width: 767.98px){
	#recentPostsCarousel .multi-two{ gap: 0; }
}

.subscribe-form{
	background-color: #0d3151;
	border-radius: 20px;
	padding: 30px 30px 80px;
	color: #fff;
	width: 300px;
	max-width: 100%;
}
.subscribe-form form label{
	margin: 10px 0 0;
	display: block;
}
.subscribe-form form input{
	display: block;
	width: 90%;
	padding: 10px;
	margin: 0 0 20px;
}

.subscribe-form form textarea{
	display: block;
	width: 90%;
	padding: 10px;
	margin: 0 0 20px;
}
.subscribe-form .green-button{
	display: inline-block;
	margin-top: 10px;
}
#awardCarousel .logos{
	display:flex;
    justify-content:center;
    align-items:center;
    gap: 8rem;
    padding: 0;
    flex-wrap: nowrap;
}

#awardCarousel .logo-cell{
    flex: 0 0 auto;
    width: 300px;
    height: 300px;
    display:flex;
    align-items:center;
    justify-content:center;
}

#awardCarousel .logo-cell img{
    max-width: 300px;
    object-fit: contain;
    display:block;
}

#awardCarousel .carousel-item{ padding-bottom: .25rem; }

.page-banner {
	display:flex; justify-content:center; align-items:center; border:1px solid #ccc;
	height: 350px;
  	background-size: cover;   
  	background-position: center;
  	background-repeat: no-repeat;	
} 
.bg-overlay {
  background: linear-gradient(rgba(0, 50, 100, 0.4), rgba(0, 50, 100, 0.4));
}

.page-banner h1 {
	color:white;
	font-weight:500;
	line-height:1.05;
	font-size: clamp(2.8rem, 8vw, 3rem);
	text-shadow:
	  	0 2px 2px rgba(0,0,0,.75),
	  	0 6px 24px rgba(0,0,0,.70),
	  	0 0 6px rgba(0,0,0,.65);
}
.about-us-timeline {
    width: 450px;
    margin: 0;
    padding: 0;
    text-align: left;
}
.about-us-timeline p {
    color: #0d3151;
    padding: 1px 20px 40px 15px;
    margin: 20px 30px 40px 0;
    background-color: #f8f8f8;
}
.about-us-timeline p .timeline-arrow-up {
    position: relative;
    top: -20px;
    left: 0;
}
.about-us-timeline span {
    display: block;
    height: 60px;
    margin: 0;
    padding: 0;
    background-repeat: no-repeat;
    background-position: left;
}
.about-us-timeline .timeline-1999 {
    background-image: url("/resources/images/timeline-1999.png");
}
.about-us-timeline .timeline-2009 {
    background-image: url("/resources/images/timeline-2009.png");
}
.about-us-timeline .timeline-2015 {
    background-image: url("/resources/images/timeline-2015.png");
}
.about-us-timeline .timeline-2017 {
    background-image: url("/resources/images/timeline-2017.png");
}
.about-us-timeline .timeline-2019 {
    background-image: url("/resources/images/timeline-2019.png");
}
.about-us-timeline .timeline-july-2019 {
    background-image: url("/resources/images/timeline-july-2019.png");
}
.about-us-timeline .timeline-september-2019 {
    background-image: url("/resources/images/timeline-september-2019.png");
}
.about-us-timeline .timeline-january-2020 {
    background-image: url("/resources/images/timeline-january-2020.png");
}
.about-us-strip{
	display: flex;
  	flex-wrap: nowrap;
  	overflow-x: auto;
  	-webkit-overflow-scrolling: touch;
  	gap: 0;
}
.about-us{
	flex: 0 0 auto;
}
.about-us-strip{ scrollbar-width:none; }
.about-us-strip::-webkit-scrollbar{ display:none; }

.masonry{
	column-gap: 2rem;
  	column-width: 350px;
}
.masonry-item{
	cursor: pointer;
	display: inline-block;
  	width: 100%;          
  	break-inside: avoid;  
  	margin: 0 0 2rem;     
  	padding: 10px;
  	border-radius: 20px;
  	box-shadow:
	    0 1px 2px rgba(0,0,0,.06),
    	0 6px 18px rgba(0,0,0,.12);
}
.culture-img{
	display: block;
  	width: 100%;
  	height: auto; 
  	border-radius: 20px;
  	border: 10px solid #fff;
}
@media (max-width: 991.98px){
	.masonry{ column-width: 300px; column-gap: 1.5rem; }
}
@media (max-width: 575.98px){
  	.masonry{ column-width: 100%; }
}
hr.green-stripe {
	display: block;
	width: 50px;
	border: 3px solid #77a92e;
	float: left	
}
.contact-card{
	background:#ebebeb;
  	border-radius:10px;  
  	padding:20px;
  	margin:30px;
  	box-shadow:
    	0 1px 2px rgba(0,0,0,.06),
    	0 8px 24px rgba(0,0,0,.99);
  	border:1px solid rgba(0,0,0,.06);
  	height:300px;
}
.contact-card h3, h4 {
	clear: both;
}
.contact-links a,
.contact-links span{
	display:block;
  	margin:12px 0;
  	color:inherit;
  	text-decoration:none;
}
.contact-links a:hover{ text-decoration:underline; }
.contact-links i{ margin-right:8px; }
@media (min-width: 768px){
	.row-eq-height{
    	display:-webkit-box;
    	display:-ms-flexbox;
    	display:flex;
    	-ms-flex-wrap:wrap;
    	flex-wrap:wrap;
  	}
  	.row-eq-height > [class*="col-"]{
    	display:flex;
  	}
  	.row-eq-height .contact-card{
    	-webkit-box-flex:1;
    	-ms-flex:1;
    	flex:1;
  	}
}

.pb-contact-section{
	background:
    	radial-gradient(circle at 10% 10%, rgba(0,0,0,.04) 0 2px, transparent 2px) 0 0/24px 24px,
    	radial-gradient(circle at 60% 30%, rgba(0,0,0,.03) 0 2px, transparent 2px) 0 0/28px 28px;
}

.pb-contact-card{
	border-radius: 1.25rem;
  	backdrop-filter: blur(3px);
  	background: linear-gradient(0deg, rgba(255,255,255,.92), rgba(255,255,255,.92));
}

.pb-contact-gradient{
	background: linear-gradient(135deg, var(--primary), color-mix(in srgb, var(--secondary) 65%, white));
  	border-bottom: 0;
}

.pb-btn-gradient{
	background-image: linear-gradient(135deg, var(--secondary), #a8d769);
  	color: #fff; border: 0;
  	box-shadow: 0 6px 18px rgba(0,0,0,.15);
}
.pb-btn-gradient:hover{ filter: brightness(.95); color:#fff; }

.input-group-text{
	background: #f6f8fa;
  	border: 1px solid rgba(0,0,0,.08);
}
.form-control, .form-control:focus, .input-group-text{
	border-radius: .75rem;
}
.card-footer.bg-light-subtle{ background-color: #f7f9fb !important; }

.our-team{
  	cursor: pointer;
  	border-radius: 10px;
  	width: 350px;
  	padding: 10px;
  	margin: 0;
  	text-align: center;
  	background-color: rgb(214, 214, 214);
  	transition: background-color 0.5s ease;
}
.our-team:hover{ background-color: rgb(87, 87, 87); }
@media (max-width: 575.98px){
  .our-team{ width: 100%; max-width: 350px; }
}
.our-team-img-div {
	height: 300px;
}
.our-team-img {
	margin: 30px 10px;
	width: 250px;
	border-radius: 180px
}
.our-team-fullname {
	text-align: center;
	font-weight: 700;
	font-size: 16px
}
.our-team-title {
	font-weight: 400;
	font-size: 14px
}
.our-team-name {
	position: relative;
	padding: 20px 10px 10px 10px;
	height: 200px;
	top: -10px;
	background-color: rgba(0, 0, 0, 0.6);
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	border-top: 4px solid #77a92e;
}
.our-team-name hr {
	color: #ccc;
}
.our-team-name a {
	font-size: 20px;
	margin: 0px 20px;
	color: #fff;
}
.our-team-detail {
	position: relative;
	display: grid;
	grid-template-columns: auto auto;
	padding: 20px;
	margin: 5px;
	background-color: #0d3151;
}
.our-team-detail-border-bottom {
	border-bottom: 4px solid #77a92e;
}
.our-team-detail-txt {
	position: relative;
	display: grid;
	grid-template-columns: auto auto;
	padding: 20px;
	margin: 5px;
}

@media (max-width: 575.98px){
	.our-team-detail {grid-template-columns: auto;}
	.our-team-detail-txt {grid-template-columns: auto;}	
}

.career-contact-section {
	padding: 0;
	margin: 0;
	width: 350px;
	text-align: center
}

.career-contact-section img {
	display: block;
	width: 150px;
	margin: 0 auto
}

.career-contact-section b {
	display: block;
	font-weight: 700;
	margin: 10px
}



#team-carousel{
	display: flex !important;
  	flex-wrap: nowrap;
  	gap: 1rem;
  	overflow-x: auto;
  	overflow-y: hidden;
  	padding: .5rem 0 1rem;
  	-webkit-overflow-scrolling: touch;
}
#team-carousel .team-scroll{
  	flex: 0 0 auto;
  	width: 220px;
  	margin: 30px 80px;
}
#team-carousel .team-scroll img{
  	width: 250px; 
  	object-fit: cover;
  	border-radius: 10px; 
  	display:block;  	
}
.team-scroll h2 {
	font-size: 1.2rem;
	font-weight: 500;
}
.team-scroll h3 {
	font-size: 1rem;
}
.team-scroll h4 {
	font-size: 0.9rem;
}
#team-carousel{
	scrollbar-width: none;
	-ms-overflow-style: none;
}
#team-carousel::-webkit-scrollbar{
  	width: 0;
  	height: 0;
}
#team-carousel{ scrollbar-width: none; }
#team-carousel::-webkit-scrollbar{ height: 0; }
#team-carousel:hover{ scrollbar-width: thin; }
#team-carousel:hover::-webkit-scrollbar{ height: 8px; }

div[style*="display:flex"] {
	display: flex;
  	gap: 20px;
}
div[style*="display:flex"] fieldset {
	flex: 1;
  	min-width: 0;
  	border: 1px solid #ccc;
  	padding: 1rem;
  	border-radius: 8px;
}
div[style*="display:flex"] fieldset legend {
  display: none; /* if you don't need legends */
}



.risk-advisory-card {
	margin: 30px
}

.risk-examination-img {
	padding: 25px 0;
	width: 200px;
	text-align: center
}

.risk-examination-p {
	padding: 10px 40px 20px 0;
	text-align: left
}

.back,
.front {
	padding: 20px 0
}

.back, .front {
	text-align: center
}

.front {
	color: #0d3151;
	background-color: #ccc
}

.back {
	color: #fff;
	background-color: #0d3151
}


.risk-advisory-card {
	position: relative;
  	perspective: 1000px;  
  	height: 320px;        
}

.risk-advisory-card > .front,
.risk-advisory-card > .back {
	position: absolute;
  	inset: 0;
  	border-radius: var(--bs-border-radius-lg, 0.75rem);
  	box-shadow: var(--bs-box-shadow, 0 0.5rem 1rem rgba(0,0,0,.15));
  	padding: 1.25rem;
  	display: flex;
  	align-items: center;
  	justify-content: center;
  	text-align: center;
  	backface-visibility: hidden;
  	transform-style: preserve-3d;
  	transition: transform .6s cubic-bezier(.2,.6,.2,1);
}
.risk-advisory-card > .front { transform: rotateY(0); }
.risk-advisory-card > .back  { transform: rotateY(180deg); }
.risk-advisory-card:hover > .front,
.risk-advisory-card:focus-within > .front { transform: rotateY(-180deg); }
.risk-advisory-card:hover > .back,
.risk-advisory-card:focus-within > .back  { transform: rotateY(0); }
.risk-advisory-front img {
	max-width: 120px;
  	height: auto;
  	margin-bottom: 0.75rem;
}
.risk-advisory-front h2,
.risk-advisory-back h2 {
	font-size: clamp(1rem, 2.5vw, 1.25rem);
  	margin: .5rem 0 0;
}
.risk-advisory-back p {
	margin: .5rem 0 1rem;
}
.risk-advisory-back .green-button {
	display: inline-block;
  	padding: .5rem 1rem;
  	border-radius: var(--bs-border-radius, .375rem);
  	background: var(--bs-success, #198754);
  	color: #fff;
  	text-decoration: none;
  	font-weight: 600;
}
.risk-advisory-back .green-button:hover { filter: brightness(0.95); }
.risk-advisory-card a:focus-visible {
	outline: .25rem solid var(--bs-primary, #0d6efd);
  	outline-offset: .125rem;
}
@media (prefers-reduced-motion: reduce) {
	.risk-advisory-card > .front,
  	.risk-advisory-card > .back {
    	transition: none;
  	}
}
@media (hover: none) {
	.risk-advisory-card:active > .front { transform: rotateY(-180deg); }
  	.risk-advisory-card:active > .back  { transform: rotateY(0); }
}

.card.custom-card {
	border: 1px solid rgba(0,0,0,.08);
  	box-shadow: 0 .5rem 1rem rgba(0,0,0,.15);
  	transition: box-shadow .25s ease, transform .25s ease;
  	will-change: box-shadow, transform;
}
.card.custom-card:hover,
.card.custom-card:focus-within {
	box-shadow: 0 .95rem 1.9rem rgba(0,0,0,.35);
}

.img-header {
  	height: 200px;
  	background-size: cover;
  	background-position: center;
  	background-repeat: no-repeat;
  	position: relative;
  	border-top-left-radius: .5rem;
  	border-top-right-radius: .5rem;
}
.img-header::after {
  	content: "";
  	position: absolute;
  	inset: 0;
  	background: linear-gradient(rgba(0,50,100,.15), rgba(0,50,100,.15));
  	border-top-left-radius: inherit;
  	border-top-right-radius: inherit;
}








/* Container */
.paging-section {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: .5rem;
  padding: 1rem 0;
  margin-top: 1rem;
}

/* Links */
.paging-section .paging {
  display: inline-block;
  min-width: 2.25rem;
  padding: .5rem .75rem;
  border: 1px solid var(--secondary);
  border-radius: .5rem;
  background: #fff;
  color: var(--bs-secondary);
  text-decoration: none;
  font-weight: 500;
  line-height: 1;
  box-shadow: 0 .25rem .5rem rgba(0,0,0,.05);
  transition: background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

/* Hover / focus */
.paging-section .paging:hover,
.paging-section .paging:focus {
  background: var(--secondary-bg-subtle, rgba(0,0,0,.05));
  border-color: var(--secondary);
  color: var(--secondary);
  box-shadow: 0 .5rem 1rem rgba(0,0,0,.08);
  transform: translateY(-1px);
  outline: none;
}

/* Current page */
.paging-section .paging.current-page {
  background: var(--secondary);
  color: #fff;
  border-color: var(--secondary);
  cursor: default;
  box-shadow: 0 .5rem 1rem rgba(0,0,0,.25);
}

/* Keep current page “static” on hover */
.paging-section .paging.current-page:hover,
.paging-section .paging.current-page:focus {
  transform: none;
  box-shadow: 0 .5rem 1rem rgba(0,0,0,.25);
}

/* Icons spacing */
.paging-section .paging i {
  vertical-align: -1px;
  margin: 0 .25rem;
}

/* Optional: emphasize first/last page */
.paging-section .paging:first-child,
.paging-section .paging:last-child {
  font-weight: 600;
}

/* Compact mode on very small screens */
@media (max-width: 420px) {
  .paging-section {
    gap: .35rem;
  }
  .paging-section .paging {
    padding: .45rem .6rem;
    border-radius: .4rem;
    font-size: .95rem;
  }
}

.two-grid {
	position: relative;
	display: grid;
	grid-template-columns: auto auto;
	padding: 0;
	margin: 5px;
}
.three-grid {
	position: relative;
	display: grid;	
	grid-template-columns: auto auto auto;
	padding: 0;
	margin: 5px;
}

@media screen and (max-width:600px) {
	.three-grid, .two-grid {
		display: block
	}
}

.edge-card {
  	transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.edge-card:hover {
  	box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.25);
  	transform: translateY(-5px);
}
.edge-card img {
  	object-fit: cover;
}

.event-header {
	background-color: var(--secondary);
	color: #fff;
	padding: 10px 20px;
}

.calendar-grid {
	position: relative;
	display: grid;
	grid-template-columns: 100px auto 220px;
	padding: 0;
	margin: 5px;
	gap: 10px;
}

@media screen and (max-width:600px) {
	.calendar-grid {
		display: block
	}
}

.calendar {
	margin: .25em 10px 10px 0;
	padding-top: 5px;
	float: left;
	width: 80px;
	background: #ededef;
	background: -webkit-gradient(linear, left top, left bottom, from(#ededef), to(#ccc));
	background: -moz-linear-gradient(top, #ededef, #ccc);
	font: bold 40px/60px Arial Black, Arial, Helvetica, sans-serif;
	text-align: center;
	color: #000;
	text-shadow: #fff 0 1px 0;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	position: relative;
	-moz-box-shadow: 0 2px 2px #888;
	-webkit-box-shadow: 0 2px 2px #888;
	box-shadow: 0 2px 2px #888
}

.calendar em {
	display: block;
	font: normal bold 11px/30px Arial, Helvetica, sans-serif;
	color: #fff;
	-moz-border-radius-bottomright: 3px;
	-webkit-border-bottom-right-radius: 3px;
	border-bottom-right-radius: 3px;
	-moz-border-radius-bottomleft: 3px;
	-webkit-border-bottom-left-radius: 3px;
	border-bottom-left-radius: 3px;
}

.calendar:before,
.calendar:after {
	content: '';
	float: left;
	position: absolute;
	top: 5px;
	width: 8px;
	height: 8px;
	background: #111;
	z-index: 1;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	border-radius: 10px;
	-moz-box-shadow: 0 1px 1px #fff;
	-webkit-box-shadow: 0 1px 1px #fff;
	box-shadow: 0 1px 1px #fff
}

.calendar:before {
	left: 11px
}

.calendar:after {
	right: 11px
}

.calendar em:before,
.calendar em:after {
	content: '';
	float: left;
	position: absolute;
	top: -5px;
	width: 4px;
	height: 14px;
	background: #dadada;
	background: -webkit-gradient(linear, left top, left bottom, from(#f1f1f1), to(#aaa));
	background: -moz-linear-gradient(top, #f1f1f1, #aaa);
	z-index: 2;
	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
	border-radius: 2px
}

.calendar em:before {
	left: 13px
}

.calendar em:after {
	right: 13px
}

.cal-icon {
	color: green;
	font-size: 2rem;
}

.map-icon {
	color: #f94994;
	font-size: 2rem;
}

.season-bg-january {
	background: #1126a5;
}

.season-bg-february {
	background: #0c5ec0;
}

.season-bg-march {
	background: #f8b3ec;
}

.season-bg-april {
	background: #f94994;
}

.season-bg-may {
	background: #98c7f1;
}

.season-bg-june {
	background: #006a5c;
}

.season-bg-july {
	background: #02ab82;
}

.season-bg-august {
	background: #61bf9a;
}

.season-bg-september {
	background: #eb9911;
}

.season-bg-october {
	background: #fc5e1d;
}

.season-bg-november {
	background: #680e03;
}

.season-bg-december {
	background: #2f77c3;
}

.footer-ul{
	list-style: none;
  	margin: 0;
  	padding: 0;
  	font-size: 1.2rem;
}
.footer-ul li a {
	color: var(--primary);
	font-weight: 350;
}
.footer-ul li + li{ margin-top: .35rem; }

.plain-ul{ list-style:none; margin:0; padding:0; }
.plain-ul li + li{ margin-top:.25rem; }
.white-border-top{ border-top:1px solid rgba(255,255,255,.3); opacity:1; }
