@font-face { font-family: 'Proxima Nova'; font-style: normal; font-weight: bold; src: url('../fonts/Proxima-Nova/ProximaNova-Bold.otf'); }
@font-face { font-family: 'Proxima Nova'; font-style: normal; font-weight: normal; src: url('../fonts/Proxima-Nova/ProximaNova-Regular.otf'); }
@font-face { font-family: 'Gentona'; font-style: normal; font-weight: bold; src: url('../fonts/Gentona/Gentona_Bold.otf'); }
@font-face { font-family: 'Gentona'; font-style: normal; font-weight: 500; src: url('../fonts/Gentona/Gentona_Medium.otf'); }
:root { --theme-main1:#002F87; --theme-main2:#FF4713; --theme-grey: #707070; }
html { overflow-x: hidden; scroll-behavior: smooth; font-size: 16px }
body { margin: 0; padding: 0; color: #333333; background-color: #FFF; font-size: 1rem; line-height: 1.56; font-weight: 400; font-family: 'Proxima Nova', sans-serif }
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 { font-family: 'Gentona', sans-serif; font-weight: bold; margin-top: 0; color: inherit; line-height: 1.325; margin-bottom: 0; }
h3,
.h3 { font-size: 1.979vw }
h4,
.h4 { font-size: 28px }
h5,
.h5 { font-size: 24px; font-weight: bold; }
p:last-child { margin-bottom: 0 }
a { color: inherit; font-weight: 500; text-decoration: none; }
a:hover,
a:focus,
a:active { text-decoration: none; transition: all 0.35s; -moz-transition: all 0.35s; -ms-transition: all 0.35s; color: var(--theme-main2); }
img { vertical-align: top; max-width: 100%; height: auto; border: 0 }
main { position: relative; }
header { position: relative; }
ul { padding-left: 14px; }
.full-container { max-width: 100%; margin: 0 auto; width: 100%; }
.container { max-width: 1426px; margin: 0 auto; width: 100%; padding-left: 15px; padding-right: 15px }
.lg-container { max-width: 1190px; margin: 0 auto; width: 100%; padding-left: 15px; padding-right: 15px }
.md-container { max-width: 960px; margin: 0 auto; width: 100%; padding-left: 15px; padding-right: 15px }
.main1-text { color: var(--theme-main1); }
.main2-text { color: var(--theme-main2); }
.section-group { position: relative; background-size: cover; background-position: center; }
.section-group .section-overlay { position: absolute; width: 100%; height: 100%; top: 0; left: 0; right: 0; bottom: 0; }
.section-group .section-content { position: relative; z-index: 1; }
.parallax .section-overlay { background-attachment: fixed; }
.overlay-blur .section-overlay { filter: blur(4px); }
.btn { background-color: transparent; border: 1px solid; padding: 12px 40px; font-family: Gentona; font-weight: bold; font-size: 15px; letter-spacing: 0.04em; border-radius: unset; text-transform: uppercase; }
.navbar-nav { color: var(--theme-main1); }
.navbar-nav .nav-item .nav-link { color: var(--theme-main1); font-weight: bold; text-transform: uppercase; margin-right: 20px; }
.navbar-nav .nav-item.active > .nav-link { color: var(--theme-main2); }
.navbar-nav .nav-item .nav-link:focus,
.navbar-nav .nav-item .nav-link:hover { color: var(--theme-main2); }
.search-button { position: relative; }
.search-button i { padding: 0.5rem; font-size: 24px; }
#searchform { position: absolute; z-index: 2; right: 0; display: none; }
#searchform .search-icon { display: none; }
.banner { position: relative; min-height: max(calc(100vh - 70px), 800px); padding-top: 90px; padding-bottom: 90px; display: flex; justify-content: center; flex-direction: column; }
.banner .banner-info { margin-top: 110px; }
.banner .banner-title { font-size: 38px; }
.banner .banner-sub-title { margin-top: 10px; font-weight: 500; }
.banner .banner-link { margin-top: 40px; }
.banner .mouse-down { position: absolute; left: 50%; margin-left: -18px; bottom: 40px; }
.logo-group { display: flex; align-items: stretch; }
.logo-group .logo-box { background: transparent; border: 4px solid #fff; padding: 40px; display: flex; align-items: center; justify-content: center; }
.dot-link { width: 80px; display: flex; align-items: center; }
.dot-link .dot-line { width: 100%; border-bottom: 5px dotted; }
.edge-block .edge-image-content { text-align: right; }
.edge-block { min-height: max(100vh, 600px); padding-top: 120px; padding-bottom: 120px; }
.edge-block > .row > div { padding-left: 0; padding-right: 0; }
.edge-block.edge-image-right > .row { flex-direction: row-reverse; align-items: center; }
.edge-block .edge-text-content { padding-top: 30px; padding-bottom: 30px; max-width: 468px; padding-left: 15px; margin-right: calc(calc(380 / 1920) * 100vw); padding-right: 0; margin-left: 0; }
.edge-block.edge-image-right .edge-text-content { margin-left: calc(calc(380 / 1920) * 100vw); padding-right: 15px; padding-left: 0; margin-right: 0; }
.edge-text-content .block-content { margin-top: 20px; }
.list-box .section-content { padding-top: 150px; padding-bottom: 110px; }
.box-item { background: #fff; box-shadow: -5px 8px 13px rgba(0, 0, 0, 0.1); height: calc(100% - 30px); margin-bottom: 30px; }
.box-item .box-media { overflow: hidden; min-height: 300px; }
.box-item .box-media.video .video-wrap { min-height: 300px; }
.box-item .box-media.model-3d img { min-height: 300px; -o-object-fit: cover; object-fit: cover; -o-object-position: center; object-position: center; transition: 1s; }
.box-item .box-media img { transition: 1s; }
.box-item .box-media:hover img,
.box-item .box-media.model-3d:hover img { transform: scale(1.2); transition: 1s; }
.box-item .box-media.video:hover .video-wrap .play-button { font-size: 70px; }
.box-item .box-content { padding: 32px 24px; }
.box-item .box-content .box-desc { margin-top: 20px; }
.box-item .box-content .box-link { font-family: 'Gentona', sans-serif; margin-top: 40px; text-transform: uppercase; }
.box-item .box-content .box-link a svg { margin-left: 5px; transition: 0.5s; }
.box-item .box-content .box-link a:hover svg { margin-left: 15px; transition: 0.5s; }
.video-wrap { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.video-wrap .overlay { position: absolute; width: 100%; height: 100%; background: #002f87; opacity: 0.22; }
.video-wrap .play-button { font-size: 50px; color: #FFF; position: relative; z-index: 1; }
.section-gallery { padding-top: 80px; padding-bottom: 150px; }
footer .section-content { min-height: 600px; padding-top: 90px; padding-bottom: 90px; display: flex; flex-direction: column; justify-content: center;}
footer .section-content .row { align-items: center; }
.contact-info-list { margin-top: 40px; list-style: none; padding-left: 0; margin-bottom: 0; }
.contact-info-list .contact-info-item { display: flex; }
.contact-info-list .contact-info-item .contact-info-icon { }
.contact-info-list .contact-info-item .contact-info-content { flex: 1; margin-left: 20px; }
}
