/*
	PARTS
	- defined by 'ALL CAPS'
	- parts within parts, will cause styles to conflict & cascading issues
	- seperate into different files, eg: parts-main, parts-singles, parts-blog
*/



/* HEADER */

.HEADER {
	position: relative;
	height: 100%;
}

.HEADER .notification {
	position: absolute;
	bottom: 130px;
	left: 0;
	right: 0;
	height: 50px;
	background: #DCE6EA;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.HEADER .notification p {
	font-size: 14px;
	font-weight: 700;
	line-height: 24px;
	max-width: 900px;
	text-align: center;
	padding: 13px;
	margin: 0 auto;
	position: relative;
	z-index: 2;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.HEADER .notification .b-button {
	background: #fff;
	height: 24px;
	line-height: 24px;
	font-size: 14px;
	font-weight: 700;
	color: #101820;
	padding: 0 12px;
	border-radius: 12px;
	margin-left: 12px;
}

.HEADER .notification .b-button:hover {
	color: #fff;
	background: #71B2C9;
}

.HEADER .b-frame {
	padding-top: 0;
	padding-bottom: 0;
	height: 100%;
}

.HEADER .inset {
	position: relative;
	height: 100%;
}

.HEADER .logo {
	position: absolute;
	display: block;
	top: 25px;
	left: -15px;
	width: 204px;
	height: 204px;
	background: no-repeat center url(../img/rmcc-dark.svg);
	transform-origin: 0 0;
	transition: transform 0.25s;
}

.HEADER .nav-trigger {
	display: none;
	position: absolute;
	top: 50%;
	right: 0;
	width: 40px;
	height: 40px;
	background: url(../img/ui-nav.svg) no-repeat center;
	transform: translate(0, -50%);
	transform-origin: 0 50%;
	text-indent: -9999px;
	overflow: hidden;
}

.HEADER nav {
	position: absolute;
	top: 90px;
	right: 0;
	height: 50px;
	transition: transform 0.25s;
}

.HEADER nav a:not(.b-button) {color:#18332F;}
.HEADER nav a:not(.b-button):hover {color:#71B2C9;}

.HEADER h6 {
	font-size: 16px;
	line-height: 50px;
	font-weight: 700;
	color: #18332F;
	line-height: 50px;
	transition: color 0.25s;
	cursor: default;
}

.HEADER h6 .expand {
	display: inline-block;
	vertical-align: middle;
	width: 13px;
	height: 8px;
	margin: -1px 0 0 2px;
}

.HEADER h6 .expand svg {
	display: block;
	fill: currentColor;
	width: 13px;
	height: 8px;
}

/* teir 1 */

.HEADER nav > ul > li {
	position: relative;
	float: left;
	margin: 0 0 0 40px;
	font-size: 16px;
	line-height: 50px;
	height: 50px;
}

/* .HEADER nav > ul > li:last-child {margin-left:20px;} */

.HEADER nav > ul > li .button {
	font-size: 16px;
	line-height: 50px;
	height: 50px;
	padding: 0 25px;
}

/* teir 2 */

.HEADER nav > ul > li > ul {
	display: block !important;
	position: absolute;
	overflow: hidden;
	top: 50px;
	left: -20px;
	background: #fff;
	width: 200px;
	opacity: 0;
	font-size: 12px;
	line-height: 15px;
	font-weight: 700;
	border-radius: 10px;
	padding: 20px;
	box-shadow: 15px 15px 40px 10px rgba(0,0,0,0.06);
	transform: translate(0, 40px);
	pointer-events: none;
	transition: opacity 0.25s, transform 0.25s;
}

.HEADER nav > ul > li > ul.split {
	column-count: 2;
	width: 300px;
}

.HEADER nav > ul > li > ul > li {
	margin: 20px 0;
}

/*.20250516: Removed
	HEADER nav > ul > li li span {
	display: block;
	margin: 10px 0 30px 0 !important;
	font-weight: 400;
}*/

/* teir 2 toggle functionality */

.HEADER nav > ul > li:hover h6 {
	color: #71B2C9 !important;
}

.HEADER nav > ul > li:focus-within h6 .expand,
.HEADER nav > ul > li:hover h6 .expand {
	transform: scaleY(-1);
}

.HEADER nav > ul > li:focus-within > ul,
.HEADER nav > ul > li:hover > ul {
	opacity: 1;
	transform: translate(0, 0);
	pointer-events: auto;
}

/* scroll transition */

.b-page[data-scroll] .HEADER nav {transform: translate(0, -70px);}
.b-page[data-scroll] .HEADER .logo {transform: scale(0.5) translate(0, -25px);}

@media screen and (min-width: 1501px) {
	.HEADER .logo {left:-102px; transform-origin: 50% 0;}
}

@media screen and (min-width: 901px) {
	.b-page:not([data-scroll]) .HEADER.alt-light .logo {background-image:url(../img/rmcc-light.svg);}
	.b-page:not([data-scroll]) .HEADER.alt-light h6 {color:#fff;}
	.b-page:not([data-scroll]) .HEADER.alt-light nav > ul > li:hover h6 {color:#18332F !important;}
	.b-page:not([data-scroll]) .HEADER.alt-light .b-button.alt-outline:not(:hover) {color:#fff; box-shadow:inset 0 0 0 2px #fff;}
}

@media screen and (max-width: 1200px) {
	.HEADER h6 {font-size:14px;}
	.HEADER h6 .expand {display:none;}
	.HEADER nav > ul > li {margin-left:20px; font-size:14px;}
	.HEADER nav > ul > li .b-button {font-size:14px; padding:0 15px;}
	.HEADER nav > ul > li .b-button.alt-outline {padding:0; box-shadow:none !important; color:#18332F;}
	.HEADER nav > ul > li .b-button.alt-outline:hover {background:none; color:#71B2C9;}
}

@media screen and (max-width: 900px) {
	.HEADER .logo {transform:translate(5px, -15px) scale(0.33) !important; background-image:url(../img/rmcc-mobile.svg); background-size:contain;}
	.HEADER .nav-trigger {display:block; right:-10px;}
	.HEADER nav {display:none;}
}



/* FOOTER */

.FOOTER {
	background: #F4EFE4;
}

.FOOTER .b-frame {
	padding-top: 80px;
	padding-bottom: 40px;
}

.FOOTER .logo {
	display: block;
	width: 204px;
	height: 50px;
	background: no-repeat center url(../img/rmcc-footer.svg);
	margin: 0 40px 40px 0;
}

.FOOTER .social a {
	display: inline-block;
	vertical-align: top;
	width: 24px;
	height: 24px;
	background: no-repeat center;
	margin-right: 24px;
	color:#101820;
}

.FOOTER .social a:hover {
	color:#71B2C9;
}

.FOOTER h6 {
	text-transform: uppercase;
	color: #E56A54;
	font-size: 12px;
	line-height: 15px;
	font-weight: 700;
	margin-bottom: 20px;
}

.FOOTER ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.FOOTER li {
	margin: 20px 0;
	font-size: 12px;
	line-height: 15px;
	font-weight: 700;
}

.FOOTER ul.split {column-count:2;}

.FOOTER li a:not(.b-button) {color:#101820;}
.FOOTER li a:not(.b-button):hover {color:#71B2C9;}

.FOOTER .legal {
	margin-top: 40px;
	font-size: 12px;
	line-height: 15px;
}

.FOOTER .legal a {color:#101820; padding-right:40px;}
.FOOTER .legal a:hover {color:#71B2C9;}

.FOOTER li span {display: block; font-weight:400; margin:10px 0 30px 0 !important;}
.FOOTER li span.third-tier-clickable {display: flex;flex-direction: column;gap: 10px;}
.FOOTER .b-columns {justify-content:space-between;}
.FOOTER .b-column:last-child {text-align:center;}
.FOOTER .b-column:last-child li:nth-child(3) {margin-top:40px !important;}
.FOOTER .b-column:last-child li:nth-child(4) {margin-top:20px !important;}
.FOOTER .b-button {padding:0; width:160px;}

@media screen and (max-width: 1200px) {
	.FOOTER .b-column:first-child {display:none;}
}

@media screen and (max-width: 900px) {
	.FOOTER .b-frame {padding-top:40px; padding-bottom:20px;}
	.FOOTER .b-column {width:100%;}
	.FOOTER .b-column:first-child {display:block;}
	.FOOTER .b-column:nth-child(2), 
	.FOOTER .b-column:nth-child(3), 
	.FOOTER .b-column:nth-child(4), 
	.FOOTER .b-column:nth-child(5) {
			display: none;
		}
	.FOOTER .logo {display:none;}
	.FOOTER .social {text-align:center;}
	.FOOTER .social a {margin:0 12px;}
	.FOOTER .legal {text-align:center;}
	.FOOTER .legal a {padding:0 10px;}
	.FOOTER .copyright {display:block; margin-top:20px;}
}


/* NAV */

.NAV {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background: #fff;
	transform: translate(0, -80px);
	transition: transform 0.25s;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: none;
}

.NAV::-webkit-scrollbar {
	display: none;
}

.NAV nav {
	overflow: hidden;
}

.NAV nav input {
	display: none;
}

.NAV nav input ~ label {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 60px;
}

.NAV h6 {
	font-size: 16px;
	font-weight: 700;
	color: #18332F;
	line-height: 60px;
	margin: 0;
}

.NAV h6 .expand {
	display: inline-block;
	vertical-align: middle;
	width: 13px;
	height: 8px;
	margin: -1px 0 0 2px;
}

.NAV h6 .expand svg {
	display: block;
	fill: currentColor;
	width: 13px;
	height: 8px;
}

.NAV .social {
	text-align: center;
	line-height: 24px;
	margin-top: 40px;
}

.NAV .social a {
	display: inline-block;
	vertical-align: top;
	width: 24px;
	height: 24px;
	background: no-repeat center;
	margin: 0 12px;
}

.NAV .social a:nth-child(1) {background-image:url(../img/social-facebook.svg);}
.NAV .social a:nth-child(2) {background-image:url(../img/social-instagram.svg);}
.NAV .social a:nth-child(3) {background-image:url(../img/social-twitter.svg);}

.NAV .b-button {
	margin-top: 20px;
}

.NAV nav a:not(.b-button) {color:#18332F;}

/* teir 1 */

.NAV nav > ul > li {
	position: relative;
	line-height: 60px;
}

.NAV nav > ul > li > a {
	display: block;
	padding: 0;
}

.NAV nav > ul > li:last-child {
	border-bottom: none;
	margin-top: 40px;
}

/* teir 2 */

.NAV nav > ul > li > ul {
	overflow: hidden;
	display: none;
	font-size: 14px;
	line-height: 22px;
	font-weight: 700;
}

.NAV nav > ul > li > ul > li {
	margin:20px 0;
}

.NAV nav > ul > li > ul > li:first-child {margin-top:0 !important;}
.NAV nav > ul > li > ul > li:last-child {margin-bottom:20px !important;}

.NAV nav > ul > li > ul.split {columns:2; height:250px;}
.NAV nav > ul > li > ul.split ul li {margin:8px 0 0 0 !important; font-weight:400;}

/* teir 2 show/hide functionality */

.NAV nav input:checked ~ ul {display:block;}
.NAV nav input:checked ~ h6 .expand {transform:scaleY(-1);}

#toggle-nav:checked ~ .b-nav .NAV {transform:translate(0, 0);}
#toggle-nav:checked ~ .b-page .HEADER .nav-trigger {background-image:url(../img/ui-dismiss.svg);}

/* fix to make sure the nav can always be closed */

#toggle-nav:checked ~ .b-page .HEADER .nav-trigger {display:block;}
#toggle-nav:checked ~ .b-page .HEADER nav {display:none;}

@media screen and (min-width: 901px) {
	#toggle-nav:checked ~ .b-nav {box-shadow: 0 -130px 0 #fff;}
}



/* MODAL */

.MODAL {
	position: relative;
	transform: translate(0, 80px);
	transition: transform 0.25s;
}

.MODAL .close {
	position: absolute;
	top: 0;
	right: 0;
	width: 40px;
	height: 40px;
	background: #ccc no-repeat center;
}

.MODAL .content {
	box-sizing: border-box;
	background: #fff;
	width: 1200px;
	max-width: calc(100vw - 80px);
	max-height: calc(100vh - 80px);
	padding: 40px;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}

#toggle-modal:checked ~ .b-modal .MODAL {
	transform: translate(0, 0);
}

@media screen and (max-width: 900px) {
	.MODAL .content {width:400px; max-width:calc(100vw - 40px); padding:20px;}
}



/* INDEX */

.INDEX > div {margin:80px 0; border-bottom:1px solid transparent;}
.INDEX > div:first-child {margin-top:0;}
.INDEX > div:last-child {margin-bottom:0;}

.INDEX .page-title h1 {
	margin: 0;
}

.INDEX .page-title .author {
	margin-top: 5px;
	font-weight: 600;
}

.INDEX .page-title .author-image {
	border-radius: 100%;
	border: 8px solid #fff;
	background: #ccc no-repeat center / cover;
	box-shadow: 15px 15px 40px 10px rgba(0,0,0,0.1);
	max-width: 220px;
}

.INDEX .page-title .author-image::after {
	content: "";
	display: block;
	padding-bottom: 100%;
}

.INDEX .page-title .author-content h1::after {
	content: "";
	display: block;
	margin-top:20px;
	width: 80px;
	height: 4px;
	background: #E56A54;
}



/* featured-post */

.INDEX .featured-post .image {
	display: block;
	max-width: 516px;
	background: #ccc no-repeat center / cover;
	border-radius: 10px;
	box-shadow: 15px 15px 40px 10px rgba(0,0,0,0.1);
}

.INDEX .featured-post .image::after {
	content: "";
	display: block;
	padding-bottom: 66.66%;
}

.INDEX .featured-post .title::after {
	content: "";
	display: block;
	margin-top:20px;
	width: 80px;
	height: 4px;
	background: #E56A54;
}


/* search */

.INDEX .search {
	background: #F4EFE4;
	border-radius: 10px;
	padding: 40px 60px;
}

.INDEX .search form {
	display: flex;
	align-items: center;
}

.INDEX .search form > h1 {
	white-space: nowrap;
	padding-right: 60px;
}

.INDEX .search form .input {
	position: relative;
	flex-grow: 1;
}

.INDEX .search input[type="text"] {
	border-radius: 0;
	box-shadow: none;
	background: transparent;
	border-bottom: 1px solid #71b2c9;
	padding: 0 30px 0 0;
}

.INDEX .search input[type="submit"] {
	position: absolute;
	top: 10px;
	right: 0;
	width: 30px;
	height: 30px;
	text-indent: -9999px;
	background: no-repeat center url(../img/ui-search.svg);
	cursor: pointer;
	border: none;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

.INDEX .search input[type="submit"]:focus,
.INDEX .search input[type="submit"]:hover {
	outline: none;
}


/* categories */

.INDEX .categories {
	position: relative;
	padding: 80px 0;
}

.INDEX .categories::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: -9990px;
	right: -9999px;
	background: #F4EFE4;
}

.INDEX .categories .container {
	position: relative;
}

.INDEX .categories .head {
	text-align: center;
	padding-bottom: 40px;
}

.INDEX .categories .b-button {
	width: 100%;
	padding: 0;
}


/* post */

.INDEX .post {
	position: relative;
	overflow: hidden;
	border-radius: 10px;
	box-shadow: 15px 15px 40px 10px rgba(0,0,0,0.1);
	box-sizing: border-box;
	height: 100%;
}

.INDEX .post .image {
	display: block;
	background: #ccc no-repeat center / cover;
}

.INDEX .post .image::after {
	content: "";
	display: block;
	padding-bottom: 66.66%;
}

.INDEX .post .content {
	padding: 20px;
}

.INDEX .post .category a {
	color: inherit;
}

.INDEX .post .type {
	float: right;
}

.INDEX .post .type > span {
	display: inline-block;
	vertical-align: top;
	width: 20px;
	height: 20px;
	background: no-repeat center / contain;
	margin-left: 5px;
}

.INDEX .post .type .term-article {background-image:url(../img/ui-article.svg);}
.INDEX .post .type .term-audio {background-image:url(../img/ui-audio.svg);}
.INDEX .post .type .term-video {background-image:url(../img/ui-video.svg);}

.INDEX .post .title {
	clear: right;
	padding-top: 10px;
	margin-top: 0;
}

.INDEX .post .title a::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.INDEX .post .excerpt {
	margin: 10px 0;
	display: none;
}


/* ajax load more */

.INDEX .alm-reveal {
	display: flex;
	flex-wrap: wrap;
	margin: -20px;
}

.INDEX .alm-item {
	padding: 20px;
	box-sizing: border-box;
	flex: 0 0 auto;
	align-items: stretch;
	width: 33.33%;
}

.INDEX .ajax-load-more-wrap[data-total-posts="0"] .alm-listing:empty::before {
	content: "No results found.";
}

.INDEX .alm-reveal + .alm-reveal {padding-top:20px;}
.INDEX .alm-btn-wrap {text-align:center; overflow:hidden;}
.INDEX .alm-load-more-btn {margin-top:80px;}
.INDEX .alm-load-more-btn.done {display:none;}

@media screen and (min-width: 901px) {
	.INDEX .b-frame {padding-top:80px;}
	.INDEX .alm-reveal {margin-bottom:-20px;}
	.INDEX .search input[type="text"] {font-size:24px; font-weight:700;}
}

@media screen and (max-width: 900px) {
	.INDEX > div {margin:40px 0;}
	.INDEX > div:first-child {margin-top:0;}
	.INDEX > div:last-child {margin-bottom:0;}

	.INDEX .page-title .author-image {margin:0 auto -10px;}
	.INDEX .page-title .author-content {text-align:center;}
	.INDEX .page-title .author-content h1::after {margin-left:auto; margin-right:auto;}

	.INDEX .featured-post .image {margin-bottom:-10px;}

	.INDEX .filter .b-columns {margin:-10px;}
	.INDEX .filter .b-columns > .b-column {padding:10px;}

	.INDEX .search {padding:20px;}
	.INDEX .search form {display:block;}
	.INDEX .search form > h1 {padding:0 0 10px 0;}

	.INDEX .categories {padding:40px 0;}
	.INDEX .categories .head {padding-bottom:20px;}
	.INDEX .categories .b-columns {margin:-5px;}
	.INDEX .categories .b-column {padding:5px; width:33.33%;}
	.INDEX .categories .b-button {font-size:12px; height:30px; line-height:30px;}

	.INDEX .alm-item {width:100%;}
	.INDEX .alm-reveal + .alm-reveal {padding-top:20px;}
	.INDEX .alm-load-more-btn {margin-top:40px;}
}



/* SINGLE */

.SINGLE {
	margin: 0 auto;
	max-width: 660px;
	position: relative;
}

.SINGLE .series {
	margin-bottom: 10px;
}

.SINGLE .series a {
	font-weight: 700;
	color: #71B2C9;
}

.SINGLE .series a:hover {
	color: #101820;
}

.SINGLE .title {
	margin: 0 0 40px;
}

.SINGLE .meta {
	position: relative;
	margin: 40px 0 60px;
	padding-left: 90px;
}

.SINGLE .meta a:not(:hover) {
	color: #101820;
}

.SINGLE .meta > div {
	display: inline-block;
	vertical-align: middle;
	font-weight: 700;
}

.SINGLE .meta .category {
	float: right;
	margin-left: 20px;
}

.SINGLE .meta .meta-image {
	position: absolute;
	top: 50%;
	left: 0;
	width: 70px;
	height: 70px;
	background: #ccc no-repeat center / cover;
	border-radius: 100%;
	transform: translate(0, -50%);
}

.SINGLE .meta .ttr::before,
.SINGLE .meta .date::before {
	content: "•";
	color: #71B2C9;
	font-weight: 700;
	padding: 0 10px 0 6px;
	display: inline-block;
	transform: scale(1.25);
}

.SINGLE .image {
	position: relative;
	background: #ccc no-repeat center / cover;
	margin: 40px auto;
	box-shadow: 15px 15px 40px 10px rgba(0,0,0,0.1);
	border-radius: 10px;
	overflow: hidden;
}

.SINGLE .image::after {
	content: "";
	display: block;
	padding-bottom: 66.66%;
}

.SINGLE .image iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	border: none;
}

.SINGLE .content {
	margin: 60px 0;
}

.SINGLE .content li::marker {
	color: #71B2C9;
	font-weight: 700;
}

.SINGLE .content .aligncenter {
	border-radius: 10px;
}

.SINGLE .author {
	margin: 60px 0 0;
	padding: 60px 0 0 100px;
	border-top: 1px solid #E56A54;
	position: relative;
	min-height: 70px;
}

.SINGLE .author p {
	margin: 10px 0;
}

.SINGLE .author-image {
	position: absolute;
	top: 55px;
	left: 0;
	width: 70px;
	height: 70px;
	background: #ccc no-repeat center / cover;
	border-radius: 100%;
}

.SINGLE .share {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-440px, 0);
}

.SINGLE .share a {
	display: block;
	width: 30px;
	height: 30px;
	margin-bottom: 30px;
	color: #E56A54
}

.SINGLE .share a:hover {
	color: #71B2C9;
}

.SINGLE .share a svg {
	display: block;
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 940px) {
	.SINGLE .share {display:none; position:static; transform:none; margin:40px 0 0;}
	.SINGLE .share a {display:inline-block; vertical-align:top; margin:0 20px 0 0;}
}

@media screen and (max-width: 900px) {
	.SINGLE .title {margin-bottom:20px;}
	.SINGLE .meta {padding:0; margin:20px 0; font-size:12px; line-height:15px;}
	.SINGLE .meta .category {float:none; margin:0;}
	.SINGLE .meta .meta-image,
	.SINGLE .meta .meta-author {display:none;}
	.SINGLE .meta .ttr::before,
	.SINGLE .meta .date::before {padding:0 5px 0 3px;}
	.SINGLE .image {margin:30px 0;}
	.SINGLE .content {margin:30px 0 40px;}
	.SINGLE .author {margin-top:40px; padding-top:40px; padding-left:90px; font-size:14px; line-height:18px;}
	.SINGLE .author-image {top:35px;}
}



/* NOT-FOUND */

.NOT-FOUND .image {
	max-width: 740px;
	background: url(../img/404.svg) no-repeat center / contain;
	margin: 0 auto 40px;
}

.NOT-FOUND .image::after {
	content: "";
	display: block;
	padding-bottom: 50%;
}

.NOT-FOUND .content {
	text-align: center;
}

@media screen and (max-width: 900px) {
	.NOT-FOUND .image {margin-bottom:30px;}
}



/* PAGE */

.PAGE {
	margin: 0 auto;
	max-width: 787px;
}