* {
	margin: 0; 
	padding: 0;
}

html {
	width: 100%;
	overflow-y: scroll;
	position: relative;
	scroll-behavior: smooth;
}

body {
	font-family: 'Lato Web', sans-serif;
	color: #2d3945; 
	background: #fff;
	font-size: 15px; 
	margin: 0px; 
	min-width: 300px;
	position: relative;
}

#page_content {
	width: 100%;
	overflow-x: hidden;
}

div, p {
	line-height: 1.6em;
}

html, body {
	height: 100%;
	min-height: 100%;
}

.normal {
	color: #2d3945; 
	text-decoration: none;
}

table, th, td {
	font-size: 100%; 
	border-collapse: collapse;
}

table, img {
	border:0;
}

img {
	max-width: 100%;
	height: auto;
}

ul, ol {
	margin-bottom: 1rem;
}

ul li, ol li {
	margin-left: 1.5em;
	padding-left: .5em;
}

a, .link {
	color: #005bb6; 
	text-decoration: underline;
}

a:hover, .link:hover {
	text-decoration: none;
}


.blue {
	color: #005bb6;
}

.white, .white a {
	color: white;
}

input, textarea, button, select, submit {
	font-family: 'Lato Web', sans-serif;
	font-size: 1em; 
	/*-webkit-appearance: none;*/
}

input[type="text"], input[type="password"]{
	padding-left: .5em;
	padding-right: .5em;
	height: 3em;
	line-height: 3em;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.2);
	box-sizing: border-box;
}

textarea {
	padding: .5em;
	line-height: 1.5em;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.2);
}

select {
	padding-left: .5em;
	padding-right: .5em;
	line-height: 3em;
	height: 3em;
	border: 2px solid #ccc;
}

input[type="text"]:hover, input[type="password"]:hover, textarea:hover, select:hover{
	border: 1px solid rgba(0, 0, 0, 0.3);
}

input[type="text"]:focus, input[type="password"]:focus, textarea:focus, select:focus{
	/*box-shadow: 0 0 3px #55ae43;*/
	border: 1px solid rgba(0, 0, 0, 0.3);
}

button, input[type="submit"], input[type="button"], .button, .pseudo_btn {
	color: #fff;
	background: #d4245f;
	border: 2px solid #d4245f;
	height: 3.8em;
	line-height: calc(3.8em - 4px);
	padding-left: 2em;
	padding-right: 2em;
	max-width: 100%;
	cursor: pointer;
	transition: all .2s ease;
}


button:hover, input[type="submit"]:hover, .button:hover, .pseudo_btn:hover {
	background: #005bb6;
	border-color: #005bb6;
}

button:active, input[type="submit"]:active, .button:active, .pseudo_btn:active   {
	background: #005bb6;
	border-color: #005bb6;
}

button[disabled], button:hover[disabled], button:active[disabled], .pseudo_btn[disabled]{
	background: #dddddd;
	border-color: #dddddd;
	color: #999999;
}

.pseudo_btn {
	display: inline-block;
	text-decoration: none;
}

.white-button {
	background-color: white;
	color: #005bb6;
	border-color: white;
}

.white-button:hover {
	color: white;
	background-color: #005bb6;
	border-color: #005bb6;
}

.sans-serif {
	font-family: 'Lato Web', sans-serif !important;
}

input[type="radio"], input[type="checkbox"] {
	vertical-align: middle;
	margin-right: 5px;
}

p {
	display: block; 
	margin-bottom: 1rem;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5 {
	font-family: 'Lato Web', sans-serif;
}

h1, .h1	{
	font-size: 3em; 
	display: block; 
	margin: 0 0 1rem 0;
	font-weight: 400; 
}

h2, .h2	{
	font-size: 2.6em; 
	display: block; 
	margin: 0 0 1rem 0;
	font-weight: 400; 
}

h3, .h3 {
	font-size: 2.2em; 
	display: block; 
	margin: 0 0 1rem 0;
	font-weight: 400; 
}

h4, .h4 {
	font-size: 1.8em; 
	display: block; 
	margin: 0 0 15px 0;
	font-weight: 400; 
}

h5, .h5 {
	font-size: 1.4em; 
	display: block; 
	margin: 0 0 1rem 0;
	font-weight: 400; 
}

blockquote {
	padding: 1em 1em 1em 3em;
}

small, .small {
	font-size: 0.9em;
}


.box-shadow {
	box-shadow: 0px 30px 60px -30px #b4acba;
	
}

.bg-light {
	background-color: #eff1f3;
}

.bg-white {
	background-color: white;
}


#logo {
	display: inline-block;
	background-image: url(../../../img/logo-full-white.svg);
	background-size: contain;
	background-position: left center;
	background-repeat: no-repeat;
	position: relative;
	color: white;
	max-width: 575px;
	width: 100%;
	height: 100px;
}

.top_info_block {
	position: absolute;
	width: 100%;
	height: 20vh;
	height: 20svh;
	min-height: 100px;
	z-index: 10;
	vertical-align: middle;
}

.top_info_block > div {
	top: 50%;
	transform: translateY(-50%);
}

.top_menu {
	display: inline-block;
	vertical-align: middle;
	position: relative;
	color: white;
	text-decoration: none;
	font-size: 1.25em;
	margin-right: 1em;
	transition: all .3s ease;
}

