html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, button {
    margin: 0;
    padding: 0;
    border: none;
    outline: 0;
    background: transparent;
}

html {
    overflow-y: scroll
}
html {
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.004);
    -webkit-font-smoothing: antialiased !important;
    text-rendering: optimizeLegibility !important;
}
body {
    color: #222;
    background-color: #fff;
    background-image: none;
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-position: center center;
    overflow: hidden;
}
body,p , .dropdown-menu{
        font-family: 'Montserrat', sans-serif !important;
				font-weight:400;
				font-size:14px;
/*		background-color:#0F2A4B;*/
      }
			h1,h2 {
				font-family: 'Karla', sans-serif !important;
				font-weight: 800;
			}


			h3,h4,h5 {
				font-family: 'Montserrat', sans-serif !important;
				font-weight: 600;
			}
h2 {
	text-transform: capitalize !important;
	font-size:40pt !important;
}

.overlay h2 {
				font-size: 30px !important;
			}
div.main-wrapper p {
    font-size: 1.35em;
    font-weight: 300;
    line-height: 1.7em;
    margin-bottom: 10px;
}

.novumturquoise a:hover
{
	color:#000000 !important;
}
.novumblue a:hover
{
	color:#000000 !important;
}
.novumred a:hover
{
	color:#000000 !important;
}

.novumturquoise a
{
	text-decoration: underline;
	color:#00A79D !important;
}
/* style colors for novum - see brand guidelines for details */
.novumcorpsubmenu{
	background-color:#ffffff !important;
	color:#123EA6 !important;
}
.blacktext
{
	color:#000000 !important;
}
.novumdarkblue
{
	color:#0F2A4B !important;
}
.novummodblue
{
	color: #0d6efd !important;
}
.novumblue
{
	color:#123EA6 !important;
}
.novumblueborder
{
	border:4px solid #123EA6;
}
.novumlightblue, .novumlightbluebkgrd
{
	background-color:#ebeffa !important;
}
.novumturquoise
{
	color:#00A79D !important;
}
.novumlightturquoise
{
	background-color: #e6fffd !important;
}
.novumdarkturquoise
{
	background-color:#00665f !important;
}
.novumgreen{
	color:#8BC441 !important;
}
.novumgreenborder
{
	border:4px solid #8BC441;
}
.novumdarkgreen
{
	color:#73A341 !important;
}
.novumdarkgreenbkgd, .novumdarkgreenbkgrd{
	background-color:#73A341 !important;
	color:#ffffff !important;
}
.novumlightgreen
{
	background-color: #f3f9eb !important;
}
.novumpurple
{
	color:#65318E !important;
}
.novumpurpleborder
{
	border:4px solid #65318E;
}
.novumdarkpurple
{
	color:#572B79 !important;
}
.novumdarkpurplebkgd, .novumdarkpurplebkgrd{
	background-color:#572B79 !important;
	color:#ffffff !important;
}
.novumlightpurple
{
	background-color: #f3ecf8 !important;
}

.novumred
{
	color:#A21C49 !important;
}
.novumredborder
{
	border:4px solid #A21C49;
}
.novumdarkred
{
	color:#821438 !important;
}

