html {
    height: 100%;
}

body
{
	background: #fff;
	color: #333;
	font-family: 'Montserrat', sans-serif;
	font-weight: 400;
	min-height: 100%;
	overflow-x: hidden;
}

p {
	line-height: 1.7em;
}

/*
*
* Website Header
*
*/

header {
	background-size: cover;
	min-height: 120px;
	border-bottom: 4px solid #EC6E14;
	padding-top: 130px;
	}

header h1 {
	color: #FFFFFF;
	margin-top: 70px;
	margin-bottom: 20px
	}

.header-caption {
	color: #FFF;
	font-style: normal;
	font-weight: 300;
	font-size: 18px;
	padding-top: 0;
	padding-bottom: 60px;
	}

.main-logo {
	line-height: 50px;
	}

	.main-logo img {
		transition: all 100ms ease-in-out;
		width: 160px;
		}

.header-nav {
		position: absolute;
		top: 0;
		width: 100%;
		margin-top: 40px;
		height: 80px
		/* transition: background 200ms ease-in-out; */
		}

	.header-nav .container-lg {
			display: flex;
			height: 100%;
			align-items: center;
			justify-content: space-between;
			flex-wrap: wrap;
			}

	.header-nav.sticky {
			position: fixed;
			margin: 0;
	    z-index: 999;
	    background: #242845;
			transition: background 200ms ease-in-out;
			}

	.header-nav.sticky .main-logo img {
			width: 130px;
			}

.nav-menu {
	display: flex;
	height: 40px;
	padding: 0;
  margin: 0;
	flex-wrap: wrap;
	}

	.nav-menu li:hover > ul,
	.nav-menu li ul:hover {
		margin-top: 0;
	  visibility: visible;
	  opacity: 1;
		}

	.nav-menu > .nav-menu-item:last-child {
		padding-right: 0;
		}

.nav-menu-item {
	padding: 0 15px;
	position: relative;
	list-style-type: none;
	}

.nav-menu-item a {
	display: block;
	height: 40px;
	padding: 10px 0;

	border-bottom: solid 2px transparent;

	color: #FFF;
	font-family: Montserrat;
	font-style: normal;
	font-weight: 500;
	font-size: 13px;

	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
	letter-spacing: 0.5px;
	text-shadow: 0 0 3px rgba(0,0,0,0.4);

	transition: all 200ms ease-in-out;
	}

	.nav-menu-item a.selected {
		color: #8ECEFF;
		font-weight: 600;
		border-bottom: solid 2px #1FB8E7;
		}

	.nav-menu-item a:hover {
		color: #8ECEFF;
		border-bottom: solid 2px rgba(255,255,255,0.1);
		}

.nav-menu-dropdown {
	display: flex;
	flex-direction: column;
	position: absolute;
	padding: 0;
	left: 0;

	justify-content: center;

	list-style: none;

	visibility: hidden;
	opacity: 0;
	z-index: 10;

	transition: all 0.3s ease;
	}

.sticky .nav-menu-dropdown, .web-app-header .nav-menu-dropdown{
	background: #242845;
	}

	/*header.commercial-page {
		background-image: url("../images/header_bg_commercial.jpg");
	}

	header.enterprise-page {
		background-image: url("../images/header_bg_commercial.jpg");
	}

	header.leisure-page {
		background-image: url("../images/header_bg_leisure.jpg");
	}*/

	.mobile-menu-btn {
		display: none;
		color: #fff;
		background: #242845;
		padding: 25px 16px;
		border-radius: 20px;
		cursor: pointer;
		}


/* End of Header */

.footer {
	height: 120px;
	padding-top: 56px;
	text-align: center;
	color: #4E5169;
	font-size: 14px;
	align-content: center;
	}

	.footer a {
		color: #4E5169;
		}

/*
*
* Home page
*
*/

header.home-page h1 {
	margin-top: 70px;
	margin-bottom: 48px;
	}

header.home-page .header-caption {
	padding-top: 0;
	padding-bottom: 64px;
	}


.floating-nav-container {
	position: relative;
}

.floating-nav-container.home-page {
	background: #F5F7FA;
	padding-top: 71px;
}

#floating-nav {
	position: absolute;
	top: 0;
	width: 100%;

	z-index: 9;
	}

	#floating-nav.sticky {
		position: fixed;
	  top: 80px;
		background: #fff;
		}

/*
*
* Content
*
*/

h1 {
	font-family: 'Montserrat';
	font-weight: 300;
	font-size: 40px;
	line-height: 49px;
	text-transform: uppercase;
	}

