@font-face{
    font-family: 'Fira Sans';
	src: url(../fonts/fira-sans/FiraSans-Light.woff2) format('woff2');
    font-weight: 300;
    font-style: normal;
}

@font-face{
    font-family: 'Fira Sans';
	src: url(../fonts/fira-sans/FiraSans-LightItalic.woff2) format('woff2');
    font-weight: 300;
    font-style: italic;
}

@font-face{
    font-family: 'Fira Sans';
	src: url(../fonts/fira-sans/FiraSans-Regular.woff2) format('woff2');
    font-weight: 400;
    font-style: normal;
}

@font-face{
    font-family: 'Fira Sans';
	src: url(../fonts/fira-sans/FiraSans-Italic.woff2) format('woff2');
    font-weight: 400;
    font-style: italic;
}

@font-face{
    font-family: 'Fira Sans';
	src: url(../fonts/fira-sans/FiraSans-Medium.woff2) format('woff2');
    font-weight: 500;
    font-style: normal;
}

@font-face{
    font-family: 'Fira Sans';
	src: url(../fonts/fira-sans/FiraSans-MediumItalic.woff2) format('woff2');
    font-weight: 500;
    font-style: italic;
}

@font-face{
    font-family: 'Fira Sans';
	src: url(../fonts/fira-sans/FiraSans-SemiBold.woff2) format('woff2');
    font-weight: 600;
    font-style: normal;
}

@font-face{
    font-family: 'Fira Sans';
	src: url(../fonts/fira-sans/FiraSans-SemiBoldItalic.woff2) format('woff2');
    font-weight: 600;
    font-style: italic;
}
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 { font-family: var(--body-font-family);}
a:not([class]) { text-decoration: none;}
a:hover { text-decoration: underline;}
a {color: var(--blue); text-decoration: none;}
b, strong { font-weight: 500;}

/* MAIN CONTENT */
.fullpage_width {
  width: 99.64vw;;
  max-width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;	
}
.btn-primary { background-color: #3a50a2; border: none; border-radius: 0;}
/*.container-component > * + * { margin-top: 27px;}*/
body.homepage main {margin-top: 0px;}
h2  { font-weight: 500; text-decoration: none; font-size: 200%; margin-top: 2.5vh; }
h2 a, a.mod-articles-link { color: var(--purple); font-weight: 400;}
.blog-items {    grid-gap:2em;}
.news .page-header h2 { margin-top: 0; font-size: 1.5rem;}
.news_desc { font-weight: 300;}
.news_img_link figure, .news .blog-item figure {display: grid;
aspect-ratio: 144 /100;
overflow:
hidden;
align-content: center;
margin-bottom: 10px;
}
.news_img_link figure img, .news .blog-item figure img {width:100%;}
.grey_container { background: var(--very-light-grey); padding: 0.5vh 2em 5vh ;}
.hp_image_container { position: relative;
max-height: 36vw;
overflow: hidden;}
.hp_image_container .hp_image_text { position: absolute;
width: 50%;
height: 100%;
background-color: #30303094;
color: #FFF;
padding: 27px 27px 50px;
text-align: center;
display: flex;
align-items: center;
font-size: 190%;
justify-content: center;
}
.hp_image_container img { width:100%;}
#sc_publis, .outlined_table {
  border-collapse: collapse;
  border-width: 1px;
  border-color: var(--light-grey);
  border-style: solid;
}
#sc_publis  td, #sc_publis  th, .outlined_table td, .outlined_table th{
  border-width: 1px;
  border-style: solid;
  border-color: var(--light-grey);
  padding: 5px;
}
#sc_publis  thead, .outlined_table thead { background-color: var(--light-grey); }
#sc_publis  thead th, .outlined_table th { font-weight: 500;}
main a[target="_blank"]::before {
content: "\f35d";
font-family:var(--fa-style-family);
padding-right: 10px;
font-size: 70%;
font-weight: 900;
}
main a[href$=".pdf"]::before {
content: "\f1c1";
font-family: var(--fa-style-family);
padding-right: 5px;
  font-size: 140%;
  font-weight: 400;
  margin-left: 5px;
}
#acad_partners img { max-width: 400px;}   
.mceContentBody img{ max-width: 100%; height: auto;}

/* EDITOR SPECIFIC STYLES */
#tinymce { font-size:1.2rem; }
.mceDefaultSkin .mceLayout .mceBranding {display: none;}

/* ADAPTATIVE STYLES */
@media (max-width: 1300px) {
.hp_image_container { max-height: inherit; }
.hp_image_container .hp_image_text { font-size: 170%; }
}
@media (max-width: 999px) {
.hp_image_container .hp_image_text { font-size: 150%; }
}
@media (max-width: 675px) {
.header {height: 132px;}	
.hp_image_container .hp_image_text { font-size: 120%;}
}
@media (max-width: 590px) {
.hp_image_container .hp_image_text { font-size: 110%;
width: 100%;
height: 70%;
padding: 27px;
bottom: 0;				
}
}
@media (max-width: 400px) {
.hp_image_container .hp_image_text { font-size: 100%;
height: 80%;
padding: 20px;
}
}
@media (max-width: 305px) {
.hp_image_container { background-color: var(--middle-grey);}
.hp_image_container .hp_image_text { font-size: 100%;
height: 100%;
position: relative; 
z-index: 20;
}
.hp_image_container img { position: absolute; top: 0;}
}