.novumlightred, .novumlightredbkgrd {
	background-color:#fbe9ef !important;
}
.novumdarkbluebkgd, .novumdarkbluebkgrd{
	background-color:#0F2A4B !important;
	color:#ffffff !important;
}
.novumbluebkgd, .novumbluebkgrd{
	background-color:#243F89 !important;
	color:#ffffff !important;
}
.novumdarkredbkgd,.novumdarkredbkgrd
{
	background-color:#821438 !important;
	color:#ffffff !important;
}
.novumredbkgd,.novumredbkgrd, .bg-danger
{
	background-color:#A21C49 !important;
	color:#ffffff !important;
}
.novumgreenbkgd, .novumgreenbkgrd, .bg-success
{
	background-color:#8BC441 !important;
	color:#ffffff !important;
}
.novumturquoisebkgd, .novumturquoisebkgrd, .bg-primary
{
	background-color:#00A79D !important;
	color:#ffffff !important;
}
.novumpurplebkgd,.novumpurplebkgrd, .bg-secondary
{
	background-color:#65318E !important;
	color:#ffffff !important;
}
.whitesocial a:hover {
	color:#00A79D !important;
}
.whitesocial {
	color:#ffffff !important;
}
.whitetext {
	color:#ffffff !important;
}
.whitebkgd
{
	background-color:#ffffff;
}
.whitebkgd a, .whitebkgd a:visited
{
	color:#243F89 !important;
}
.whitebkgd a:hover
{
	text-decoration: underline !important;
}
.novumblueborder-left{
	border-left:4px solid #123EA6 !important;
}
.novumturquoiseborder-left{
	border-left:4px solid #00A79D !important;
}
.novumpurpleborder-left{
	border-left:4px solid #65318E !important;
}
.novumgreenborder-left{
	border-left:4px solid #8BC441 !important;
}
.novumredborder-left{
	border-left:4px solid #A21C49 !important;
}
section.menu nav.navbar {
    position: absolute !important;
}
.navbar-right a
{
	font-weight:bold;
	font-size:x-large;
	text-decoration: none !important;
}
.navbar-brand img, section.menu nav.navbar img
{
	max-height:130px;
	height:auto;
	width:300px;
	max-width:300px;
}
div.main-wrapper section.banner
{
	border-radius:0px 0px 0px 0px;
}
div.main-wrapper div#scroll-top {
	background-color:#00A79D;
}
section.menu nav.navbar div.navbar-header div.navbar-right
{
	top:40%;
}
.contactuslink{
	position:absolute;
	top:25px;
	left:-200px;
}
/* Hamburger menu - see https://alvarotrigo.com/blog/hamburger-menu-css/ and https://codepen.io/alvarotrigo/pen/wvrzPWL */

.ham-container {
  max-width: 1050px;
  width: 90%;
  margin: auto;
}

.ham-navbar {
  width: 100%;
  box-shadow: 0 1px 4px rgb(146 161 176 / 15%);
}

.nav-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 62px;
}

.ham-navbar .menu-items {
  display: flex;
}

.ham-navbar .nav-container li {
  list-style: none;
}

.ham-navbar .nav-container a {
  text-decoration: none;
  color: #0e2431;
  font-weight: 400;
  font-size: 1.2rem;
  padding: 0.7rem;
}

.ham-navbar .nav-container a:hover{
    font-weight: bolder;
}

.nav-container {
  display: block;
  position: relative;
  height: 60px;
}

.nav-container .checkbox {
  position: absolute;
  display: block;
  height: 32px;
  width: 32px;
  top: 20px;
  left: 20px;
  z-index: 2;
  opacity: 0;
  cursor: pointer;
}