h2 {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 300;
	font-size: 40px;
	line-height: 44px;
	text-transform: uppercase;
	color: #284A75;
	/* color: #0B50B9; */
	margin-bottom: 20px;
	}

h3 {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 500;
	/* font-size: 24px; */
	/* line-height: 32px; */
	margin-bottom: 20px;
	}

.feature-section {
	position: relative;
	overflow: hidden;
	background: #fff;
	}

	.feature-section.rounded_right {
		border-radius:  0 310px 310px 0;
	}

	.feature-section.rounded_left {
		border-radius:  310px 0 0 310px;
	}

	.feature-section .container, .feature-section .container-xl {
		min-height: 620px;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		flex-direction: column;
		justify-content: center;
		position: relative;
		}

	.feature-section.inverted-color {
		color: #FFF;
		}

	.feature-section.inverted-color h2 {
		color: #FFF;
		}

	.feature-section .intro-text {
		margin-bottom: 40px;
		}

		.feature-section .intro-text p:last-child {
			margin-bottom: 0;
			}

	.feature-section h2 {
		margin-bottom: 40px;
		}


	.feature-section#leisure,
	.feature-section#enterprise,
	.feature-section#commercial  {
		background: #F5F7FA;
		margin: 40px 0;
	}

	.feature-section#nav-gribview {
    padding-top: 128px;
	}

	.feature-section#leisure .flyout-image {
		background-image: url('../images/home-leisure-bg.png');
	}

	.feature-section#enterprise .flyout-image {
		background-image: url('../images/home-enterprise-bg.png');
		width: 48%;
	}

	.feature-section#commercial  .flyout-image {
		background-image: url('../images/home-commercial-bg.png');
	}

	/* .feature-section#vos-details {
		background: #EBEFF5;
		border-radius: 0 400px 0 0;
	} */

	.feature-section .sdk-item {
		background: url('../images/sdk-line.svg') no-repeat;
		padding-top: 24px;
		padding-bottom: 15px;
	}

	.feature-section ul {
		padding-left: 24px;
	}

	.feature-section ul li {
		margin: 0.5rem 0;
	}

	.feature-section .btn {
    margin: 0 20px 20px 0;
	}

	.feature-section .btn:last-child {
		margin-right: 0;
	}

	.flyout-image {
		position: absolute;
		width: 50%;
		height: 100%;
		max-height: 408px;
		background-repeat: no-repeat;
		background-position: center;
		background-size: cover;
		top: 100px;
		}

	.flyout-image-left {
		left: 0;
		border-radius: 0 204px 204px 0;
		}

	.flyout-image-right {
		right: 0;
		border-radius: 204px 0 0 204px;
		}

.checkmark-list {
	list-style-image: url("../images/ic_list_checkmark.svg");
	list-style-position: inside;
	text-align: left;
	padding-left: 0;
	}

	.checkmark-list li {
		margin-bottom: 8px;
	}

.feature-grid {
	background: #F5F7FA;
	padding: 24px 0;
}

.feature-grid-item {
	font-weight: 500;
	display: flex;
	flex-direction: column;
  align-items: center;
	margin: 40px 0;
	text-align: center;
	}

	.feature-grid-item img {
		width: 80px;
		height: 80px;
		margin-bottom: 16px;
	}

#testimonials {
	position: relative;
	width: 700px;
  margin: 0 auto 60px;
	padding: 100px 0 60px;
	}

	#testimonials:before, #testimonials:after {
		position: absolute;
		color: #E8E8E8;
		font-size: 150px;
		}

	#testimonials:before {
		content: '«';
		left: -60px;
  	top: -25px;
		}

	#testimonials:after {
		content: '»';
		right: -60px;
    bottom: 24px;
		}

.testimonial-item {
	margin: 0 auto;
	width: 600px;
	}

	.testimonial-item p {
		display: flex;
		align-items: center;
		height: 200px;
		border-top: 1px solid #E8E8E8;
		border-bottom: 1px solid #E8E8E8;
		margin-bottom: 16px;

		font-size: 16px;
		line-height: 24px;
		}

	.testimonial-item i {
			font-size: 0.9em;
			font-weight: 500;
			color: #333;
			}

.section-clients {
  min-height: 540px;
	padding-top: 5%;
	text-align: center;
	}

.clients-logo {
	margin-top: 64px;
	}

.section-contact-form {
	padding: 60px 30px;
	background-color: #242845;
	text-align: center;
	color: #FFF;
	}

	.section-contact-form h3 {
		margin: 0 0 32px 0;
		}

