/* layout */
body {
	font-family: var(--font-paragraph);
}
h1, h2, h3, h4, h5 {
	font-family: var(--font-heading);
	font-weight: 500;
}
img {
	width: 100%;
	height: auto;
}
input, textarea, select {
	outline: 0;
}
.sec-title {
	text-transform: uppercase;
	font-size: 0.8rem;
	font-weight: 300;
	letter-spacing: 3px;
	position: relative;
}
.sec-title a {
	color: var(--color-light);
	text-decoration: none;
}
.sec-title .more {
	background: url(../images/more-arrow.png) no-repeat right center;
	background-size: cover;
	padding: 2px 15px 2px 5px;
	text-transform: uppercase;
	color: var(--color-gray-1);
	font-size: 11px;
	display: inline-block;
	line-height: 12px;
	width: 0;
	transition: width .5s ease-out .5s;
	transform: translate(5px, -2px);
}
.sec-title .more m {
	opacity: 0;
	transition: opacity .5s ease-out 0s;
}

section.news .col-9:hover .sec-title .more,
section.news .col-3:hover .sec-title .more,
section.news .container:hover .more,
footer .col-3:hover h3 .more {
	width: 46px;
	transition: width .5s ease-out 0s;
	
}
section.news .col-9:hover .sec-title .more m,
section.news .col-3:hover .sec-title .more m,
section.news .container:hover .more m,
footer .col-3:hover h3 .more m {
	opacity: 1;
	transition: opacity .5s ease-out .5s;
}
section.news .col-3:hover .sec-title a {
	background: transparent;
}
footer .col-3:hover h3 .more 

.page-title {
	font-family: var(--font-decoration);
	font-size: 3rem;
	margin-bottom: 1rem;
	font-weight: 700;
}

/* header */
div.header-ph {
	height: 105px;
}
header.mainNav {
	background: var(--color-secondary);
	font-family: var(--font-heading);
	overflow: hidden;
	position: fixed;
    width: 100%;
    z-index: 8;
    transition: background-color 0.5s ease;
    top: 0;
}
.admin-bar header {
	top: 29px;
}
header .container {
	position: relative;
}
header .row {
	margin-bottom: 0;
}
header .logo {
	/*background: url(../images/logo-sbm-white.png) no-repeat center;*/
	background-size: contain;
	background-position: left;
	width: 329px;
	transition: width 0.5s ease;
}
header.scrollDown .logo {
	width: 253px;
	transition: width 0.5s ease;
}
header .logo a {
	display: block;
	width: 100%;
	height: 6%;
	/*text-indent: -9999px;*/
}
header .logo img {
	width: 100%;
}
header .col-3, 
header .col-4 {
	/*padding: 14px 0;*/
	position: relative;
}
header .col-9 {
	margin-left: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}
header .menu ul {
	list-style: none;
	margin: 0;
	padding-left: 0;
	text-align: right;
}
header .menu ul li {
	display: inline-block;
}
header .menu li a:hover {
	color: var(--color-tertiary);
}
header .mainmenu {
	width: 400px;
	overflow-y: auto;
    height: 100%;
}
header .main-menu li {
	font-size: 0.868rem;
	padding: 0;
	font-weight: 500;
	color: var(--color-light);
	text-transform: uppercase;
}
header .main-menu li a,
header .top-menu li a {
	text-decoration: none;
	color: var(--color-light);
	display: block;
	transition: color .2s;
}
header .top-menu li {
	font-size: 0.8rem;
	padding: 0;
	font-weight: 500;
	color: var(--color-light);
	text-transform: capitalize;
}
header .top-menu li a {
	padding: 12px 16px;
}
header .main-menu li a {
	padding: 18px 16px;
}
header .submenu {
	position: relative;
}
header .submenu:before {
	position: absolute;
	content: url(../images/sub-menu.svg);
	width: 12px;
	height: 6px;
	left: 46%;
	top: 23%;
	transition: transform .5s ease-out;
}
header .submenu:hover:before {
	transform: rotate(180deg);
}
header.scrollDown {
	background-color: var(--color-secondary);
	transition: background-color 0.5s ease;
	box-shadow: 0px 2px 5px #00000027;
}
header .logo img {
	width: 100%;
}
.page-header .bg-img {
	position: absolute;
}

