/* reset */
table { border-spacing: 0; } address, caption, cite, code, dfn, th, var { font-style: normal; font-weight: normal; }
ol, ul { list-style: none; } caption, th { text-align: left; } abbr, acronym { border: 0; } html { font-size: 100%; }
a:focus, a:active, input, button { outline: none; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
* { padding: 0; margin: 0; border: 0; outline: none; box-sizing: border-box; }
a { text-decoration: none; }/* CSS Document */

/* cyrillic-ext */
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('PT Serif'), local('PTSerif-Regular'), url(https://fonts.gstatic.com/s/ptserif/v11/EJRVQgYoZZY2vCFuvAFbzr-tdg.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('PT Serif'), local('PTSerif-Regular'), url(https://fonts.gstatic.com/s/ptserif/v11/EJRVQgYoZZY2vCFuvAFSzr-tdg.woff2) format('woff2');
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('PT Serif'), local('PTSerif-Regular'), url(https://fonts.gstatic.com/s/ptserif/v11/EJRVQgYoZZY2vCFuvAFYzr-tdg.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('PT Serif'), local('PTSerif-Regular'), url(https://fonts.gstatic.com/s/ptserif/v11/EJRVQgYoZZY2vCFuvAFWzr8.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local('PT Serif Bold'), local('PTSerif-Bold'), url(https://fonts.gstatic.com/s/ptserif/v11/EJRSQgYoZZY2vCFuvAnt66qfVyvHpA.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local('PT Serif Bold'), local('PTSerif-Bold'), url(https://fonts.gstatic.com/s/ptserif/v11/EJRSQgYoZZY2vCFuvAnt66qWVyvHpA.woff2) format('woff2');
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local('PT Serif Bold'), local('PTSerif-Bold'), url(https://fonts.gstatic.com/s/ptserif/v11/EJRSQgYoZZY2vCFuvAnt66qcVyvHpA.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'PT Serif';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local('PT Serif Bold'), local('PTSerif-Bold'), url(https://fonts.gstatic.com/s/ptserif/v11/EJRSQgYoZZY2vCFuvAnt66qSVys.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@keyframes intro { 0% { transform: scale(1.2) translate3d(0, -20px, 0); opacity: 0; } 100% { transform: scale(1) translate3d(0, 0, 0); opacity: 1; } }

html { scroll-behavior: smooth; scrollbar-color: #517f99 transparent; }
@media screen and (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}
body { background: #2d2d2d; font-family: 'PT Serif', serif; font-size: 16px; cursor: default;  }

.app-lightbox { background-color: rgba(0, 0, 0, .6); width: 100%; height: 100%; position: fixed; top: 0; left: 0; z-index: 100; display: none; justify-content: center; align-items: center; }
.__alert .app-lightbox { display: flex; }
.app-alert { background: #fff; width: 90vw; height: 85vh; min-width: 300px; max-width: 800px; border-radius: 10px; animation: slidein .25s; }

.alert-close { height: 55px; display: flex; justify-content: flex-end; align-items: center; }
.alert-close__button { background: transparent; width: 40px; height: 40px; margin-right: 5px; display: inline-flex; justify-content: center; align-items: center; cursor: pointer; }
.alert-close__button:hover { opacity: .7; }
.alert-close__button::after { background-image: url(/assets/close.svg); background-size: cover; width: 12px; height: 12px; content: ''; display: block; }

.alert-content { height: calc(100% - 55px); padding: 15px 35px 35px 35px; font-size: 15px; overflow-y: scroll; scrollbar-color: #9e9e9e transparent; overscroll-behavior: none; }

.alert-content__headline { font-weight: 700; font-size: 20px; }
.alert-content__midline { margin-top: 30px; font-weight: 700; font-size: 18px; }
.alert-content > p { margin-top: 23px; line-height: 1.6; color: #262626; }
.alert-content > ul { margin-top: 23px; line-height: 1.6; color: #262626; list-style-type: disc; padding-left: 1.5rem; margin-top: 1rem; margin-bottom: 1rem; }
.alert-content > ul > li { margin-bottom: 0.5rem; }
.alert-content a { color: #0a5f91; }
.alert-content a:hover { text-decoration: underline; }

.alert-confirm { margin-top: 55px; display: flex; justify-content: center; }
.alert-confirm__button { padding: 12px 20px; border-radius: 8px; display: block; font-family: 'PT Serif', serif; font-size: 15px; font-weight: 600; cursor: pointer; }
.alert-confirm__button:hover { text-decoration: underline; }

@keyframes slidein {
	0% { transform: translateY(25px); }
	100% { transform: translateY(0); }
}

.button__alert { background-color: rgba(0, 0, 0, .4); width: 55px; height: 55px; position: fixed; top: 10vw; right: 0; z-index: 99; cursor: pointer; display: inline-flex; justify-content: center; align-items: center; transition: background-color .2s; }
.button__alert:hover { background-color: rgba(0, 0, 0, .7); }
.button__alert::after { background: url(/assets/alert.svg); width: 24px; height: 24px; content: ''; display: block; }

.app-container { width: 100%; height: 100%; }
.start .container, .header .container { height: inherit; padding-left: 5.5%; padding-right: 5.5%;  }
.offer .container, .about .container, .contact .container { margin-left: 0; margin-right: 0; padding-left: 5.5%; padding-right: 5.5%; padding-top: 70px; display: table-cell; vertical-align: middle; }
@media (min-width: 1580px) { .container { padding: 0!important; } .content { width: 1390px!important; margin: 0 auto!important; padding: 0!important; display: block; position: relative; } }
.header { width: 100%; position: absolute; z-index: 99; top: 3%; left: 0; }
.header .container { position: relative; }
.c:after { clear: both; display: block; content: ''; }
.header { background: none; width: 100%; transition: background .5s ease; position: absolute; }
.header .logo { float: left; position: relative; user-select: none; }
.header .logo a { width: 358px; height: 47px; position: absolute; top: 18px; left: 0; display: block; transition: top .2s ease; }
.header .logo h1 { margin-top: 15px; line-height: 34px; font-size: 34px; color: #eff0ec; text-transform: uppercase; font-weight: 700; transition: font-size .2s ease, line-height .2s ease; }
.header .logo h2 { line-height: 16px; font-size: 16px; color: #94b6c8; text-transform: uppercase; font-weight: 400; transition: font-size .2s ease, line-height .2s ease; }
.header.fx { background: rgba(0, 0, 0, .7); position: fixed; top: 0; }
.header.fx .logo a { width: 255px; height: 37px; top: 18px; }
.header.fx .logo h1 { font-size: 24px; line-height: 24px; }
.header.fx .logo h2 { font-size: 14px; }

@media (max-width: 1000px) {
.header .menu { display: none; }
.header .container { margin-right: 0; }
.header .mobile { background: url('/assets/m.png') center center no-repeat; width: 64px; height: 70px; position: absolute; z-index: 2; top: 0; right: 0; cursor: pointer; }
.header .mobile:hover { background: rgba(0, 0, 0, .2) url('/assets/m.png') center center no-repeat }
.header .menu { background: #456a7f; width: 180px; padding: 15px; top: 70px; right: 0; position: absolute; z-index: 3; display: none; }
.header.fx .menu { position: fixed; }
.header .menu a { width: 100%; padding: 10px 0; font-size: 16px; color: #ffffff; text-transform: uppercase; text-align: center; display: block; border-bottom: 1px solid #5d859b; }
.header .menu a:last-of-type { border-bottom: none; }
.header .menu a:hover { background: #5c859c; }
.header.m .mobile { background: #456a7f url('/assets/m.png') center center no-repeat;  }
.header.m .menu { display: block; }
.header.fx { height: 70px; }
}
@media (max-width: 660px) {
	.header .logo h1 { font-size: 24px; line-height: 24px; }
	.header .logo h2 { font-size: 14px; }
	.header .logo a { width: 255px; height: 37px; }
}
@media (min-width: 1000px) {
	.header .menu { float: right; display: block; }
	.header .menu a { height: 70px; padding: 24px 23px 0 23px; font-size: 16px; color: #ffffff; text-transform: uppercase; position: relative; transition: all .1s ease; border-bottom: 0px solid #4c9ec8; float: left; }
	.header .menu a:hover { background: rgba(0, 0, 0, .2); color: #ffffff; padding-top: 22px; border-bottom: 4px solid #4c9ec8; }
	.header .mobile { display: none; }
}
@media (min-width: 1580px) {
	.offer .container, .about .container, .contact .container { padding: 70px 0 0 0!important; }
	.header .menu a { font-size: 18px; padding: 23px 23px 0 23px; }
	.header .menu a:hover { padding-top: 20px; }
	.header .logo a { width: 465px; height: 63px; }
	.header .logo h1 { margin-top: 15px; line-height: 44px; font-size: 44px; }
	.header .logo h2 { line-height: 16px; font-size: 24px; }
	.header .container { width: 1390px; margin: 0 auto!important; padding: 0; }
}

.start { background: #1c1c1c; width: 100%; height: 100vh; z-index: 1; overflow: hidden; position: relative; }
.start .content { width: 100%; height: 100%; }
.start .content:after { background: url('/assets/kirp.png'); width: 215px; height: 55px; position: absolute; z-index: 3; bottom: 7%; left: 5.5%; display: block; content: ''; }
@media (min-width: 1580px) {
	.start .content:after { left: 0; }
}
.start .info { width: 335px; color: #eff0ec; position: absolute; z-index: 3; bottom: 7%; right: 45px; }
.start .info .i { height: 44px; margin: 2px 0 0 0; padding-left: 60px; line-height: 44px; position: relative; transition: padding-left .2s ease; }
.start .info .i.map { user-select: none; }
.start .info .i:before { background-color: #456a7f; background-image: url('/assets/theme.png'); width: 44px; height: 44px; display: block; position: absolute; top: 0; left: 0; content: ''; transition: background-color .2s; }
.start .info .i:hover { padding-left: 65px; }
.start .info .i:hover:before { background-color: #4c9ec8; }
.start .info .i.tel { font-size: 30px; }
.start .info .i.tel:before { background-position: 0 0; }
.start .info .i.email:before { background-position: -44px 0; }
.start .info .i.map:before { background-position: -88px 0; }
.start .info .i a { color: #eff0ec; }
.start .info .i a:hover { color: #ffffff; text-decoration: underline; }
.start .info .next a { background: rgba(0, 0, 0, .4); width: 254px; height: 48px; margin: 50px auto 0 auto; color: #ffffff; font-size: 14px; text-transform: uppercase;  text-align: center; line-height: 48px; display: block; transition: all .2s ease; transform: translate(0, 0); position: relative; user-select: none; }
.start .info .next a:hover { background: #4c9ec8; transform: translate(0, -5px); }
.start.ld .bg { background-image: url('/assets/top.jpg'); background-size: cover; width: 100%; height: 100vh; position: absolute; top: 0; left: 0; z-index: 2; overflow: hidden; animation: intro 1s ease 0s alternate 1 none; }

@media (max-width: 660px) {
.start .bg { background-position: 20% 0; }
}
@media (max-width: 880px) {
.start .info { display: none; }
}
@media (min-width: 1580px) {
.start .info { right: 0; }
.start .info .i { height: 55px; font-size: 18px; padding-left: 75px; line-height: 55px; }
.start .info .i.tel { font-size: 34px; }
.start .info .i:hover { padding-left: 80px; }
.start .info .i:before { width: 55px; height: 55px; }
.start .info .i.tel:before { background-position: 5px 5px; }
.start .info .i.email:before { background-position: -38px 5px; }
.start .info .i.map:before { background-position: -82px 5px; }
.start .info .next a { width: 300px; height: 55px; line-height: 55px; font-size: 18px; }
}


.offer { background: #1c1c1c; width: 100%; padding-bottom: 30px; position: relative; z-index: 10; display: table; }
.offer header h3, .contact header h3 { font-size: 40px; font-weight: 700; text-transform: uppercase; color: #ffffff; border-bottom: 2px solid #4c9ec8; display: block; }
.offer header p, .contact header p { font-size: 14px; padding-top: 22px; color: #848484; }

@media (min-width: 1000px) {
	.offer header, .about header, .contact header { width: 18%; float: left; }
}
.offer .blocks { margin-top: 25px; }
.offer .c { background: #2b2b2b; cursor: pointer; border: 1px solid #1c1c1c;  }
.offer .c:hover { background: #456a7f; transition: background .2s ease; }
.offer .c.s { background: #f3f3f3; cursor: auto; }
.offer .c header { width: 100%; height: 45px; position: relative; display: block; }
.offer .c header:after { background: url('/assets/ico.png'); width: 45px; height: 40px; position: absolute; top: -5px; left: 10px; display: block; content: ''; filter: brightness(0) invert(1); }
.offer .c.s header:after { filter: brightness(1) invert(0); }
.offer .c.c1 header:after { background-position: 0 0; }
.offer .c.c2 header:after { background-position: 0 -40px; }
.offer .c.c3 header:after { background-position: 0 -80px; }
.offer .c.c4 header:after { background-position: 0 -120px; }
.offer .c.c5 header:after { background-position: 0 -160px; }
.offer .c.c6 header:after { background-position: 0 -200px; }
.offer .c.c7 header:after { background-position: 0 -240px; }
.offer .c header h4 { margin: 18px 0 0 70px; font-size: 20px; color: #ffffff; font-weight: 400; }
.offer .c.s header h4 { color: #1c1c1c; }
.offer .c .d { overflow: hidden; padding: 0 25px 0 70px; }
.offer .c.s .d { padding: 0px 25px 25px 70px; transition: all .2s ease; }
.offer .c p { font-size: 14px; line-height: 0; color: #323232;  }
.offer .c.s p { line-height: 20px; }

@media (min-width: 1000px) {
	.offer { height: 100vh; padding-bottom: 0; }
	.offer .blocks { width: 77%; float: right; margin-top: 0; }
	.offer .l { width: 50%; float: left; }
	.offer .r { width: 50%; float: right; }
	.offer .c header { height: 65px; }
	.offer .c header:after { top: 14px; left: 10px; }
	.offer .c header h4 { margin: 16px 0 0 70px; font-size: 24px; }
}
@media (min-width: 1580px) {
	.offer header p, .contact header p { font-size: 16px; line-height: 24px; }
	.offer .c header { height: 76px; }
	.offer .c header:after { top: 18px; left: 15px; }
	.offer .c header h4 { margin: 21px 0 0 75px; font-size: 24px; }
	.offer .c .d { padding: 0 25px 0 75px; }
	.offer .c.s .d { padding: 10px 25px 30px 75px; }
	.offer .c p { font-size: 16px; }
	.offer .c.s p { line-height: 24px; }
}

.text a { color: #456a7f; text-decoration: none; }
.text a:hover { color: #4c9ec8; text-decoration: underline; }

.about { background: #f3f3f3; width: 100%; padding-bottom: 30px; position: relative; z-index: 20; display: table; }
.about header h3 { font-weight: 700; text-transform: uppercase; color: #303030; border-bottom: 2px solid #4c9ec8; display: block; }
.about header p { margin-top: 10px; line-height: 20px; color: #737373; }
.about header p strong { font-size: 18px; color: #3f3f3f; display: block; }
.about header nav { margin-top: 25px; }
.about header nav:after { clear: both; display: block; content: ''; }
.about header nav a { background: #e0e0e0; width: 50%; height: 48px; font-size: 16px; color: #1c1c1c; line-height: 48px; text-align: center; font-weight: 700; display: block; float: left; position: relative; }
.about header nav a:hover { text-decoration: underline; }
.about header nav a.s { background: #1c1c1c; color: #ffffff; }
.about header nav a.s:after { background: #1c1c1c; width: 10px; height: 10px; position: absolute; margin-left: -5px; left: 50%; right: auto; bottom: -5px; transform: rotate(45deg); display: block; content: ''; }
.about .ta .buttons { display: none; }
.about .ta { height: 0; padding-top: 30px; margin-top: -30px; transform: translateY(-40px); opacity: 0; overflow: hidden; visibility: hidden; }
.about .ta.s { height: auto; margin-top: 0; padding-top: 0!important; transition: transform .3s ease, opacity .2s ease, padding-top .3s ease; transform: translateY(0); opacity: 1; visibility: visible; }
.about .text { padding-top: 30px; }
.about .text .info { width: 57%; display: block; float: left; }
.about .text p { padding: 0 0 20px 0; color: #4a4a4a; font-size: 14px; line-height: 22px; }
.about .photo { width: 38%; float: right; }
.about .photo img { width: 100%; }

@media (max-width: 660px) {
	.about .text .info { width: 100%; }
	.about .photo { display: none; }
}
@media (min-width: 1000px) {
	.about { height: 100vh; padding-bottom: 0; }
	.about header h3 { font-size: 28px!important; }
	.about header nav { margin-top: 40px; }
	.about header nav a { background: none; width: 100%; padding: 0 0 0 20px; text-align: left; float: none; }
	.about header nav a.s:after { bottom: 50%; margin-bottom: -5px; right: -5px; left: auto; }
	.about .text { width: 77%; padding-top: 0; float: right; }
	.about .ta .tab { margin: 15px 0 30px 0; }
	.about .ta .tab .buttons { display: block; }
	.about .ta .tab .buttons:after { clear: both; display: block; content: ''; }
	.about .ta .tab .buttons a { height: 40px; padding: 0 20px; line-height: 40px; font-size: 16px; color: #1c1c1c; font-weight: 700; display: block; float: left; position: relative; }
	.about .ta .tab .buttons a.s { background: #ffffff; border: 1px solid #cfcfcf; border-bottom: none; bottom: -1px; }
	.about .ta .tab .buttons a:hover { text-decoration: underline; }
	.about .ta .tab .ia { background: #ffffff; width: 100%; padding: 20px 30px; display: none; border: 1px solid #cfcfcf; }
	.about .ta .tab .ia.s { display: block; }
	.about .ta .tab .ia p { padding: 11px 0;  }
	.about .ta .tab .a2 p:last-of-type { padding: 30px 0 11px 0; }
}
@media (max-width: 1110px) {
	.about .ta .tab .buttons a { font-size: 14px; line-height: 38px; padding: 0 15px; }
} 
@media (min-width: 1500px) { .about .text p { font-size: 16px; line-height: 24px; } }
@media (min-width: 1580px) {
	.about header nav a { height: 55px; font-size: 18px; line-height: 55px; }
	.about .text p { font-size: 18px; line-height: 26px; }
	.about .ta .tab .buttons a { height: 50px; line-height: 50px; font-size: 18px; }
}
@media (max-width: 1310px) {
	.about header h3 { font-size: 21px!important; }
}
@media (max-width: 1000px) {
	.about header h3 { font-size: 36px!important; }
	.button__alert { top: auto; bottom: 30px; width: 48px; height: 48px; }
}



.contact { background: #181818; width: 100%; padding-bottom: 30px; position: relative; z-index: 30; display: table; }
.contact header nav { margin-top: 30px; }
.contact header nav a { height: 48px; padding: 0 0 0 20px; font-size: 16px; color: #d0d0d0; line-height: 48px; font-weight: 700; display: block; position: relative; }
.contact header nav a:hover { text-decoration: underline; }
.contact header nav a.s { background: #383838; color: #f7f7f7; }
.contact header nav a.s:after { background: #383838; width: 10px; height: 10px; position: absolute; top: 50%; margin-top: -5px; right: -5px; transform: rotate(45deg); display: block; content: ''; }

.contact .text .data { padding: 30px 0 30px 0; color: #b1b1b1; }
.contact .text .data h4 { font-size: 18px; line-height: 22px; color: #ffffff; }
.contact .text .data h4 strong { font-size: 24px; display: block; }
.contact .text .data p, .contact .text .data ul { font-size: 14px; } 
.contact .text .data p.loc, .contact .text .data ul { margin: 15px 0; }
.contact .text .data p.ic { padding-left: 26px; color: #ffffff; font-weight: 700; position: relative; }
.contact .text .data p.ic:after { background-image: url('/assets/im.png'); width: 20px; height: 15px; margin-top: -8px; position: absolute; top: 50%; left: 0; display: block; content: ''; }
.contact .text .data p.tel { font-size: 20px; }
.contact .text .data p.tel:after { background-position: 0 0; }
.contact .text .data p.mail { }
.contact .text .data p.mail:after { background-position: 0 -15px; }
.contact .text .data p.mail a { color: #ffffff; }
.contact .text .data ul .nb { color: #ffffff; }
.contact .text .data ul .regon { margin-left: 40px; }
.contact .text .data .open strong { color: #f2f2f2; }
.contact .text .data .open ul li span:nth-of-type(2) { font-weight: 700; color: #f2f2f2; }
.contact .text .data .open ul li:after { clear: both; display: block; content: ''; }
.contact .text .map { height: 420px;  }

@media (min-width: 881px) {
.contact .text .data, .contact .text .map { margin-top: 30px; }
.contact .text .data { background: #2b2b2b; width: 50%; min-height: 415px; padding: 40px 40px 0 40px; float: left; }
.contact .text .map { width: 50%; float: right; }
.contact .text .data .open ul li span:nth-of-type(2) { float: right; }
}
@media (min-width: 1000px) {
	.contact .text .data, .contact .text .map { margin-top: 0; }
	.contact { height: 100vh; padding-bottom: 0; }
 	.contact .text { width: 77%; float: right; }
}
@media (min-width: 1580px) {
.contact header nav a { height: 55px; font-size: 18px; line-height: 55px; }
.contact .text .data { min-height: 550px; }
.contact .text .data h4 { font-size: 24px; line-height: 28px; }
.contact .text .data h4 strong { font-size: 32px; }
.contact .text .data p, .contact .text .data ul { font-size: 18px; }
.contact .text .data p.ic { padding-left: 32px; }
.contact .text .data p.loc, .contact .text .data ul { margin: 25px 0; } 
.contact .text .map { height: 550px; }
}
@media (max-width: 1310px) {
	.contact header h3 { font-size: 33px; }
}

.cache { width: 0px; height: 0px; line-height: 0; overflow: hidden; position: absolute; }