.contacts-group {
	padding-top: 24px;
	padding-bottom: 24px;
	}

.teammate {
	display: flex;
	align-items: center;
	margin-top: 32px;
	margin-bottom: 32px;
}

.teammate-photo {
	width: 150px;
	height: 150px;
	margin-right: 30px;
}

.teammate-name {
	font-size: 20px;
	line-height: 24px;
	font-weight: 500;
	padding-bottom: 8px;
}

.teammate-title {
	font-size: 12px;
}

/*
*
* Controls
*
*/

.btn {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 600;
	font-size: 14px;
	line-height: 24px;
	text-transform: uppercase;
	border-radius: 32px;
	padding: 12px 48px;
	}

.btn-sm {
	font-size: 13px;
	line-height: 20px;
	border-radius: 32px;
	padding: 8px 24px;
}

.btn-primary {
  color: #fff;
  background-color: #EC6E14;
  border-color: #EC6E14;
	}

	.btn-primary:hover {
	  color: #fff;
	  background-color: #E36104;
	  border-color: #D45B05;
		}

	.btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active, .show>.btn-primary.dropdown-toggle {
	  color: #fff;
	  background-color: #D45B05;
	  border-color: #D45B05;
		}

	.btn-primary.focus, .btn-primary:focus {
	  color: #fff;
	  background-color: #EC6E14;
	  border-color: #EC6E14;
	  box-shadow: 0 0 0 0.2rem rgba(38,143,255,.5);
		}

.btn-outline-primary {
	color: #EC6E14;
  border-color: #EC6E14;
	}

	.btn-outline-primary:hover {
		color: #FFF;
		background-color: #EC6E14;
		}

.inline-icon {
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-left: 4px;
	}

.icon-link {
	background-image: url('../images/ic_link.svg');
	}

.btn-icon .icon {
	display: inline-block;
	width: 24px;
	height: 24px;
	vertical-align: bottom;
	}

	.btn-icon .icon:last-child {
		margin-left: 8px;
		}

	.btn-icon .icon:first-child {
		margin-right: 8px;
		}

.tabs {
	margin-top: 40px;
	}

.nav-tabs {
	border-bottom: 1px solid #EDEEF5;
	}

		.nav-tabs .nav-link {
			border: none;
	    border-bottom: 2px solid transparent;

			font-family: 'Montserrat', sans-serif;
			font-style: normal;
			font-weight: 500;
			font-size: 14px;
			color: #4E5169;
			text-transform: uppercase;

    	padding: 24px 0;

			transition: all 150ms ease-in-out;
			}

			.nav-tabs .nav-link:active {
				color: #EC6E14;
			}

		.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
	    color: #EC6E14;
			background: transparent;
	    border-bottom: 2px solid #EC6E14;
			}

		.nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover {
	    border-color: #e9ecef #e9ecef #dee2e6;
			}

		#app-platforms-content .tab-pane {
			padding: 35px 0;
			min-height: 200px;
			text-align: center;
			}

		#app-platforms-content .btn {
			margin: 16px 24px;
		}

		.platform-col {
			display: flex;
			flex-direction: column;
			align-items: center;
		}


		.btn-store:hover {
			opacity: 0.8;
		}



/*
*
* Plans & Pricing
*
*/

.subscription-plan-item {
	background: #FFFFFF;
	box-shadow: 0px 4px 16px rgba(78, 81, 105, 0.15);
	border-radius: 6px;
	text-align: center;
	padding-bottom: 40px;
	margin-bottom: 32px;
	}

	.subscription-plan-item .item-header {
		background: #2182B4;
		color: #FFF;
		height: 220px;
		padding: 30px 0;
		border-radius: 6px;
		background-size: cover;
		}

		.subscription-plan-item .plan-name {
			font-family: "Montserrat", sans-serif;
			font-weight: 500;
			font-size: 32px;
			margin-bottom: 5px;
			}

		.subscription-plan-item .plan-price {
			font-family: "Montserrat", sans-serif;
			font-weight: 200;
			margin-bottom: 0;
			}

			.subscription-plan-item .plan-price strong {
				font-size: 32px;
				font-weight: 500;
				}

		.subscription-plan-item .checkmark-list {
			padding: 40px 32px 8px;
			}

/*
*
* Data Portfolio Page
*
*/