/* header lines */
/*header .col-3.logobox:after {
	content: " ";
	display: block;
	border: none;
	border-right: 1px solid #FFFFFF;
	position: absolute;
	height: 112px;
	right: 0;
	top: -0.5rem;
}
header .container.nav-area:after {
	content: " ";
	display: block;
	border: none;
	border-bottom: 1px solid #FFFFFF;
	position: absolute;
	height: 1px;
	top: 40px;
	left: 23%;
	width: 100vw;
}*/


/* Stage */
section.stage {
	/*background-color: var(--color-primary);
	background: linear-gradient(165deg, rgba(5,33,85,1) 0%, rgba(4,63,180,1) 100%);*/
	min-height: 200px;
	color: var(--color-light);
	overflow: hidden;
	position: relative;
}
.stage .bg-img {
	object-fit: cover;
    position: absolute;
    opacity: .4;
}
.stage .bg-sbm {
	object-fit: cover;
	position: absolute;
	/*opacity: .4;*/
   	/*filter: opacity(0.8);*/
   	height: 100%;
}
.stage .row {
	display: flex;
}
.stage-title {
	font-family: var(--font-decoration);
	font-size: 4.5rem;
	margin-bottom: 3rem;
}
.page-header .sec-title {
	color: #FFFFFF;
}
.stage .col-9,
.stage .col-3,
.page-header .col-3 {
	padding: 3rem 0 1rem;
	position: relative;
}
.stage-desc {
	font-size: 1.5rem;
	line-height: 2.5rem;
	letter-spacing: 1px;
}
.stage .motto {
	padding-bottom: 5rem;
}
.stage .program a {
	display: block;
	color: var(--color-light);
	padding: 0.5rem 0.75rem;
	border: 1px solid rgba(255,255,255,0.5);
	margin-bottom: 1rem;
	margin-right: 1.5rem;
	font-family: var(--font-heading);
	font-size: 0.65rem;
	text-decoration: none;
	text-transform: uppercase;
	line-height: 1.25rem;
	transition: background .5s;
}
.stage .program a:hover {
	background-color: rgba(255,255,255,0.2);
}
/*.stage .col-3:after,
.page-header .col-3:after {
	content: " ";
	display: block;
	border: none;
	border-right: 1px solid rgba(255,255,255, .5);
	position: absolute;
	height: calc(100% + 1rem);
	right: 0;
	top: -0.5rem;
}*/
.stage .upcoming-feed:before {
	content: " ";
    display: block;
    background: var(--color-tertiary);
    width: 32px;
    height: 10px;
    position: relative;
    margin-left: -47px;
    margin-bottom: -22px;
}
.stage .upcoming-feed .sec-title {
	margin-bottom: 30px;
	color: var(--color-light);
}
.stage .upcoming-feed .post,
.page-header .upcoming-feed .post {
	display: inline-block;
	color: var(--color-light);
	padding: 0.5rem 0.75rem;
	border: 1px solid rgba(255,255,255,0.5);
	margin-bottom: 1rem;
	margin-right: 1.5rem;
	font-family: var(--font-heading);
	font-size: 0.85rem;
	text-decoration: none;
	text-transform: capitalize;
	line-height: 1.25rem;
	transition: background .5s ease-out .2s;
	width: 180px;
}
.stage .upcoming-feed .post {
	background-color: #333333BF;
}
.stage .upcoming-feed .post span,
.page-header .upcoming-feed .post span {
	
}
.stage .upcoming-feed .post:hover,
.page-header .upcoming-feed .post:hover,
.float-menu ul a:hover {
	background-color: rgba(255,255,255,0.2);
	transition: background .5s ease-out 0s;
}

