/* Desktop Layout: min-width of 1401px and greater.  Inherits styles from: Mobile Layout and Tablet Layout. */

.cbp-hrmenu {
	width: 100%;
	/*border-bottom: 4px solid #47a3da;*/

}

/* general ul style */
.cbp-hrmenu ul {
	margin: 0;
	padding: 0;
	list-style-type: none;	
}

/* first level ul style */
.cbp-hrmenu > ul,
.cbp-hrmenu .cbp-hrsub-inner {
	width: 100%;
	max-width: 85em;
	margin: 0 auto;
	/*margin-left: 20%;*/
	padding: 0 0.475em;
}

.cbp-hrmenu > ul > li {
	display: inline-block;
}

/* 2. Visible Focus State (REQUIRED for WCAG) */
.cbp-hrmenu a:focus {
    outline: 3px solid #FFBF47 !important; /* High contrast orange */
    outline-offset: 2px;
    background-color: #367da8 !important;
}

.cbp-hrmenu > ul > li > a {
	font-weight: 700;
	padding: .59em 1.25em;

	display: inline-block;
	
	color: #FFF;
	border-right: 1px solid #778;
	text-decoration: none;
	font: bold 21px "Calibri";
	text-shadow: 2px 2px #666;
}

.cbp-hrmenu > ul > li > a:hover {
	/*color: #ADE0E9;*/
	color: #CFF2F9;
	background-color: #004C75;
}

.cbp-hrmenu > ul > li.cbp-hropen a,
.cbp-hrmenu > ul > li.cbp-hropen > a:hover {
	/*color: #fff;*/
	/*background: #47a3da; OLD BACKGROUND*/
	background: #367da8;
}

/* sub-menu */
.cbp-hrmenu .cbp-hrsub {
	display: none;
	position: absolute;
	/*background: #47a3da; OLD BACKGROUND*/
	background: #367da8;
	width: 100%;
	left: 0;
}

.cbp-hropen .cbp-hrsub {
	display: block;
	padding-bottom: 3em;
}

.cbp-hrmenu .cbp-hrsub-inner > div {
	/*width: 13%;*/
	width: 28%;
	float: left;
	padding: 0 2em 0;
}

.cbp-hrmenu .cbp-hrsub-inner:before,
.cbp-hrmenu .cbp-hrsub-inner:after {
	content: " ";
	display: table;
}

.cbp-hrmenu .cbp-hrsub-inner:after {
	clear: both;
}



.cbp-hrmenu .cbp-hrsub-inner > div a {
	line-height: 1.4em;
	text-decoration: none;
	
}

.cbp-hrmenu .cbp-hrsub-inner > div a:hover {
	text-decoration: underline;
}

.cbp-hrsub h4 {
	color: #afdefa;
	padding: .4em 0 0.4em;
	margin: 0;
	font-size: 160%;
	font-weight: 300;
}

.cbp-hrsub h4 a {
	/*color: #afdefa;*/
	color: #afdefa;
	
}

.cbp-hrsub h4 a:hover {
	/*color: #ADE0E9;*/
	text-decoration: none;
}

.cbp-hrmenu .cbp-hrsub .cbp-hrsub-inner > div ul li a {
	color: #fff;
	font-size: 110%;
}
.cbp-hrsub .cbp-hrsub-inner .section2 {  
	color: #FFFFFF;
	padding: .4em 0 0.4em;
	margin: 0;
	font-size: 160%;
	font-weight: 300;
}

.cbp-hrsub .cbp-hrsub-inner .section2 a {
	color: #FFFFFF;
}

.cbp-hrsub .cbp-hrsub-inner .section2 a:hover {
	text-decoration: none;
}

.cbp-hrmenu .cbp-hrsub .cbp-hrsub-inner > div ul li a {
	color: #fff;
	font-size: 110%;
}
.cbp-hrmenu .cbp-hrsub .cbp-hrsub-inner > div ul li a:visited {
	color: #fff;
	font-size: 110%;
}
.cbp-hrmenu .cbp-hrsub .cbp-hrsub-inner > div ul li a:active {
	color: #fff;
	font-size: 110%;
}
.cbp-hrmenu .cbp-hrsub .cbp-hrsub-inner > div ul li a:focus {
	color: #fff;
	font-size: 110%;
}

