body {
  background: #212224;
  position: relative;
  font-family: 'Montserrat', sans-serif;
  color: #333333;
  font-weight:  500;
}

p, li {
  font-family: 'Titillium Web', sans-serif;
  color: #333333;
  font-weight:  400;
  line-height: 140%;
  font-size: 15px;
}

p {
  margin: 0px 0px 0px 0px;
  padding: 0px 0px 20px 0px;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Montserrat', sans-serif;
  line-height: 120%;
  letter-spacing: 1px;
  margin: 0px 0px 0px 0px;
  padding: 0px 0px 10px 0px;
  font-weight: 700;
}
h1, h2, h3 {
  font-family: 'Montserrat', sans-serif;
  line-height: 120%;
  letter-spacing: 1px;
  margin: 0px 0px 0px 0px;
  padding: 0px 0px 20px 0px;
  font-weight: 700;
}

h1 {
  font-size: 38px;
  text-transform: uppercase;
}
h2 {
  font-size: 32px;
}
h3 {
  font-size: 17px;
  font-weight:  700;
  letter-spacing: -1px;
  text-transform: uppercase;
}
h4, h5, h6 {
  font-family: 'Titillium Web', sans-serif;
  font-weight: 700;
  letter-spacing: 0px;
}
h5 {
  font-size: 17px;
}
h6 {
  font-size: 15px;
  font-weight: 400;
}



a, a:link, a:visited, a:active {  
  color: #000000;
  font-weight: 700;
  text-decoration: underline;
}
a:hover, a:focus {
  color: #333333;
  
}

.row.no-gutters {
  margin-right: 0;
  margin-left: 0;
}

.row.no-gutters > [class^=col-],
.row.no-gutters > [class*=" col-"] {
  padding-right: 0;
  padding-left: 0;
}

.container {
  width: 96%;
  max-width: 1424px;
}



main {    
    min-height:  44vw;    
}
main > .container-fluid {
  padding-left:  0px;
  padding-right:  0px;
  overflow:  hidden;
}



/* header */
.header {  
  width: 100%;
  height: 90px;   
  z-index: 90;
  border-bottom: solid 1px #000000;
  background-color: #212224;
  display:  flex;
  flex-direction:  row;
  align-items:  center;
  justify-content: space-between;

}
.header a {
  color: #ffffff;
}

.header .logo {
  margin-left:  40px;
  width:  33%;
  text-align:  left;
}

.header .site-title {
  width:  33%;
}
.header .site-title h2 {
  font-size:  25px;
  line-height:  25px;
  text-transform:  uppercase;
  color:  #ffffff;
  text-align:  center;
  padding: 0px 0px 10px 0px;
}
.header .site-title h3 {
  color:  #00b0b1;
  font-size:  12px;
  line-height:  12px;
  text-transform:  uppercase;
  text-align:  center;
  padding:  0px;
}

nav {
  width:  33%;
  display: flex;
  flex-direction:  row;
  align-items: center;
  justify-content: flex-end;
}
nav .navbar-nav {
  list-style: none;
  padding: 0px;
  margin: 0px;
  vertical-align: middle;
  display: flex;
  flex-direction:  row;
  align-items: center;
  justify-content: flex-end;
  margin-right:  40px;
}
nav .navbar-nav li {
  display: inline-block;
  margin-bottom: 0px;
  padding-bottom: 0px;
  margin-left: 20px;
  vertical-align: middle;
  font-family: 'Montserrat', sans-serif;
}
.icon-nav > li > i {
  font-size: 26px;
  opacity: 1;
  color: #00b0b1;
  cursor: pointer;
}

.icon-nav > li:hover > i {
  opacity: 0.8;  
}



.site-content {
  display:  flex;
  flex-direction:  row;
  align-items:  flex-start;
  justify-content:  center;
}

.site-content > .left-nav-column {
  display:  inline-block;
  vertical-align: middle;
  width:  320px;
  background-color:  #212224;
}

@media (max-width: 1700px) {  
  
}