.portfolio-grid {
	position: relative;
	margin-bottom: 48px;
	background: #fff;
	}

	.portfolio-grid-header {
		display: flex;
		flex-wrap: nowrap;
		justify-content: space-between;
		padding: 18px 0;
		position: sticky;
    background: #fff;
    top: 80px;
		box-shadow: 0px 16px 16px rgba(255, 255, 255, .6);
		border-bottom: 1px solid #EBEFF5;
		background-color: #FFF;
		}

		.portfolio-grid-header span {
			font-family: Roboto;
			font-style: normal;
			font-weight: 500;
			font-size: 12px;
			line-height: 16px;
			flex: 1 1 10%;
			}

			.rdas .portfolio-grid-header span {
				flex: 1 1 10%;
			}


	#portfolio-grid-menu {
    margin-top: 110px;
		margin-bottom: 24px;
		}

		#portfolio-grid-menu.sticky {
			position: sticky;
			top: 120px;
			}

		.grid-menu-segment {
			padding: 0;
			margin-bottom: 40px;
			list-style: none;
			}

			.grid-menu-segment li {
				font-family: 'Roboto';
				font-style: normal;
				font-size: 14px;
				margin: 12px 0;
				padding: 0;
				}

				.grid-menu-segment a {
					color: #333;
					text-decoration: none;
					padding: 0;
					}

					.grid-menu-segment a:hover {
						opacity: 0.8;
					}

					.grid-menu-segment a:active {
						color: #EC6E14;
					}

					.grid-menu-segment a.active {
						font-weight: 500;
						font-size: 14px;
						color: #EC6E14;
						}

			li.menu-segment-caption {
				font-weight: 500;
				font-size: 10px;
				line-height: 12px;

				letter-spacing: 0.07em;
				text-transform: uppercase;

				color: #4E5169;
				}

h3.portfolio-segment-title {
	font-family: Montserrat;
	font-style: normal;
	font-weight: 500;
	font-size: 32px;
	line-height: 39px;
	margin: 0;
	padding: 64px 0 24px;
	color: #16388E;
	border-bottom: 1px solid #EBEFF5;
	}

.portfolio-item {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	padding: 16px 0;
	border-bottom: 1px solid #EBEFF5;
	font-family: 'Roboto';
	font-style: normal;
	font-weight: normal;
	font-size: 14px;
	line-height: 24px;
	}

	.portfolio-item p {
		flex: 1 1 10%;
		margin: 0;
		}

	.rdas .portfolio-item p {
		flex: 1 1 5%;
		}

	p.portfolio-item-name {
		color: #000;
		}

		.portfolio-item .n-a {
			color: #d3d4e2;
		}

		p.portfolio-item-name b{
			font-weight: 500;
			}


	.portfolio-item-preview img {
		box-shadow: 0px 4px 8px rgba(42, 62, 98, 0.1);
		border-radius: 4px;
		display: inline-block;
		text-align: center;
		color: #000;
		background: #ebeff5;
		transition: all ease-in-out 200ms;
		}

		.portfolio-item-preview img:hover {
			box-shadow: 0px 6px 12px rgba(42, 62, 98, 0.2);
		}

span.col-title-name,
p.portfolio-item-name {
	flex: 0 1 20%;
}

span.col-title-preview,
p.portfolio-item-preview {
	flex: 0 1 25%;
	margin: 0 16px;
  max-width: 240px;
}

span.col-title-meteotypes,
p.portfolio-item-types {
	flex: 0 1 25%;
	padding-right: 16px;
}
.column-group {
	display: flex;
	flex: 1 1 30%
}


/*
*
* Web App Page
*
*/
header.web-app {
	background: none;
  min-height: 76px;
  border: none;
  padding-top: 0;
}

.web-app .header-nav {
	position: relative;
	display: flex;
	height: 76px;
	padding: 0 15px;
	margin: 0;
	background: #242845;
	align-items: center;
	justify-content: space-between;
}

.web-app-header {
	position: relative;
	display: flex;
	height: 76px;
	padding: 0 15px;
  margin: 0;
	background: #242845;
	align-items: center;
	justify-content: space-between;
	}

	.web-app-header .main-logo img {
    width: 130px;
		}

#web-app {
    position: absolute;
    left: 0;
    right: 0;
    top: 76px;
    bottom: 0;
	overflow: hidden;
	z-index: 1;
	}

/*
*
* News Page
*
*/

.back-link {
	display: flex;
	align-items: center;
	margin-bottom: 24px;
	margin-left: -32px;
}

.back-link img {
	margin-right: 8px;
}