.nav-container .hamburger-lines {
  display: block;
  height: 49px;
  width: 60px;
  position: absolute;
  top: 17px;
  left: 20px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.nav-container .hamburger-lines .line {
  display: block;
  height: 10px;
  width: 100%;
  border-radius: 10px;
  background: white;
}

.nav-container .hamburger-lines .line1 {
  transform-origin: 0% 0%;
  transition: transform 0.4s ease-in-out;
}

.nav-container .hamburger-lines .line2 {
  transition: transform 0.2s ease-in-out;
}

.nav-container .hamburger-lines .line3 {
  transform-origin: 0% 100%;
  transition: transform 0.4s ease-in-out;
}

.ham-navbar .menu-items {
  padding-top: 120px;
  box-shadow: inset 0 0 2000px rgba(255, 255, 255, .5);
  height: 100vh;
  width: 100%;
  transform: translate(150%);
  display: flex;
  flex-direction: column;
  margin-right: -40px;
  padding-right: 50px;
  transition: transform 0.5s ease-in-out;
  text-align: center;
}

.ham-navbar .menu-items li {
  margin-bottom: 1.2rem;
  font-size: 1.5rem;
  font-weight: 400;
}

.ham-logo {
  position: absolute;
  top: 5px;
  right: 15px;
  font-size: 1.2rem;
  color: #0e2431;
}

.nav-container input[type="checkbox"]:checked ~ .menu-items {
  transform: translateX(0);
}

.nav-container input[type="checkbox"]:checked ~ .hamburger-lines .line1 {
  transform: rotate(45deg);
}

.nav-container input[type="checkbox"]:checked ~ .hamburger-lines .line2 {
  transform: scaleY(0);
}

.nav-container input[type="checkbox"]:checked ~ .hamburger-lines .line3 {
  transform: rotate(-45deg);
}

.nav-container input[type="checkbox"]:checked ~ .ham-logo{
  display: none;
}
/* This to force margins etc to be correct */

#services .main{
	
}
.CTA-arrow, .scroll {
	display: none !important;
}
.inner-content,.ccm-image-slider-text {
	  position: absolute;
  top: 50%;
  left: 20%;
	color:white;
	font-weight:800 !important;
}
.inner-content h4 {
	font-weight:800 !important;
}
video {
  /* override other styles to make responsive */
  width: 100%    !important;
  height: auto   !important;
}
/* This for text over video - see https://stackoverflow.com/questions/51161671/bootstrap-put-responsive-text-and-buttons-on-video */
.overlay{position: absolute;
            display: flex;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
            align-items: center;
            justify-content: center;
            flex-direction: column;
            color: white;
            text-align: center;
           }
.overlay .videoButtonWrapper{
		flex-direction: row;
		margin-bottom: 10px;
}
.videoBackgroundWrapper{position: relative; width: 100%;}
.videoBackground{width: 100%;}
	.tooltip:hover .tooltiptext {
			visibility: visible;
	}
	
	/* replace "Required" on form with an asterisk */
	.text-muted  {
  visibility: hidden;
    position: relative;
}
.text-muted:after {
	 visibility: visible;
    position: absolute;
    top: 0;
    left: 0;
  content: '*';
	color:#A21C49;
}