/* News */
section.news {
	border-top: 1px solid rgba(255,255,255, .5);
	/*background-color: var(--color-gray-2);*/
	background-color: #fafafa;
	min-height: 100px;
	color: var(--color-light);
	padding: 3rem 0;
}
section.news .sec-title {
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: 1.15rem;
	letter-spacing: 0px;
	text-transform: capitalize;
}
section.news .col-3 a.post {
	display: inline-block;
	color: var(--color-light);
	padding: 0.5rem 0.75rem;
	border: 1px solid rgba(255,255,255,0.5);
	margin-bottom: 1rem;
	margin-right: 1.5rem;
	font-family: var(--font-heading);
	font-size: 0.9rem;
	text-decoration: none;
	text-transform: capitalize;
	font-weight: 500;
	line-height: 1.25rem;
	transition: background .5s;
	width: 180px;
}
section.news .col-3 a:hover {
	/*background-color: rgba(255,255,255,0.2);*/
}
.main-news {
	display: flex;
}
.main-news .thumb {
	width: 236px;
}
.main-news .thumb,
footer .col-3 .thumb {
	display: flex;
	height: 100px;
	position: relative;
}
.main-news .thumb img,
footer .col-3 .thumb img {
	width: 100%;
	object-fit: cover;
	filter: grayscale(0);
	transition: filter 1s;
}
section.news .col-9:hover .thumb img,
footer .col-3:hover .thumb img {
	filter: grayscale(1);
	transition: filter 1s;
}
.main-news .title {
	margin-left: 1rem;
	width: 50%;
}
.main-news .meta,
.news .meta {
	color: var(--color-gray-4);
	font-weight: 400;
	font-size: 0.85rem;
}
.main-news h3 {
	font-size: 1.2rem;
	margin-top: 0rem;
}
.other-news .col-4 {
	margin-left: 0;
}
.other-news .col-4 a,
.main-news a {
	text-decoration: none;
	color: var(--color-light);
	transition: color .3s;
}
.main-news a:hover,
.other-news .col-4 a:hover {
	color: var(--color-gray-4);
}

/* Float Navigation */
.float-menu {
	width: 300px;
	background: #005AABBF;
	position: absolute;
	top: 125px;
	padding: 30px 30px 10px 30px;
}
.float-menu ul {
	list-style: none;
	padding: 0;
}
.float-menu ul li {
	border: 1px solid rgba(255,255,255,0.5);
	margin-bottom: 10px;
}
.float-menu ul a {
	color: #FFFFFF;
	padding: 2px 15px;
	display: block;
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: 1.4rem;
	transition: background .5s ease-out .2s;
}


/*footer*/
footer {
	/*background: var(--color-gray-1);*/
	background:  #ddd;
	padding: 3rem 0 0;
	color: var(--color-light);
}
footer .container h3,
footer .container h3 a {
	font-size: 1rem;
	text-transform: uppercase;
	letter-spacing: 0;
	font-weight: 500;
	/*color: var(--color-light);*/
	color: var(--color-gray-1);
}
footer h3 a:hover {
	color: var(--color-light);
}
footer h4 {
	font-size: 1rem;
	line-height: 1.5rem;
}
footer .col-3 a,
.news a {
	/*color: var(--color-light);*/
	color: var(--color-gray-1);
	text-decoration: none;
	transition: color .3s;
}
footer a:hover,
.news a:hover {
	color: var(--color-gray-1);
}
footer p {
	font-size: 0.9rem;
	color: var(--color-gray-1);
}

footer .credit {
	text-align: center;
}