/* complicated .left-nav styles */
.left-nav {
  margin-top:  6px;
  
}
.left-nav a {
  font-weight:  400;
  
}
.left-nav > ul > li {
  padding:  0px;
  margin:  6px 0px;  
  position:  relative;
}
.left-nav > ul > li > span, .left-nav > ul > li > .virtual-submenu-wrapper > span, .left-nav > ul > li > .virtual-submenu-wrapper > ul > li > span {
  display:  block;
  padding: 6px 10px 6px 20px;
  text-decoration:  none;
  color:  #bdc7ca;
  cursor:  pointer;
  font-weight:  700;
  text-transform:  uppercase;
}
.left-nav > ul > li > span:visited, .left-nav > ul > li > span:active, .left-nav > ul > li > .virtual-submenu-wrapper > span:visited, .left-nav > ul > li > .virtual-submenu-wrapper > span:active, .left-nav > ul > li > .virtual-submenu-wrapper > ul > li > span:active {
  color:  #bdc7ca;
}
.left-nav > ul > li > span:hover, .left-nav > ul > li > span:focus, .left-nav > ul > li > .virtual-submenu-wrapper > span:hover, .left-nav > ul > li > .virtual-submenu-wrapper > span:focus, .left-nav > ul > li > .virtual-submenu-wrapper > ul > li > span:hover, .left-nav > ul > li > .virtual-submenu-wrapper > ul > li > span:focus {
  background-color:  rgba(255,255,255,.5);
  color:  #212224;
}
.left-nav > ul > li > div a, .left-nav > ul > li span {  
  font-family: 'Montserrat', sans-serif;
  font-size:  12px;
  line-height:  13px;
}

.left-nav > ul > li > span > b, .left-nav > ul > li > .virtual-submenu-wrapper > span > b, .left-nav > ul > li > .virtual-submenu-wrapper > ul > li > span > b {  
  display:  inline-block;
  width:  20px;
}

/* adding arrows to grandparent menu items */
.left-nav > ul > li > span > em, .left-nav > ul > li > .virtual-submenu-wrapper > span > em, .left-nav > ul > li > .virtual-submenu-wrapper > ul > li > span > em {
  width:  16px;
  height:  12px;
  display:  inline-block;
  padding-left:  4px;
  position:  relative;
  font-style:  normal;
}
.left-nav > ul > li > span > em:after, .left-nav > ul > li > .virtual-submenu-wrapper > span > em:after, .left-nav > ul > li > .virtual-submenu-wrapper > ul > li > span > em:after {
  content:  "\f0da";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size:  17px;
  color:  #bdc7ca;
  position:  absolute;
  right:  0px;
  top:  1px;
}
.left-nav > ul > li.current-menu-ancestor > span > em:after {
  content:  "\f0d7";   
}
.left-nav > ul > li.current-menu-ancestor div.virtual-submenu-wrapper > ul > li.current-menu-ancestor > span > em:after {
  content:  "\f0d7";   
}

.left-nav ul > li > div.virtual-menu > ul {  
  display:  none;
}

/* 2nd level nav */
.left-nav ul > li > div.virtual-menu > ul {
  background-color:  #4f5459;
  padding:  4px 0px; 
  margin-top:  6px;
}
.left-nav > ul > li > div > ul > li {
  padding:  0px;   
}
.left-nav > ul > li > div > ul > li > a {
  display:  block;
  padding: 6px 20px;
  text-decoration:  none;
  color:  #ffffff;
}
.left-nav > ul > li > div ul > li > a:visited, .left-nav > ul > li > div > ul > li > a:active {
  color:  #ffffff;
}
.left-nav > ul > li > div ul > li > a:hover, .left-nav > ul > li > div > ul > li > a:focus {
  background-color:  rgba(255,255,255,.5);
  color:  #212224;
}

/* 3rd level nav */
.left-nav > ul > li > div > ul ul {  
  padding:  2px 0px;
}
.left-nav > ul > li > div > ul ul > li > a {
  display:  block;
  padding: 6px 20px 6px 44px;
  text-decoration:  none;
  color:  #ffffff;
  line-height:  100%;
}
.left-nav > ul > li > div.virtual-submenu-wrapper > ul ul > li > a {
  /*padding-left: 20px;*/
}