/*accessibility */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}
/*accessibility */
/* 1. RESET & STYLE: Makes buttons behave and look like your menu links */
.cbp-hrmenu > ul > li > button {
    /* Reset defaults */
    background: transparent;
    border: none;
    cursor: pointer;
    margin: 0;
    
    /* Apply your exact link styles */
    font-weight: 700;
    padding: .59em 1.25em;
    display: inline-block;
    color: #FFF;
    border-right: 1px solid #778;
    text-decoration: none;
    font: bold 21px "Calibri";
    text-shadow: 2px 2px #666;
}

/* 2. HOVER: Matches your link hover state */
.cbp-hrmenu > ul > li > button:hover {
    color: #CFF2F9;
	background-color: #004C75;
}

/* 3. FOCUS & OPEN: Replicates the link focus and active states */
.cbp-hrmenu button:focus {
    outline: 3px solid #FFBF47 !important;
    outline-offset: 2px;
    background-color: #367da8 !important;
}

/* Ensures the button stays styled correctly when the menu is open */
.cbp-hropen > button,
.cbp-hropen > button:hover {
    background: #367da8;
}

/* 4. Fix for spacing/alignment to match neighboring Home link */
.cbp-hrmenu > ul > li {
    vertical-align: middle;
}

/* Examples for media queries  */
/* Laptop Layout: Min width 1075px - max width 1400px*/
@media screen and (max-width: 52.75em) { 
	
	.cbp-hrmenu {
		font-size: 95%;
	
	}
	
	.cbp-hrmenu ul {
        z-index:100;
		
	}
	
	.cbp-hrmenu ul li ul li {
		z-index: 3;
		}
	/*.cbp-hrmenu > ul > li {
		display: block;
		border-bottom: 4px solid #47a3da;
	}*/
}

@media only screen and (max-width: 48em) { 
	
	.cbp-hrmenu {
		font-size: 120%;
		border: none;
		z-index: 3;
		margin-left: 20px
	}

	.cbp-hrmenu > ul,
	.cbp-hrmenu .cbp-hrsub-inner {
		width: 100%;
		padding: 0;
		margin-left: 0 !important; /*added to keep menu left*/
	}

	.cbp-hrmenu .cbp-hrsub-inner {
		padding: 0 2em;
		font-size: 95%;
	}

	.cbp-hrmenu > ul > li {
		display: block;
		border-bottom: 4px solid #47a3da;
	}

	.cbp-hrmenu > ul > li > a { 
		display: block;
		padding: 1em 3em;
	}

	.cbp-hrmenu .cbp-hrsub { 
		position: relative;
	}

	.cbp-hrsub h4 {  /*will need to be removed for acc */
		padding-top: 0.6em;
	}
	
	.cbp-hrsub .cbp-hrsub-inner .section2 {
		padding-top: 0.6em;
	}
	
	 /* 1. Force the button to match the "Home" link layout */
    .cbp-hrmenu > ul > li > button {
        display: block;       /* Matches the link's display */
        width: 100%;         /* Ensures it takes up the full row */
        text-align: left;    /* Aligns text to the left like the Home link */
        padding: 1em 3em;    /* Matches the exact padding of your <a> tag */
        border: none;        /* Removes the default button border */
        border-right: none !important; /* Removes the vertical line from desktop */
        background: transparent;
       /* font: inherit;  */     /* Inherits the 120% font size you set above */
        font-weight: 700;
        color: #FFF;
        text-shadow: 2px 2px #666;
		-webkit-tap-highlight-color: transparent;
    }

    /* 2. Ensure both links and buttons line up perfectly */
    .cbp-hrmenu > ul > li > a { 
        display: block;
        padding: 1em 3em;
        border-right: none !important; /* Removes the vertical line from desktop */
    }

    /* 3. Handle the hover/active state for buttons on mobile */
    .cbp-hrmenu > ul > li.cbp-hropen > button {
        background: #367da8;
    }

}

@media screen and (max-width: 36em) {
	
	.cbp-hrmenu .cbp-hrsub-inner > div {
		width: 100%;
		float: none;
		padding: 0 2em;
		
	}
}