.news-entry {
	border-radius: 8px;
	background: #fff;
	box-shadow: 0px 4px 16px rgba(78, 81, 105, 0.15);
	overflow: hidden;
	margin-bottom: 32px;
	}

	.news-entry h2, .news-page h2 {
		text-transform: none;
		}

	.news-page h3, .news-page h4 {
		margin-top: 32px;
		line-height: 1.3em;
	}
	


.news-entry-date {
	color: #4E5169;
	font-size: 14px;
	}

.news-entry-image {
	overflow: hidden;
	padding: 0;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	}

	.news-entry-featured .news-entry-image{
		min-height: 300px;
		width: 100%;
	}

	.news-entry-image img {
			height: 100%;
	    width: auto;
		}
.news-entry-body {
	padding: 56px 0 48px;
	margin-left: 8.333333%;
	}

	.news-entry-featured .news-entry-body {
		margin-right: 8.333333%;
	}

	.flex-row-reverse .news-entry-body {
		margin-right: 8.333333%;;
		}

.img-article {
	margin-bottom: 48px;
  margin-top: 16px;
}

.news-entry-quote {
	margin: 36px;
	padding: 24px 0;
	border-bottom: 1px solid #ccc;
    border-top: 1px solid #ccc;
}

blockquote {
	quotes: "“" "”" "‘" "’";
	}

	blockquote::before {
		content: open-quote;
		position: absolute;
		left: -40px;
		font-size: 60px;
		color: #ccc;
		top: -48px;
		line-height: 60px;
		}

	blockquote::after {
		content: close-quote;
		}

.news-entry-quote .quote-content {
	font-weight: 500;
	position: relative;
	line-height: 1.7em;
}

.news-entry-contact, .news-entry-attachment {
	display: flex;
	align-items: center;
	padding: 16px;
	margin-bottom: 10px;

}

.news-entry-contact {
	border-radius: 8px;
	border: 1px solid #EBEFF5;
}

.news-entry-contact p, .news-entry-attachment p {
	white-space: nowrap;
	margin: 0;
}

.news-entry-contact img {
	width: 72px;
	height: 72px;
}

.news-entry-attachment img {
	width: 24px;
	height: 24px;
	margin-right: 30px;
}

.news-entry-main-image {
	position: relative;
}

.attribution {
	font-size: 11px;
}

/*
*
* Login, Register, My Account
*
*/

.account-page {
	background: #1e2849 url(../images/header_bg_main.jpg) top center;
  background-size: cover;
  background-repeat: no-repeat;
	}

	.account-page header {
		background: none;
		border-bottom: none;
		}

.account-content {
	margin-top: 24px;
}

	.account-content  h1 {
		margin-bottom: 48px;
	}

	.account-content  h2 {
		margin-bottom: 24px;
	}

	.account-content  h4 {
		margin-bottom: 16px;
	}

	.account-content  .form-check-inline {
		margin: 0;
	}

	.account-content  .subscription-name {
		line-height: 45px;
		font-weight: 600;
	}

.user-subscriptions {
	width: 100%
	}

	.user-subscriptions th {
		font-size: 12px;
		color: #4E5169;
		height: 32px;
    padding: 0 12px;
		text-align: left;
		border: 0;
		}

	.user-subscriptions td {
		font-size: 16px;
		border: 0;
		padding: 12px;
	}

.bounded-content {
	background: #ffffff;
	border-radius: 6px;
	box-shadow: 0 8px 16px rgba(0,0,0,0.5);
	padding: 40px;
}

.auth-form {
	color: #33414f;
	padding:  56px;
	margin: 5vh auto 0;
	max-width: 560px;
	}

	.auth-form .form-actions {
		display: flex;
		justify-content: space-between;
		margin-top: 48px;
	}

	.auth-form h1 {
		margin-bottom: 16px;
	}

.auth-form-footer {
	margin-top: 10%;
	text-align: center;
}

.login-form {
	max-width: 450px;
}


.form-group {
	margin-bottom: 20px;
	}

	.form-group label, .form-row label{
		margin-bottom: 4px;
    font-weight: 500;
    font-size: 14px;
	}


		label.form-check-label {
			font-weight: normal;
		}

label.error {
	color: #f00;
}

.form-control.error {
  border-color: #f00;
}