/* top menu bar */
div.main-wrapper ul.navbar-nav,div.main-wrapper ul.navbar-nav li {
    list-style-type: none !important;
    padding-left: 10px;
}
div.main-wrapper a.nav-link
{
	text-decoration: none !important;
	color:white;
	font-weight:500;

/*	font-style: normal !important;*/
}
.navbar
{
	background-color:#0F2A4B;
	color:white !important;
}
.nav-item
{
	color:white !important;
}
div .collapse .navbar-collapse{
	text-align:right !important;
}
div.main-wrapper a.active, .novumtopmenu a.nav-path-selected
{
	background-color:#123EA6;
	border-radius:5px;
}
 a.dropdown-item:hover, .dropdown-toggle:hover {
background-color: #0F2A4B;
}
.dropdown-menu {
	min-width: 12rem;
margin-left: 25px;
  left: auto !important;

}
.dropdown-menu.columns-2 {
	min-width: 20rem;
}
.dropdown-menu a:hover
{
   background-color: #123EA6;
}
.dropdown-toggle .show
{
  background-color: #123EA6;
}
.skewmenu{
  transform: skew(0deg);
  transform-origin: bottom;
}
.noskew{
  /*  transform: skew(0deg) !important;
    transform-origin: bottom;
  border-right:none;
  margin-left:7em !important;*/
}
.navbar-toggler:focus
{
    box-shadow: none;
}
ul.multi-column-dropdown{
	padding-left:0.2rem;
}
/* DREAM boxes */
.process-tabs {
    width: 100%;
    float: left;
    list-style: none;
    text-align: center;
}
.process-tabs li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-radius: 50% !important;
    padding: 1rem 2.5rem !important;
    border: #00A79D 5px solid;
    text-align: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 4rem;
    font-weight: 800;
    aspect-ratio: 1 / 1;
    width: 100%;
		text-decoration:none !important;
}
.process-tabs li a.active {
  background-color:#123EA6;
	 color: #281f34;
}
.process-tab-content {
    margin-top: 2rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    float: left;
}
.process-tabs li {
    display: inline-block;
    padding: 1rem;
    position: relative;
}
ul.process-tabs li a:hover {
    background-color: #0d6efd;
    color: #281f34 !important;
    text-decoration: none !important;
}
.process-tabs li a:hover:after {
    content: "";
    margin: 0 .5em;
    display: inline-block;
    border: 21px solid transparent;
    border-top: 25px solid #0d6efd;
    border-bottom: 0 none;
    position: absolute;
    bottom: -4px
}
.process-tab-content .tabcontent {
    border: #00A79D 10px solid;
    width: 100%;
    float: left;
    padding: 1rem;
    text-align: center
}
div.ccm-block-top-navigation-bar .navbar-toggler .icon-bar
{
	background-color:#ffffff;
}
div.ccm-block-top-navigation-bar .navbar-toggler:hover .icon-bar {
	background-color:#0d6efd;
}
.sectiontitle a {
	text-decoration: none !important;
	color:white;
}
.nounderline a, a.nounderline {
	text-decoration: none !important;
}
.sectiontitle
{
	padding:1em 0em 1em 0em;
}
.novumsubmenu
{
	background-color:#123EA6;
	color:white;
  position: absolute;
    z-index: 90;
    width: 100%;
    height:35px;
}
.novumsub .nav-selected{
	background-color:#748dcf;
	border-radius: 2px;
}
.sectiontitle
{
		background-color:#123EA6;
	color:white;
}
.novumsub .nav-item
{
	border-left:1px solid #808080;
}
.semibkgd
{
  position:absolute;
  z-index:2;
  background-color: rgba(1,1,1,0.5);
  top:35px;
  left:0px;
  height:70px;
}
.nosides
{
  padding-left:0px !important;
  padding-right:0px !important;
  margin-left:0px !important;
  margin-right:0px !important;
}
.parallelshape
{
  position:absolute;
  background-color:#00A79D;
  width:7%;
  height:70%;
  top:30%;left:0;
  z-index:200;
  transform: skewX(30deg);
}
.blueparallelshape
{
    background-color:#123EA6;
}
.greenparallelshape
{
    background-color:#73A341;
}
.redparallelshape
{
    background-color:#A21C49;
}
.purpleparallelshape
{
    background-color:#65318E;
}
.novumsubtoplogo
{
  padding-top:10px;
  height:60px;
}
.leftjustifyitem
{
    margin-left:0px;
    margin-right:auto;
}
.rightjustifyitem
{
    margin-right:0px;
    margin-left:auto;
}
.bannerimg{
    position:relative;

}
.bannerimg img {
      object-fit: cover;
}
/* smaller screen stuff - break points are consistent with bootstrap 5
sm: 576px,
  md: 768px,
  lg: 992px,
  xl: 1200px,
  xxl: 1400px
*/
@media only screen and (max-width: 576px) {
  .novumsubtoplogo
  {
    padding-top:10px;
    height:40px;
  }
  .righthanddropdownmenu
  {
    display:none;
  }
  h2{
    font-size:25pt !important;
  }
}
@media only screen and (max-width: 768px) {
      .parallelshape
  {
    display:none;
  }
    .bannerimg .video, .bannerimg picture 
  {
    min-height:200px;
  }
  .novumsubmenu
  {
    position:relative;
    height:auto;
  }

}
@media only screen and (max-width: 992px) {
}
@media only screen and (max-width: 1200px) {
}
@media only screen and (max-width: 1400px) {
}