	html, body {
		height: 100%;
		padding:0 !important;
		margin:0 !important;
	}
	
	#menu {
		z-index: 99;
		position:fixed;
		top:0;
		left:0;
		right:0;
		padding:0;
		min-height:53px;
		/*background: linear-gradient(to left, #1d87db, #2196f3);*/
		background: #fff;
		box-shadow: 1px 1px 4px 0 rgba(0,0,0,.3);
		font-family:"Open Sans",sans-serif !important;
		font-size:14px;
	}
	
	#sidebar {
		position:fixed;
		top:0;
		left:0;
		bottom:0;
		width: 220px;
		max-width: 220px;
		align-items: flex-start;
		padding-top:53px;
		background-image: url('itcbtp_back.png');
		background-repeat: no-repeat;
		background-position: bottom;
		z-index: 999 !important;
	}
	
	#sidebar > ul {
		padding: 0;
		background: #1f8ee7;
	}
	
	#menu .nav-item a {
		white-space: nowrap;
	}
	
	#menu .nav-item {
		border-right: 1px solid #00000014;	
	}
	
	#sidebar .nav-item {
		font-size: 0.75rem;
		border-left: 10px solid #2171ca;
		border-bottom: 2px solid #1d87db;
		background: linear-gradient(to left, transparent 50%, #2171ca 50%) right;
		background-size: 200%;
		transition-delay: 0.1s;
	}
	
	#sidebar .nav-item:hover {
		transition: background 0.3s ease;
		background-position: left;
	}
	
	#sidebar .nav-item:last-of-type {
		border-bottom: none;
	}
	
	.nav-item a {
		padding: 1rem 1.25rem !important;
	}
	
	.nav-item {
		transition: background 1s;
		color:#1f4868 !important;
		background: transparent;
		position: relative !important;
	}
	
	.nav-item:after {
		pointer-events: none;
		content: "";
		position:absolute;
		top:70%;
		left:20px;right:20px;
		height:5px;
		background: linear-gradient(20deg, #66cfff 60%, #01a1fe);
		opacity:0;
		transition:opacity 1s;
		border-radius:20px;
	}
	
	.nav-item:hover {
		transition: background 0.5s ease;
		background: #f4f4f4;
	}
	
	.nav-item:hover:after {
		opacity:1;
	}
	
	.nav-item a {
		color: inherit !important;
	}
	
	.nav-item .bi, .nav-item .fa {
		margin-right: 0.5em;
	}
	
	#wrapper {
		padding-top:10px;
		min-height: 100%;
		/*display: flex;
		flex-flow: column;*/
		background-color: #fff;
		/*max-width: 1600px;*/
	}
	
	.dropdown-menu {
		font-size: inherit;
		color: inherit !important;
		background:rgba(26, 117, 190, 0.8) !important;
		border: none;
	}
	
	.nav-item .dropdown-item {
		padding: 0.5rem 1rem !important;
	}
	
	.dropdown-item:hover {
		background:rgba(0,0,0,0.2) !important;
	}
	
	main {
		flex: 1;
		max-width: 1366px;
		padding: 0 !important;
		padding-bottom: 2rem !important;
		background-repeat: no-repeat;
		background-position: bottom;
		background-size: contain;
	}
	
	footer * {
		position: relative;
		z-index: 1;
	}
	
	footer {
		padding: 1rem 2rem;
		background-color: #1d87db;
		color: #fff;
		position:relative;
		z-index: 0;
	}
	
	footer .waves-container {
		position:absolute;top:0;left:0;right:0;bottom:0;
		padding-top: 0px !important;
		z-index: 0;
	}
	
	h1, h2, h3, h4, h5, h6 {
		text-transform: uppercase;
	}
	
	.content-wrapper > h1, .content-wrapper > h2, .content-wrapper > h3, .content-wrapper > h4, .content-wrapper > h5, .content-wrapper > h6, 
	h1.header, h2.header, h3.header, h4.header, h5.header, h6.header {
		position: relative;
		padding-left:0.7em;
	}
	
	
	.content-wrapper > h1:before, .content-wrapper > h2:before, 
	h1.header:before, h2.header:before {
		position: absolute;
		top:0.25em;
		left:0;
		height: 0.5em;
		width: 0.5em;
		background: #57b3fa;
		content: "";
	}
	
	.content-wrapper > h3:before, .content-wrapper > h4:before, .content-wrapper > h5:before, .content-wrapper > h6:before, 
	h3.header:before, h4.header:before, h5.header:before, h6.header:before {
		position: absolute;
		top:0.25em;
		left:0;
		height: 0.5em;
		width: 0.5em;
		background: #a6e3f0;
		content: "";
	}
	
	.content-wrapper {
		padding: 2rem;
		padding-bottom: 1rem;
		margin: auto;
		max-width: 1200px;
	}
	
	.content-wrapper img {
		height: auto !important;
		max-width: 100% !important;
	}
	
	#main_carousel .carousel-item {
		height: 50vw;
	}
	
	#main_carousel .carousel-item img {
		z-index: 1;
		position:absolute;
		width: 100vmax;
		left:0;right:0;
		top: 50%;
		transform: translateY(-50%);
	}
	
	#main_carousel .carousel-caption {
		top: 5vmin;bottom: auto; left:8vmin; right: auto;
		padding:20px;
		padding-right: 25px;
		background: rgba(255,255,255,0.8);
		color: #000;
	}
	
	#main_carousel .carousel-caption:before {
		content: "";
		width:40px;
		height:40px;
		background: rgba(7,119,193,0.5);
		position: absolute;
		top:-20px;
		left: -20px;
	}
	
	.logo-nav {
		display: block;
		box-shadow: 1px 1px 4px 0 rgba(0,0,0,.3);
		background-color:#fff;
		position: absolute;
		top:0;left:32px;bottom:0;
		width:115px;
		height: 81px;
		background-image: url('clas_logo.png');
		background-position: 5px 5px;
		background-repeat: no-repeat;
		background-size: calc(100% - 10px) calc(100% - 10px);
	}
	
	.vignette {
		padding: 8px 1vw;
	}
	
	.inner-vignette {
		width:100%;
		height:250px;
		background:#ccc;
		background-size: cover;
		position: relative;
	}
	
	.inner-vignette>a:before {
		content: "";
		position:absolute;
		top:0;left:0;right:0;bottom:0;
		background: rgba(0,0,0,0.05);
		box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px;
	}
	
	.inner-vignette > a {
		display: block;
		position: absolute;
		top:0;left:0;right:0;bottom:0;
		transition: background 0.5s ease;
	}
	
	.inner-vignette > a:hover {
		z-index: 1;
		background: rgba(0,0,0,0.3);
	}
	
	.inner-vignette > a:hover > .bi {
		color: rgba(255,255,255,0.8);
	}
	
	.title-vignette {
		z-index: 2;
		position: absolute;
		right:-8px;
		top:-8px;
		border-top:8px solid;
		border-right:8px solid;
		padding: 0.5rem 1rem;
		text-align: right;
		color: #fff;
		max-width: 90%;
	}
	
	.title-vignette h4 {
		font-size: 1.0rem;
		width: auto;
	}
	
	.inner-vignette > a > .bi {
		position: absolute;
		bottom:0.5rem;left:1rem;
		font-size: 3rem;
		color: rgba(255,255,255,0.5);
	}
	
	#sidebar .navbar-toggler {
		display: block;
	}
	
	#sidebarDefault {
		position: absolute;
		width: 220px;
		z-index: 999 !important;
		background-color: inherit;
	}
	
	.fs-12 {
		font-size: 12px;
	}
	
	.b-700 {
		font-weight: 700;
	}
	
	.circular {
		width: 100px;
		height: 100px;
		position: relative;
		overflow: hidden;
		border-radius: 50%;
		border: 2px solid #fff;
		outline: 4px solid #eee;
		display: inline-block;
		margin: 4px;
	}
	
	.circular:after {
		content: "";
		position:absolute;
		top:0;left:0;right:0;bottom:0;
		background: transparent;
		transition: background 0.5s ease;
	}
	
	.circular:hover:after {
		background: #114a722b;
	}
	
	.circular > img {
		width:100%;
		position: absolute;
		top: 0;
		bottom: 0;
		left:0;
		margin: auto;
	}
	
	@media (max-width: 1366px) {
		#menu .nav-item {
			font-size: 14px;
			line-height: 36px;
		}
		#menu .nav-item a {
			padding: 0.5rem 0.75rem !important;
		}
	}	
	
	@media (max-width: 1170px) {
		#menu .nav-item {
			font-size: 13px;
			line-height: 36px;
		}
		#menu .nav-item a {
			padding: 0.5rem 0.75rem !important;
		}
	}
	
	@media (max-width: 768px) {
		#menu {
			left: 0;
		}	
		#sidebar {
			display: none;
		}	
		#wrapper {
			padding-left:0;
		}
		.logo {
			display: none;
		}
	}
	
	@media (min-width: 768px) {
		#sidebar .collapse {
			display: block !important;
		}
		#sidebar .navbar-toggler {
			display: none;
		}
	}
	
	.vignette-full {
		width:100%;
		height:250px;
		background:#ccc;
		background-size: cover;
		position: relative;
	}
	
	.vignette-full > a {
		display: block;
		position: absolute;
		top:0;left:0;right:0;bottom:0;
		transition: background 0.5s ease;
	}
	
	.vignette-full > a:hover {
		z-index: 1;
		background: rgba(0,0,0,0.4);
	}
	
	.vignette-full .title {
		z-index: 2;
		min-height: 50%;
		max-width: 50%;
		position: absolute;
		right:0;
		bottom:0;
		padding: 0.5rem 1rem;
		text-align: right;
		color: #fff;
		text-transform: uppercase;
		font-size: 1.2rem;
	}
	
	.vignette-full a .bi {
		position: absolute;
		bottom:0.25rem;right:1rem;
		font-size: 2rem;
		color: rgba(255,255,255,0.5);
	}
	
	.vignette-full a:hover .bi {
		color: rgba(255,255,255,0.8);
	}
	
	.btn-main {
	  color: #fff;
	  background: #1d87db;
	  border-color: #0d6efd;
	  transition: background 0.5s ease !important;
	}
	.btn-main:hover {
	  color: #fff;
	  background: #0461ab;
	  border-color: #0a58ca;
	}
	
	footer ul {
		list-style: none;
		padding-left: 1rem;
	}
	
	footer h1, footer h2, footer h3, footer h4, footer h5 {
		color:#fff;
	}
	
	footer a {
		color:#eee;
	}
	
	footer a:hover {
		color:#fff;
	}
	
	.date {
		font-size: 0.8rem;
		background: rgba(0,0,0,0.2);
		padding: 1px 0.5em;
		border-radius: 0.2em;
	}
	
	main hr {
		width: 90%;
		border-color: #d7e8eb;
	}
	
	.banner {
		position: relative;
		width:100%;
		height: 300px;
		overflow: hidden;
	}
	
	.banner:after {
		content: "";
		z-index: 2;
		position: absolute;
		top:0;left:0;right:0;bottom:0;
		background: url('./itcbtp_title_back.png');
		background-size:100% 100%;
	}
	
	.banner > img {
		z-index: 1;
		position: absolute;
		width: 100%;
		left:0;right:0;
		top: 50%;
		transform: translateY(-50%);
	}
	
	.banner > .title {
		position: absolute;
		top: 5vmin;bottom: auto; left:8vmin; right: auto;
		background: linear-gradient(45deg, #0777c1cc, #08a2c1cc);
		color: #fff;
		font-size: 2rem;
		padding: 10px 20px;
		z-index: 4;
	}
	
	.banner > .title:before {
		content: "";
		width:30px;
		height:30px;
		background: rgba(255,255,255,0.7);
		position: absolute;
		top:-15px;
		left: -15px;
	}
	
	.floating-img {
		float: left;
		width: 25vw;
		margin-right: 1em;
		margin-bottom: 1em;
	}

	.diag-top {
		width:100%;overflow:hidden;
		height: 50px;
		position: relative;
	}
	
	.diag-top:after {
		position: absolute;
		top:0;left:0;right:0;bottom:0;
		content:"";
		width: 0;height: 0;border-style: solid;border-width: 0 0 50px 100vw;border-color: inherit;
		border-top-color:transparent;
		border-right-color:transparent;
		border-left-color:transparent;
	}
	
	.diag-bottom {
		width:100%;overflow:hidden;
		height: 50px;
		position: relative;
	}
	
	.diag-bottom:after {
		position: absolute;
		top:0;left:0;right:0;bottom:0;
		content:"";
		width: 0;height: 0;border-style: solid;border-width: 50px 100vw 0 0;border-color: inherit;
		border-bottom-color:transparent;
		border-right-color:transparent;
		border-left-color:transparent;
	}
	
	#sidebar .dropdown-toggle {
		white-space: initial !important;
	}
	
	.accordion {
		max-width: 600px;
	}
	
	.accordion .card-header {
		border: none;
		background: linear-gradient(45deg, #0777c1cc, #08a2c1cc);
	}
	
	.accordion .card-header .card-link {
		position: relative;
		display: block;
	}
	
	.accordion .card-header .card-link:after {
		position: absolute;
		top: 50%;right:0;
		transform: translateY(-50%);
		font-family: bootstrap-icons !important;
		content: "\f282";
		color: #fff;
		font-weight: 700;
	}
	
	.accordion .card-header .card-link[aria-expanded="true"]:after {
		content: "\f286";
	}
	
	.accordion .card-header * {
		color: #fff;
		font-weight: 700;
		text-transform: uppercase;
	}
	
	.lead-table {
		background: linear-gradient(45deg, #0777c1cc, #08a2c1cc);
		border-collapse: collapse;
	}

	.lead-table td {
		position: relative;
		width:20vw;
		height:15vw;
		border: 1px solid rgba(255,255,255,0.5);
		text-align: right;
		color:#fff;
		text-transform: uppercase;
		padding:1vw;
		font-size: 1.25vw;
		vertical-align: bottom;
	}
	
	.lead-table td.leader {
		width:40vw;
		height:30vw;
		font-size: 2.25vw;
	}

	.lead-table td b {
		font-size:2em;
		display: block;
	}

	.lead-table td i {
		position:absolute;
		top:1em;left:1em;
		color: #0777c1cc;
		background: #fff;
		width: 3em;
		height: 3em;
		border-radius: 50%;
		text-align: center;
		line-height: 3em;
		vertical-align: middle;
		padding: 0;
	}

	.carousel-control-next, .carousel-control-prev {
		z-index:99;
	}
	
	.slogan {
		margin-left: 0.5em;
		font-size: 36px;
		background: linear-gradient(45deg, #0777c1cc, #08a2c1cc);
		color: #fff;
		padding: 0.25em 0.5em;
		display: inline-block;
		position: relative;
	}

	.slogan:before {
		position: absolute;
		top: -0.4em;
		left: -0.4em;
		height: 1em;
		width: 1em;
		background: #cdd8da96;
		content: "";
	}
	
	a.flag {
		display:inline-block;
		padding: 15px 5px;
		opacity:0.5;
		transition:opacity 0.5s;
	}
	a.flag img {
		width:20px;
	}
	a.flag:hover {
		opacity:1;
	}
	
	
	.waves-container {
		background: linear-gradient(60deg, rgba(84,58,183,1) 0%, rgba(0,172,193,1) 100%);
		padding-top:20px;
	}
	.waves {
		position:relative;
		width: 100%;
		height:100px;
	}
	.parallax > use {
		animation: move-forever 25s cubic-bezier(.55,.5,.45,.5)     infinite;
	}
	.parallax > use:nth-child(1) {
		animation-delay: -2s;
		animation-duration: 7s;
	}
	.parallax > use:nth-child(2) {
		animation-delay: -3s;
		animation-duration: 10s;
	}
	.parallax > use:nth-child(3) {
		animation-delay: -4s;
		animation-duration: 13s;
	}
	.parallax > use:nth-child(4) {
		animation-delay: -5s;
		animation-duration: 20s;
	}
	@keyframes move-forever {
	  0% {
	   transform: translate3d(-90px,0,0);
	  }
	  100% { 
		transform: translate3d(85px,0,0);
	  }
	}
	
	
	
	.newsvig .fill-effect {
	  display:none;
	  content:"";
	  position:absolute;
	  width:200%;
	  padding:200%;
	  box-sizing: border-box;
	  left:50%;
	  transform:translateX(-50%);
	  border-radius:40%;
	  z-index:4;
	  animation:fill 0.6s linear;
	  animation-fill-mode: forwards;
	}

	.newsvig:hover .fill-effect.fill-effect-1 {
	  display: block;
	  background:rgba(0,200,255,0.2);
	}
	.newsvig:hover .fill-effect.fill-effect-2 {
	  display: block;
	  animation-delay: 0.05s;
	  top:1000px;
	  background:rgba(0,150,250,0.3);
	  margin-top:10px;
	}
	@keyframes fill {
	  from {
		top:250px;
		transform:translateX(-50%) rotate(0deg);
	  }
	  to {
		top:-50px;
		transform:translateX(-50%) rotate(90deg);
	  }
	}


	.newsvig {
	  border-radius: 5px;
	  display:block;
	  flex-grow: 0;
	  text-decoration: none;
	  position: relative;
	  width:100%;
	  margin:10px;
	  min-height: 150px;
	  color:#222;
	  background-color:#fff;
	  font-size:14px;
	  overflow:hidden;
	  box-shadow: 0 2px 4px 0 rgba(25,65,90,0.2), 0 3px 10px 0 rgba(25,65,90, 0.19);
	  transition: box-shadow 1.5s;
	  line-height: 1.2em;
	  text-decoration: none !important;
	}
	.newsvig:hover {
		box-shadow: 0 4px 8px 0 rgba(25,65,90,0.2), 0 6px 20px 0 rgba(25,65,90, 0.19);
		color:#000;
	}
	.newsvig .textzone sup {
		vertical-align: super;
		font-size: smaller;
	}
	.newsvig .textzone {
		display:block;
		padding: 20px;
	}
	.newsvig span {
		display:block;
	}
	.newsvig-image {
		width:100%;
		height:150px;
		background-size:cover !important;
	}
	.newsvig span.newsvig-call-to-action {
		position:absolute;
		bottom:15px;
		left:20px;
		border-radius: 5px;
		background:#fff;
		padding:10px;
		background: linear-gradient(20deg, #0099df 60%, #0062db);
		color:#fff;
		font-size:0.8em;
		font-weight: bold;
		text-shadow: none;
		opacity:0.7;
		transition:opacity 0.5s;
	}

	.newsvig.newsvig-title {
		background: linear-gradient(20deg, #0099df 60%, #0062db);	
	}

	.newsvig span.newsvig-title-to-action {
		color:#fff;
		font-size:1em;
		font-weight: 400;
		text-shadow: none;
		padding: 0.8em;
		text-transform: uppercase;
		background: linear-gradient(20deg, #47a8d5 20%, #2675d7);
	}

	.newsvig:hover span.newsvig-call-to-action, .newsvig:hover span.newsvig-title-to-action {
		opacity:1;
	}
	
	.content-wrapper a[href*="/files/"] {
		display: inline-block;
		margin-bottom: 5px;
		margin-right: 5px;
		padding: 0.5em 0.8em;
		background: linear-gradient(60deg, rgba(84,58,183,1) 0%, rgba(0,172,193,1) 100%);
		color: #fff;
	}

	.content-wrapper a[href*="/files/"]:before {
		content: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0iY3VycmVudENvbG9yIiBjbGFzcz0iYmkgYmktZmlsZS1lYXJtYXJrLWFycm93LWRvd24iIHZpZXdCb3g9IjAgMCAxNiAxNiI+CiAgPHBhdGggZD0iTTguNSA2LjVhLjUuNSAwIDAgMC0xIDB2My43OTNMNi4zNTQgOS4xNDZhLjUuNSAwIDEgMC0uNzA4LjcwOGwyIDJhLjUuNSAwIDAgMCAuNzA4IDBsMi0yYS41LjUgMCAwIDAtLjcwOC0uNzA4TDguNSAxMC4yOTNWNi41eiIvPgogIDxwYXRoIGQ9Ik0xNCAxNFY0LjVMOS41IDBINGEyIDIgMCAwIDAtMiAydjEyYTIgMiAwIDAgMCAyIDJoOGEyIDIgMCAwIDAgMi0yek05LjUgM0ExLjUgMS41IDAgMCAwIDExIDQuNWgyVjE0YTEgMSAwIDAgMS0xIDFINGExIDEgMCAwIDEtMS0xVjJhMSAxIDAgMCAxIDEtMWg1LjV2MnoiLz4KPC9zdmc+");
		margin-right: 0.5em;
		filter: invert(1);
	}