/* Pulldown */
.pulldown {
	background: var(--color-gray-2);
	height: 0;
	color: var(--color-light);
	overflow: hidden;
	transition: height .5s cubic-bezier(0.46, 0.03, 0.52, 0.96);
}
.pulldown.isclosed {
	height: 0;
	transition: height .5s cubic-bezier(0.46, 0.03, 0.52, 0.96);
}
.pulldown.isopen {
	height: 230px;
	transition: height .5s cubic-bezier(0.46, 0.03, 0.52, 0.96);
}
.ptext {
	font-size: 1.1rem;
	line-height: 1.7em;
}
.pabout {
	padding: 15px !important;
	box-sizing: border-box;
	background-color: rgba(255,255,255,0);
	transition: background-color .5s ease-out .2s;
}
.pabout:hover {
	background-color: rgba(255,255,255,0.1);
	cursor: pointer;
	transition: background-color .5s ease-out;
}
.pulldown .degree {
	color: var(--color-tertiary);
	text-transform: uppercase;
	font-size: 0.8em;
}
.pulldown a {
	color: var(--color-light);
	text-decoration: none;
}
.pulldown .program {
	padding: 18px 0;
}
.pulldown .program a {
	display: block;
	padding-bottom: 5px;
}
.menu-programs, .menu-about {
	display: block;
	opacity: 0;
	transition: all .2s linear;
	z-index: 3;
	position: absolute;
	height: 200px;
}
.ishide {
	opacity: 0;
}
.isshow {
	opacity: 1;
	z-index: 5;
}
.pulldown-close {
	position: absolute;
	z-index: 10;
	cursor: pointer;
	top: 245px;
    left: 50%;
    font-size: 9px;
    text-transform: uppercase;
    background: url(../images/sub-menu.svg) no-repeat top center;
    background-size: contain;
    width: 30px;
    height: 10px;
    padding-top: 17px;
    padding-bottom: 10px;
    text-align: center;
    letter-spacing: 1px;
    transition: top .5s ease-out 1s;
}
.isopen .pulldown-close {
	top: 196px;
	transition: top .5s ease-out 1s;
}

/* Pull Right */
.menu-slide {
	width: 30px;
	height: auto;
	float: right;
	padding: 4px;
	margin: 0.5rem 2%;
	cursor: pointer;
}
.menu-slide img {
	width: 26px;
	min-width: 26px;
	height: auto;
}
section.stage .container {
	min-height: 780px;
	position: relative;
}
section.stage .container > .row {
	position: absolute;
	bottom: 0;
}
.pullright {
	width: 0;
	position: fixed;
	height: 100vh;
	right: 0;
	/*background: var(--color-gray-2);*/
	background: #1a284d;
	color: var(--color-light);
	overflow: hidden;
	z-index: 20;
	box-shadow: 0px 5px 5px #00000027;
}
.pullright.isopen {
	width: 360px;
	transition: width .5s cubic-bezier(0.46, 0.03, 0.52, 0.96);
}
.pullright.isclosed {
	width: 0;
	transition: width .5s cubic-bezier(0.46, 0.03, 0.52, 0.96);
}
.pullright-shadow {
	background: #000000bf;
	width: 100vw;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
}
.pullright .closeThis {
	width: 360px !important;
}
ul.sub-menu {
	/*display: none;*/
	text-align: left;
}
header ul.sub-menu {
	max-height: 0;
	overflow: hidden;
	transition: max-height .5s cubic-bezier(0.46, 0.03, 0.52, 0.96);
}
header ul.sub-menu.dropshow {
	max-height: 800px;
	transition: max-height .5s cubic-bezier(0.46, 0.03, 0.52, 0.96);
}
header ul.sub-menu li {
	display: block;
	text-align: left;
	border-bottom: 0 !important;
	border-left: 5px solid var(--color-gray-4);
	padding-left: 5px;
}
header ul.sub-menu .sub-menu li {
	border-left: none;
}
header ul.sub-menu li a {
	padding: 0px 0px 5px !important;
}

.mainmenu ul.menu {
	list-style: none;
	padding: 0;
}
.mainmenu ul.menu li {
	padding: 5px 20px;
	border-bottom: 1px solid #FFFFFF;
}
.mainmenu ul.menu a {
	color: #ffffff;
	text-decoration: none;
	padding: 5px 0px 5px;
	display: block;
}
.closeThis {
	padding: 20px;
	text-align: right;
}
.closeThis img {
	width: 25px;
	height: 25px;
	cursor: pointer;
}
.top-menu {
	padding: 20px;
}
.top-menu a {
	display: inline-block;
	color: #c8c8c8;
}
.top-menu span {
	display: inline-block;
	margin: 0 5px;
}
.admenu {
	display: inline-block;
    float: right;
    color: #FFFFFF !important;
    border: 1px solid rgba(255,255,255,0.5);
    padding: 1px 10px;
    margin-top: 6px;
    margin-right: 20px;
}
.admenu:hover {
	background-color: rgba(255,255,255,0.2);
    transition: background .5s ease-out 0s;
    color: #FFFFFF;
}
.ppid {
	padding: 20px;
}
.ppid img {
	max-width: 100px;
	height: auto;
}