.purchase-help-info {
	margin-top: 24px;
	margin-bottom: 32px;
	font-size: 14px;
	color: #4E5169;
	}

	.purchase-help-info ul li{
		margin-bottom: 8px;
		}

	.purchase-help-info ul, .purchase-help-info ol {
		padding-left: 20px;
	}

	.purchase-selected-plan {
		background-color: #F5F7FA;
		padding: 20px;
		margin: 0 0 40px;
		border-radius: 4px;
		text-align: center;
		font-size: 20px;
	}

.subscription-level {
	border-radius: 4px;
  padding-bottom: 10px;
  padding-top: 10px;
  border: 1px solid #ced4da;
	margin-bottom: 10px;
	}

.form-check-inline .subscription-option  {
	padding: 0 16px;
	border-radius: 8px;
	line-height: 48px;
	}

	.form-check-inline .subscription-option:hover {
		background-color: #F5F7FA;
		cursor: pointer;
		}

	.form-check-inline .subscription-option.selected {
		background-color: #EC6E14;
		color: #fff;
		}

.account-page .footer, .account-page .footer a {
	color: #F5F7FA;
	}

/*
*
* Image View Styles
*
*/

.imageview .title,
.imageview .prev,
.imageview .next,
.imageview .hide {
	-background-color: rgba(0, 255, 0, 0.2);
}

.imageview {
	display: none;
	position: fixed;
	z-index: 10000;
	top: 0px;
	left: 0px;
	bottom: 0px;
	right: 0px;
	background: rgba(0,0,0,0.9);
}
.imageview .prev,
.imageview .next,
.imageview .hide {
	position: absolute;
	opacity: 0.5;
	background-repeat: no-repeat;
	-moz-transition: opacity 0.5s;
	-webkit-transition: opacity 0.5s;
	transition: opacity 0.5s;
	cursor: pointer;
}
.imageview .prev:hover,
.imageview .next:hover,
.imageview .hide:hover {
	opacity: 1;
}
.imageview .prev,
.imageview .next {
	z-index: 10001;
	width: 80px;
	height: 100%;
	background-position: 30px 50%;
	background-size: 28px 100%;
}
.imageview .prev {
	left: 0px;
	background-position: 30px 50%;
	background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCA0NTEuODQ3IDQ1MS44NDciPjxwYXRoIGZpbGw9IiNmZmZmZmYiIGQ9Ik05Ny4xNDEsMjI1LjkyYzAtOC4wOTUsMy4wOTEtMTYuMTkyLDkuMjU5LTIyLjM2NkwzMDAuNjg5LDkuMjdjMTIuMzU5LTEyLjM1OSwzMi4zOTctMTIuMzU5LDQ0Ljc1MSwwYzEyLjM1NCwxMi4zNTQsMTIuMzU0LDMyLjM4OCwwLDQ0Ljc0OEwxNzMuNTI1LDIyNS45MmwxNzEuOTAzLDE3MS45MDljMTIuMzU0LDEyLjM1NCwxMi4zNTQsMzIuMzkxLDAsNDQuNzQ0Yy0xMi4zNTQsMTIuMzY1LTMyLjM4NiwxMi4zNjUtNDQuNzQ1LDBsLTE5NC4yOS0xOTQuMjgxQzEwMC4yMjYsMjQyLjExNSw5Ny4xNDEsMjM0LjAxOCw5Ny4xNDEsMjI1LjkyeiIvPjwvc3ZnPg==');
}
.imageview .next {
	right: 0px;
	background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCA0NTEuODQ2IDQ1MS44NDciPjxwYXRoIGZpbGw9IiNmZmZmZmYiIGQ9Ik0zNDUuNDQxLDI0OC4yOTJMMTUxLjE1NCw0NDIuNTczYy0xMi4zNTksMTIuMzY1LTMyLjM5NywxMi4zNjUtNDQuNzUsMGMtMTIuMzU0LTEyLjM1NC0xMi4zNTQtMzIuMzkxLDAtNDQuNzQ0TDI3OC4zMTgsMjI1LjkyTDEwNi40MDksNTQuMDE3Yy0xMi4zNTQtMTIuMzU5LTEyLjM1NC0zMi4zOTQsMC00NC43NDhjMTIuMzU0LTEyLjM1OSwzMi4zOTEtMTIuMzU5LDQ0Ljc1LDBsMTk0LjI4NywxOTQuMjg0YzYuMTc3LDYuMTgsOS4yNjIsMTQuMjcxLDkuMjYyLDIyLjM2NkMzNTQuNzA4LDIzNC4wMTgsMzUxLjYxNywyNDIuMTE1LDM0NS40NDEsMjQ4LjI5MnoiLz48L3N2Zz4=');
}
.imageview .hide {
	z-index: 10002;
	top: 0%;
	right: 0%;
	width: 80px;
	height: 80px;
	background-position: 30px 50%;
	background-size: 20px 20px;
	background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCAyMTIuOTgyIDIxMi45ODIiPjxwYXRoIGZpbGw9IiNmZmZmZmYiIHN0eWxlPSJmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDsiIGQ9Ik0xMzEuODA0LDEwNi40OTFsNzUuOTM2LTc1LjkzNmM2Ljk5LTYuOTksNi45OS0xOC4zMjMsMC0yNS4zMTJjLTYuOTktNi45OS0xOC4zMjItNi45OS0yNS4zMTIsMGwtNzUuOTM3LDc1LjkzN0wzMC41NTQsNS4yNDJjLTYuOTktNi45OS0xOC4zMjItNi45OS0yNS4zMTIsMGMtNi45ODksNi45OS02Ljk4OSwxOC4zMjMsMCwyNS4zMTJsNzUuOTM3LDc1LjkzNkw1LjI0MiwxODIuNDI3Yy02Ljk4OSw2Ljk5LTYuOTg5LDE4LjMyMywwLDI1LjMxMmM2Ljk5LDYuOTksMTguMzIyLDYuOTksMjUuMzEyLDBsNzUuOTM3LTc1LjkzN2w3NS45MzcsNzUuOTM3YzYuOTg5LDYuOTksMTguMzIyLDYuOTksMjUuMzEyLDBjNi45OS02Ljk5LDYuOTktMTguMzIyLDAtMjUuMzEyTDEzMS44MDQsMTA2LjQ5MXoiLz48L3N2Zz4=');
}
.imageview .title {
	position: absolute;
	/* opacity: 0.5; */
	z-index: 10000;
	top: 0%;
	left: 0%;
	width: 100%;
	height: 80px;
	line-height: 80px;
	vertical-align: bottom;
	text-indent: 30px;
	font-family: Arial;
	font-size: 18px;
	text-align: center;
	color: #fff;
}
.imageview .image {
	display: flex;
	position: absolute;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}