.left-nav > ul > li > .virtual-menu > ul, .left-nav > ul > li > .virtual-menu > ul > li ul, .left-nav > ul > li > .virtual-submenu-wrapper, .left-nav > ul > li > .virtual-submenu-wrapper > ul > li > .virtual-submenu > ul {
  display:  none;
}
.left-nav > ul > li > div ul > li.current-menu-item > a {
  background-color:  #dae1e2;
  color:  #212224;
}
.left-nav > ul > li.current-menu-item > div.virtual-menu > ul, .left-nav > ul > li.current-menu-ancestor > div.virtual-menu > ul {
  display:  block;
}
.left-nav > ul > li.current-menu-ancestor > div.virtual-menu > ul > li.current-menu-item > ul, .left-nav > ul > li.current-menu-ancestor > div.virtual-menu > ul > li.current-menu-ancestor > ul {
  display:  block;
}

.left-nav > ul > li.current-menu-ancestor .virtual-submenu-wrapper {
  display:  block;
}
.left-nav ul > li > .virtual-submenu-wrapper > ul > li.current-menu-ancestor > .virtual-menu > ul {
  display:  block; 
}




/* new menu stuff for developing virtual sub headings */

.left-nav > ul > li > div > span.menu-subheading {
  font-weight:  400;
  cursor:  default;
}
.left-nav > ul > li > div > span.menu-subheading:hover, .left-nav > ul > li > div > span.menu-subheading:focus {
  background-color:  rgba(255,255,255,0);
  color:  #bdc7ca;
}




/* right column stuff */

.site-content .right-column {
  display:  inline-block;
  vertical-align: middle;
  width:  80%;
  padding:  50px 0px 50px 52px;
  background-color:  #dae1e2;
  position:  relative;
}

/* breadcrumb */
.right-column #breadcrumb {
  position:  absolute;
  top:  30px;
  left:  50px;
}
.right-column #breadcrumb  {  
  font-family: 'Montserrat', sans-serif;
  font-size:  10px;
  color: #4e545a;
}
.right-column #breadcrumb .breadcrumb-grandparent {
  font-size:  10px;
  font-weight:  700;
  position:  relative;
  padding-right:  10px;
  display:  none;
}
.right-column #breadcrumb .breadcrumb-grandparent:after {
  position:  absolute;
  right:  1px;
  top:  0px;
  content:  "/";
}
.right-column #breadcrumb > span, .right-column #breadcrumb > a  {  
  font-family: 'Montserrat', sans-serif;
  font-size:  10px;
  color: #4e545a;
  font-weight:  400;
  display:  inline-block;
  padding-left:  4px;
  padding-right:  4px;
}

.site-content .right-column .content-block {
  display:  flex;
  flex-direction: row;
  align-items:  flex-start;
  justify-content: space-between;
}

.site-content .right-column .content-column {
  width:  70%;
  background-color:  #ffffff;
  padding:  60px 70px 40px 70px;
  position:  relative;
}
.site-content .right-column .sidebar-column {
  width:  30%;  
  padding:  0px 25px;
  text-align:  center;
}

.document-number {
  position:  absolute;
  top:  10px;
  right:  10px;  
}
.document-number span {
  font-size:  9px;
  line-height:  9px;
  height:  20px;
  padding:  2px 6px 0px 6px;
  font-family: Courier New,Courier,Lucida Sans Typewriter,Lucida Typewriter,monospace;
  color:  #4e545a;
  border:  solid 1px #4e545a;
  border-radius:  4px;
  vertical-align:  middle;
  display:  flex;
  align-items: center;
  justify-content: center;
}

.page-content {
  
}


.page-content-top {  
  padding-bottom:  5px;
}
.page-content-top h1 {
  font-size:  62px;
  line-height:  58px;
  font-weight:  900;
  letter-spacing:  -2px;
  padding-bottom:  10px;
  position:  relative;
}
.page-content-top h1:before {
  font-size:  62px;
  line-height:  60px;
  font-weight:  200;
  content:  "/";
  left:  -18px;
  top:  -4px;
  position:  absolute;
}
.page-content-top h2, .page-content-main h2 {
  font-size:  20px;
  line-height:  26px;
  font-weight:  700;
  letter-spacing:  0px;
  text-transform:  uppercase;
  padding-bottom:  12px;
}

.page-content-main {
  padding-top:  18px;
}