/* Page */
.main-content {
	padding: 30px 0;
}
.page-header {
	background-color: var(--color-primary);
	color: var(--color-light);
	margin-top: 0;
	padding-top: 60px;
}
.page-header .container .row {
	display: flex;
}
.page-header .page-title {
	margin-top: 1.6rem;
	color: var(--color-light);
	margin-bottom: 1rem;
}
.page-header .page-sub a {
	display: inline-block;
	border: 1px solid rgba(255,255,255,0.5);
	padding: 10px 20px;
	color: #FFFFFF !important;
	text-decoration: none;
	text-transform: uppercase;
	font-family: var(--font-heading);
	transition: background .5s ease-out .2s;
	font-size: 0.8rem;
	margin-bottom: .3rem;
}
.page-sub a:hover {
    background-color: rgba(255,255,255,0.2);
    transition: background .5s ease-out 0s;
}
.page-header .col-9 {
	padding-bottom: 50px;
}
.main-content h1 {
	display: none;
}
.main-content a {
	/*color: var(--color-link);*/
	color: var(--color-secondary);
	text-decoration: none;
}
.main-content a:focus {
	color: var(--color-gray-1);
}
.main-content a:hover {
	color: var(--color-gray-4);
}
.main-content h2,
.main-content h3,
.main-content h4,
.main-content h5,
.main-content h6 {
	color: #003399;
}
.main-content p {
	font-size: .985rem;
	color: var(--color-gray-2);
}
.main-content ul,
.main-content ol {
	line-height: 1.8rem;
}
.page-header .upcoming-feed .post {
	width: auto;
}


.tabbed {
	overflow-x: hidden; /* so we could easily hide the radio inputs */
	padding-bottom: 16px;
}

.tabbed [type="radio"] {
	/* hiding the inputs */
	display: none;
}

.tabs {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	list-style: none;
	padding: 0;
	margin: 0;
	/*border-bottom: 1px solid #ccc;*/
	float: left;
}
.tab > label {
	display: block;
	margin-bottom: -1px;
	padding: 12px 15px;
	/*border: 1px solid #ccc;*/
	/*background: #eee;*/
	color: var(--color-gray-2);
	font-size: 14px; 
	font-weight: 400;
	/*text-transform: uppercase;*/
	letter-spacing: 1px;
	cursor: pointer;	
	transition: all 0.3s;
	padding-left: 0;
	width: 165px;
	position: relative;
}
.tab > label:after {
	width: 0px;
	transition: width .5s;
}
.tab:hover label {
	border-top-color: #333;
	color: var(--color-light);
}

.tab-content {
	display: none;
	color: #777;
	float: left;
	position: relative;
}
.tab-content h4 {
	margin-bottom: 0;
    margin-top: 8px;
    color: var(--color-gray-1);
}
.tab-content:before {
	content: " ";
    display: block;
    border: none;
    border-left: 1px solid #707070;
    position: absolute;
    height: 85%;
    top: 10px; 
    left: -33px;
    /*width: 100vw;*/
}