.imageview .image img {
	display: none;
	max-width: 100%;
	max-height: 100%;
}

/*
*
* Slick Slider Styles
*
*/

.slick-prev,
.slick-next
{
    font-size: 0;
    line-height: 0;

    position: absolute;
    top: 50%;

    display: block;

    width: 20px;
    height: 20px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);

    cursor: pointer;

    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus
{
    color: transparent;
    outline: none;
    background: transparent;
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before
{
    opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before
{
    opacity: .25;
}

.slick-prev:before,
.slick-next:before
{
    font-family: 'slick';
    font-size: 20px;
    line-height: 1;

    opacity: .75;
    color: white;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slick-prev
{
    left: -25px;
}
[dir='rtl'] .slick-prev
{
    right: -25px;
    left: auto;
}
.slick-prev:before
{
    content: '←';
}
[dir='rtl'] .slick-prev:before
{
    content: '→';
}

.slick-next
{
    right: -25px;
}
[dir='rtl'] .slick-next
{
    right: auto;
    left: -25px;
}
.slick-next:before
{
    content: '→';
}
[dir='rtl'] .slick-next:before
{
    content: '←';
}

/* Dots */
.slick-dotted.slick-slider
{
    margin-bottom: 30px;
}

.slick-dots
{
    position: absolute;
    bottom: -32px;

    display: block;

    width: 100%;
    padding: 0;
    margin: 0;

    list-style: none;

    text-align: center;
}
.slick-dots li
{
    position: relative;

    display: inline-block;

    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;

    cursor: pointer;
}
.slick-dots li button
{
    font-size: 0;
    line-height: 0;

    display: block;

    width: 20px;
    height: 20px;
    padding: 5px;

    cursor: pointer;

    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus
{
    outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before
{
    opacity: 1;
}
.slick-dots li button:before
{
    font-family: 'slick';
    font-size: 24px;
    line-height: 20px;

    position: absolute;
    top: 0;
    left: 0;

    width: 20px;
    height: 20px;

    content: '•';
    text-align: center;

    opacity: .25;
    color: #0c2b4a;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before
{
    opacity: .75;
    color: #0c2b4a;
}

/* Coockies Consent Dialog */

.dark.cc_dialog {
    background-color: #242845 !important;
		box-shadow: 0 13px 24px #7c83b1;
}

.dark.cc_dialog button.cc_b_ok {
    background-color: #ec6e14 !important;
}

#requestDemoForm .col-form-label {
	width: 130px;
	text-align: right;
	padding-right: 12px;
}

#requestDemoSuccess {
	padding: 32px;
	text-align: center;
}

#careers-banner {
	color: #fff;
    width: 100%;
    background: #ec6e14;
    padding: 7px 0;
    font-weight: 500;
    text-align: center;
}

#careers-banner a {
	color: #fff;
    text-decoration: underline;
}

/* Mediaqueries */

@media (max-width: 960px) {

	.cc_dialog.simple {
		max-width: 100% !important;
	}

	.container, .container-lg, .container-xl {
		padding-right: 24px;
		padding-left: 24px;
	}

	.order-reverse {
		order: -1;
	}

  h1 {
    font-size: 28px;
		line-height: 36px;
	}

	header {
    padding-top: 80px;
		background-position: center 80px;
    min-height: 80px;
		}

	header h1, header.home-page h1 {
    margin-top: 32px;
    margin-bottom: 32px;
		line-height: 1.3em;
		}

	.header-caption, header.home-page .header-caption {
    padding-bottom: 32px;
		}

	.header-nav {
		margin-top: 0;
		background: #242845;
		}

	.nav-menu {
		background: rgb(36 40 69 / 0.90);
    position: absolute;
		display: none;
		height: auto;
		width: 100%;
    top: 80px;
    right: 0;
		z-index: 200;
		}

		.nav-menu-item {
			padding: 0;
		}

		.nav-menu-item a {
			padding: 20px 40px 20px 0;
			height: unset;
	    text-align: right;
		}

		.mobile-menu-btn {
			display: block;
			z-index: 300;
		}

	.btn {
		padding: 12px 36px;
	}


	#testimonials {
		width: 80%;
		padding-top: 36px;
    padding-bottom: 0;
		}

	#testimonials:before, #testimonials:after {
		content: '';
		display: none;
		}

		.feature-section {
			padding: 0;
			border-radius: 0 !important;
		}

		.feature-section#leisure,
		.feature-section#enterprise,
		.feature-section#commercial {
	    margin: 0;
		}

		.feature-section#nav-gribview {
	    padding-top: 0;
		}

		.feature-section .container,
		.feature-section .container-xl {
			min-height: unset;
			padding-top: 32px;
			padding-bottom: 32px;
		}

		.feature-section h2 {
			margin: 10px 0 20px;
			font-size: 32px;
		}

		.feature-section .btn {
			margin-bottom: 24px;
		}

		#floating-nav {
			display: none;
		}

		.floating-nav-container.home-page {
			padding: 16px 0;
		}

		.bounded-content {
			padding: 24px;
		}

		.account-content {
			border-radius: 0;
			margin-top: 0;
		}

		h3.portfolio-segment-title {
			font-size: 24px;
		}

		#portfolio-grid-menu {
			display: none;
		}

		.portfolio-item {
			/* flex-direction: column; */
			flex-wrap: wrap;
		}

		.portfolio-grid-header {
			display: none;
		}

		p.portfolio-item-name {
			flex: 1 1 100%;
			margin: 12px 0;
		}

		p.portfolio-item-preview {
			flex: 1 1 100%;
			max-width: 100%;
			margin: 12px 0;
			}

			.portfolio-item-preview img {
				width: 100%;
				height: auto;
			}


		p.portfolio-item-types {
			flex: 1 1 55%;
			margin: 12px 0;
		}

		p.portfolio-item-duration,
		p.portfolio-item-timestep,
		p.portfolio-item-updates {
			    flex: 0 1 auto;
		}

		.column-group {
			flex: 1 1 45%;
			flex-direction: column;
			margin: 12px 0;
		}

		.web-app .header-nav {
			display: none;
		}

		#web-app {
			top: 0;
		}

}

@media (max-width: 480px) {

	.main-logo img {
    width: 130px;
	}

	.back-link {
		margin-left: 0;
	}

	.auth-form {
    padding: 24px;
    margin-top: 0;
		max-width: 100%;
    border-radius: 0;

	}

	.feature-grid-item {
    flex-direction: row;
    margin: 0 0 20px;
    text-align: left;
		}

	.feature-grid-item img {
    margin: 0 20px 0 0;
		}

	.g-recaptcha {
		transform: scale(0.9);
    transform-origin: 0 0;
		}

	.news-entry-contact .teammate-photo {
		display: none;
	}
}

@media (max-width: 1200px) {
	.feature-section {
		border-radius: 0 !important;
	}
}