.page-links {  
  padding:  8px 0px 10px 0px;
  margin-bottom:  8px; 
}
.page-links p {  
  margin-bottom:  0px;
  padding-bottom:  0px;
}
.page-links a, .page-links a:visited, .page-links a:active {  
  color:  #00b0b1;
  text-decoration:  none;
  font-size:  17px;
  line-height:  17px;
  font-weight:  400;
}
.page-links a:hover, .page-links a:focus {  
  color:  #333333;
}
.page-links .top-border {
  padding:  20px 0px 0px 0px;
  margin:  0px 0px 0px 0px;
}


.sidebar-widget {  
  padding:  20px 30px;
  margin:  0px auto 60px auto;
  border-bottom:  solid 2px #bbc6cc;
}
.sidebar-widget h4 {
  font-size:  16px;
  text-transform:  uppercase;
  font-weight:  400;
  text-align:  left;
}
.sidebar-widget-item {  
  padding-bottom:  12px;
  margin-bottom:  12px;  
  border-bottom:  solid 1px rgba(0,177,177,.3);
}
.sidebar-widget-item:last-child {   
  padding-bottom:  0px;
  margin-bottom:  0px;
  border-bottom-color: transparent;
}

.sidebar-widget img {
  max-width:  100%;
}



/* footer */
footer {
  width: 100%;
  height: 90px;   
  z-index: 90;
  border-top: solid 1px #000000;
  background-color: #212224;
  display:  flex;
  flex-direction:  row;
  align-items:  center;
  justify-content: space-between;

}

footer a {
  color: #ffffff;
}

footer .logo {
  margin-left:  40px;
  width:  33%;
  text-align:  left;
}

footer .site-title {
  width:  33%;
}
footer .site-title h2 {
  font-size:  25px;
  line-height:  25px;
  text-transform:  uppercase;
  color:  #ffffff;
  text-align:  center;
  padding: 0px 0px 10px 0px;
}
footer .site-title h3 {
  color:  #00b0b1;
  font-size:  12px;
  line-height:  12px;
  text-transform:  uppercase;
  text-align:  center;
  padding:  0px;
}

footer .copyright {
  width:  33%;
}
footer .copyright p {
  color:  #ffffff;
  font-size:  12px;
  line-height:  12px;
  text-transform:  uppercase;
  text-align:  right;  
  padding:  0px 40px 0px 0px;
}



/* home page */

.site-content.home .right-column {
  display: inline-block;
  vertical-align: middle;
  width: 80%;
  padding: 0px 0px 0px 0px;
  background-color: transparent;
  position: relative;
  min-height:  200px;
}

.site-content.home .right-column .content-block {
  display: block;
}

.site-content.home .right-column .content-block .home-top {
  background-repeat:  no-repeat;
  background-size:  cover;
  background-position:  center center;
  height:  42vw;
  display:  flex;
  align-items: center;
  justify-content: center;
}
.site-content.home .right-column .content-block .home-top h1 {
  color:  #bdc7ca;
  font-weight:  900;
  font-size:  60px;
  line-height:  60px;
  letter-spacing:  -3px;
}

.site-content.home .right-column .content-block .home-bottom {    
  padding: 50px 50px 50px 52px;
  position: relative;
}

.home-section {
  /*
  display:  none;
  opacity:  0;
  */
}