/* As we cannot replace the numbers with variables or calls to element properties, the number of this selector parts is our tab count limit */
.tabbed [type="radio"]:nth-of-type(1):checked ~ .tabs .tab:nth-of-type(1) label,
.tabbed [type="radio"]:nth-of-type(2):checked ~ .tabs .tab:nth-of-type(2) label,
.tabbed [type="radio"]:nth-of-type(3):checked ~ .tabs .tab:nth-of-type(3) label,
.tabbed [type="radio"]:nth-of-type(4):checked ~ .tabs .tab:nth-of-type(4) label,
.tabbed [type="radio"]:nth-of-type(5):checked ~ .tabs .tab:nth-of-type(5) label {
	/*border-bottom: 1px solid #707070;*/
	/*border-top-color: #B721FF;*/
	/*background: #fff;*/
	color: #000;
	padding-left: 0;
	transition: width .5s;
}
.tabbed [type="radio"]:nth-of-type(1):checked ~ .tabs .tab:nth-of-type(1) label:after,
.tabbed [type="radio"]:nth-of-type(2):checked ~ .tabs .tab:nth-of-type(2) label:after,
.tabbed [type="radio"]:nth-of-type(3):checked ~ .tabs .tab:nth-of-type(3) label:after,
.tabbed [type="radio"]:nth-of-type(4):checked ~ .tabs .tab:nth-of-type(4) label:after,
.tabbed [type="radio"]:nth-of-type(5):checked ~ .tabs .tab:nth-of-type(5) label:after {
	content: " ";
    display: block;
    border: none;
    border-bottom: 1px solid #707070;
    position: absolute;
    width: 30px;
    right: 0;
    top: 23px;
    right: -9px;
    transition: width .5s;
}

.tabbed [type="radio"]:nth-of-type(1):checked ~ .tab-content:nth-of-type(1),
.tabbed [type="radio"]:nth-of-type(2):checked ~ .tab-content:nth-of-type(2),
.tabbed [type="radio"]:nth-of-type(3):checked ~ .tab-content:nth-of-type(3),
.tabbed [type="radio"]:nth-of-type(4):checked ~ .tab-content:nth-of-type(4) {
	display: block;
	min-height: 220px;
}

/* Elementor Styling */
.el-cols {
    display: flex;
    background: #efefef;
    justify-content: flex-start;
    padding: 30px 40px;
    margin-top: 30px;
}
.el-cols div {
	width: 33.333%;
	padding: 10px;
}
.el-cols.tab-col2 div {
	width: 50%;
}
.el-cols.tab-col4 div {
	width: 25%;
}
.breadcrumb {
	margin-top: 30px;
	padding: 0;
}
.breadcrumb a {
	display: inline-block;
	padding: 5px 10px;
	background: var(--color-tertiary);
	color: var(--color-light);
	border-radius: 20px;
	font-size: 14px;
	text-decoration: none;
}
.breadcrumb a:hover {
	background: var(--color-light);
	color: var(--color-tertiary);
}
.breadcrumb .breadcrumb_last {
	display: none;
}

/* Archive Grid */
.grid-container {
	display: grid;
	grid-template-columns: 25% 25% 25% 25%;
	grid-gap: 20px;
}
.wp-pagenavi {
    clear: both;
    text-align: center;
    margin-top: 30px;
    margin-bottom: 50px;
}
.archive .col-grid .thumb img {
	filter: grayscale(1);
	transition: filter 1s;
}
.archive .col-grid:hover .thumb img {
	filter: grayscale(0);
	transition: filter 1s;
}
.single-title {
	display: flex; 
	flex-direction: row; 
	padding: 20px;
}

/*Grid Hack*/
#custom-main .row [class^="col"] {
	margin: auto;
}

.flag {
	display: inline-block;
    float: right;
    padding: 9px 3px;
}
.lang-menu {
	width: 84px;
    float: right;
}

@media screen and (max-width: 768px) {
	h1 {
		font-size: 1.9rem;
	}
	header .col-3.logobox:after,
	header .container.nav-area:after {
		display: none;
	}
	.stage-title {
		font-size: 3rem;
	}
	section.news .col-3 a.post {
		width: 93%;
	}
	.main-news {
		flex-direction: column;
	}
	.main-news .title {
		margin-left: 0;
		width: 100%;
		margin-top: 1rem;
	}
	div.header-ph {
		height: 98px;
	}
	.el-cols {
		flex-direction: column;
	}
	.el-cols div {
		width: 100%;
	}
	header .logo {
		width: 253px;
	}
	.other-news, .tabbed {
		margin-left: 0;
	}
	.grid-container {
		grid-template-columns: 50% 50%;
	}
	.single-title {
		flex-direction: column-reverse; 
	}
}

@media screen and (max-width: 440px) {
	.float-menu,
	.admenu {
		display: none;
	}
	.grid-container {
		grid-template-columns: 100%;
	}
}