.top_menu:after {
	content: '';
	display: block;
	position: absolute;
	z-index: -1;
	left: -.25em;
	top: 50%;
	height: 0;
	width: calc(100% + .5em);
	background: #fff;
	transition: all .3s ease;
}

.top_menu:hover {
	color: #005bb6;
}

.top_menu:hover:after {
	top: -.25em;
	height: calc(100% + .5em);
}


#bottom {
	width: 100%;
	position: relative;
	background-color: #005bb6;
	color: white;
}

#bottom a, #bottom .normal {
	color: white;
}

.header {
	font-size: 5em;
}

.nice_block {
	background-color: white;
	position: relative;
	transition: color .3s ease, background-color .3s ease;
}

.nice_block.bg-cover {
	background-color: #eff1f3;
}

.nice_block:after {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	width: 100%;
	height: 0;
	background: #005bb6;
	z-index: 1;
	transition: all .3s ease;
}

.nice_block > div {
	z-index: 2;
}

.nice_block-header {
	color: #005bb6;
	font-size: 1.9em;
	line-height: 1.2em;
	transition: color .3s ease;
	text-transform: uppercase;
}

.nice_block:hover {
	/*background-color: #005bb6;*/
	color: #fff;
}

.nice_block:hover:after {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: #005bb6;
	z-index: 1;
}

.nice_block:hover .nice_block-header {
	color: #fff;
}



.square:before{
    content: "";
    display: block;
    padding-top: 100%;
}

.square-content{
    position:  absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

.wide:before{
    content: "";
    display: block;
    padding-top: calc(50% - 1rem);
}

.bg-fixed {
	position: relative;
	width: 100%;
	height: min(100vh, 170vw);
	height: min(100svh, 170vw);
	background-attachment: fixed;
	background-position: center center;
	background-size: cover; 
	overflow: hidden;
}

.bg-fixed:before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 40%;
	background: linear-gradient(0deg, rgba(16, 44, 67, 0.6) 0, rgba(16, 44, 67, 0) 100%);
	overflow: hidden;
	z-index: 1;
}

.overlapped {
	margin-top: min(-25vh, -15em);
	margin-top: min(-25svh, -15em);
}





.frame_1 {
	position: relative;
	width: 100%;
	height: 400px;
	min-height: 100vh;
	min-height: 100svh;
	overflow: hidden;
}

.frame_1:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 20%;
	background: linear-gradient(180deg, rgba(16, 44, 67, 0.6) 0, rgba(16, 44, 67, 0) 100%);
	overflow: hidden;
	z-index: 1;
}

.frame_1_content {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
}

.text .animated {
	/*display: inline-block;*/
}

.frame_1_content .text {
	/*font-size: max(min(8vw, 1vh), 75px);*/
	font-size: max(min(min(5vw, 8vh), 75px), 30px);
}

.dark_logo_bg {
	position: absolute;
	z-index: 2;
	mix-blend-mode: multiply;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.dark_logo_bg .logo-1, .dark_logo_bg .logo-2, .dark_logo_bg .logo-3 {
	display: block;
	position: absolute;
	height: 78vh;
	height: 78svh;
	width: 180vh;
	width: 180svh;
	background-image: url(../../../img/logo-blue.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	bottom: 6.7vh;
	bottom: 6.7svh;
}

.dark_logo_bg .logo-1 {
	right: 78%;
	animation: logo_1_kf 30s linear infinite;
}

.dark_logo_bg .logo-2 {
	left: 70%;
	animation: logo_2_kf 30s linear infinite;
}

.dark_logo_bg .logo-3 {
	left: 70%;
	animation: logo_3_kf 30s linear infinite;
}

@keyframes logo_1_kf {
  from {
    left: 200vh;
  }
  to {
  	left: 0;
  }
}

@keyframes logo_2_kf {
  from {
    left: 0;
  }
  to {
  	left: -200vh;
  }
}

@keyframes logo_3_kf {
  from {
    left: 400vh;
  }
  to {
  	left: 200vh;
  }
}

.contacts-image {
	position: absolute;
	z-index: 1;
	left: 50%;
	top: 0;
	width: 50%;
	height: 100%;
	background-image: url(../../../img/frame-6-bg.jpg);
	background-position: center;
	background-size: cover;
}

.frame_1_bg {
	z-index: 0;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-image: url(../../../img/frame-1-bg.jpg);
	background-size: cover;
	background-position: center center;
	background-color: #b0c5d7;
	background-repeat: no-repeat;
}

.frame_4_bg {
	z-index: 0;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-image: url(../../../img/frame-4-bg.jpg);
	background-size: cover;
	background-position: center center;
	background-color: #b0c5d7;
	background-repeat: no-repeat;
}

.frame_5_bg {
	z-index: 0;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-image: url(../../../img/frame-5-2-bg.jpg);
	background-size: cover;
	background-position: center top;
	background-color: #b0c5d7;
	background-repeat: no-repeat;
}


@media screen and not (orientation: landscape) {
	.frame_1_bg {
		background-position: 30% center;
	}
	
	.frame_4_bg {
		background-position: 20% center;
	}
	
	.frame_5_bg {
		background-position: 35% center;
	}
}