.link-boxes {
  display:  flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.link-boxes .link-box {
  display:  flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border:  solid 1px #ffffff;
  width:  30%;
  height:  260px;
  margin-bottom:  52px;
  padding:  20px;
  cursor:  pointer;
  text-decoration:  none;
}
.link-boxes .link-box:hover, .link-boxes .link-box:focus {
  background-color:  rgba(255,255,255,.2);
}
.link-box h2, .link-box h3, .link-box p {
  color:  #ffffff;
}
.link-box p {
  text-align:  center;
  padding: 0px;
  margin:  0px;
}




/* visual composer overrides */
.vc_row .wpb_column.vc_column_container .vc_column-inner {
  padding-top:  2px !important;
}
 .vc_column-inner .wpb_content_element {
    margin-bottom: 2px !important;
}



/* modals */

.modal .modal-dialog.modal-fullscreen .modal-content {
  background-color:  rgba(0,176,177,1);
}

.modal .modal-dialog.modal-fullscreen .modal-body {
  display:  flex;
  flex-direction:  row;
  align-items:  center;
  justify-content: center;
  position:  relative;
}
.modal .modal-dialog.modal-fullscreen .search-form form {
  display:  flex;
  flex-direction:  row;
  align-items:  center;
  justify-content: center;
}
.modal-dialog.modal-fullscreen h2 {
  display:  inline-block;
  font-size:  32px;
  line-height:  32px;
  margin-bottom:  0px;
  padding-bottom:  0px;
  padding-right:  20px;
  text-transform:  uppercase;
  color:  #ffffff;
}
.modal-dialog.modal-fullscreen .search-form form input[type=text] {
  display:  inline-block;
  font-size:  28px;
  line-height:  30px;
  color:  #ffffff;
  height:  40px;
  background:  transparent;
  border:  solid 1px #ffffff;
}
.modal-dialog.modal-fullscreen form input[type=submit] {
  display:  inline-block;
  font-size:  22px;
  line-height:  22px;
  font-weight:  700;
  height:  40px;
  margin-left:  20px;
  background-color:  #ffffff;
  color:  rgba(0,176,177,1);
  border-radius:  0;
  border:  solid 1px rgba(0,176,177,1);
  padding-left:  14px;
  padding-right:  14px;
}
.modal-dialog.modal-fullscreen form input[type=submit]:hover {  
  background-color:  rgba(255,255,255,.9);
}

.btn-close {
  position:  absolute;
  top:  100px;
  right:  100px;
  color:  #ffffff;
  font-size:  40px;
  line-height:  40px;
}



/* login form specific */

#loginform {
  padding-top:  20px;
  max-width: 500px;
}

#loginform p, #loginform div, #loginform label {
  color:  #ffffff;
  font-size:  24px;
  line-height:  24px;
}

#loginform .fieldgroup {
  display:  flex;
  flex-direction:  row;
  align-items:  center;
  justify-content:  flex-start;
  padding-top:  10px;
  padding-bottom:  10px;
}
#loginform .fieldgroup label {
  width:  30%;
  display:  inline-block;
}
#loginform .fieldgroup input {
  width:  70%;
  display:  inline-block;
}

.modal-dialog.modal-fullscreen #loginform .remember-me {
  padding-top:  20px;
  padding-bottom:  20px;
  font-size:  18px;
  line-height:  18px;
  text-align:  right;
}

.modal-dialog.modal-fullscreen #loginform .submit-footer {
  text-align:  right;
  padding-top:  20px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 1 1 0px;
}
.modal-dialog.modal-fullscreen #loginform .submit-footer a {
  display: inline-block;
  font-family: 'Titillium Web', sans-serif;
  font-size: 15px;
  line-height: 16px;
  text-decoration: none;
  color: #ffffff;
  font-weight: 400;
}
.modal-dialog.modal-fullscreen #loginform .submit-footer a:link, .modal-dialog.modal-fullscreen #loginform .submit-footer a:active, .modal-dialog.modal-fullscreen #loginform .submit-footer a:visited {
  color: #ffffff;
}
.modal-dialog.modal-fullscreen #loginform .submit-footer a:hover {
  color: #efefef;
}
.modal-dialog.modal-fullscreen #loginform .submit-footer input[type=submit] {
  

}

.modal-dialog.modal-fullscreen .logout-button {
  display:  inline-block;
  font-size:  28px;
  line-height:  30px;
  color:  rgba(255,255,255,1);
  text-decoration:  none;
}
.modal-dialog.modal-fullscreen .logout-button:hover, .modal-dialog.modal-fullscreen .logout-button:focus {  
  color:  rgba(255,255,255,.8);
}

#loginform .curriculum-terms {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  padding-top: 80px;
}
#loginform .curriculum-terms input {  
  margin-right: 15px;
  transform: scale(1.5);
  margin-top: 4px;
}
#loginform .curriculum-terms p {  
  font-size: 15px;
  padding-top: 0px;
  margin-top: 0px;
}



/* viewer specific */
.viewer-list p {  
  margin: 0px;
  padding: 12px;
}
.viewer-list p a {  
  text-decoration: none;
}
.viewer-list p:nth-child(odd) {
  background-color: #efefef;
}