@import '-reset'; // ========================== // universal styles html { scroll-behavior: smooth; } body, body * { box-sizing: border-box; margin: 0; padding: 0; outline: none; background-position: center !important; background-size: contain !important; color: #333; font-weight: 560; font-family: 'Yu Gothic', 'Hiragino Kaku Gothic Pro'; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } a { text-decoration: none; } span { font-weight: inherit; } $mobileLWidth: 425px; $tabletWidth: 768px; $laptopWidth: 1024px; $desktopWidth: 1280px; @mixin mobileL { @media screen and (max-width: #{$tabletWidth - 1}) { @content; } } @mixin tablet { @media screen and (max-width: #{$laptopWidth - 1}) { @content; } } @mixin laptop { @media screen and (max-width: #{$desktopWidth - 1}) { @content; } } @mixin hover { @media (hover: hover) { @content; } } @mixin touch { @media (hover: none) { @content; } } .clickable, a { &:active { opacity: 0.7; } @include hover { &:hover { opacity: 0.8; } &:active { opacity: 0.7; } } } // ========================== // ========================== // Project specific styles section, footer { padding: 76px 40px 80px; background: white; &.color { background: #f3f3f0; } @include mobileL { padding: 64px 0; } } h1, h2 { padding-bottom: 35px; text-align: center; font-weight: bold; font-size: 25px; line-height: 34px; br { display: none; } @include mobileL { br { display: inline; } } } // ========================== .clip { position: fixed; top: 0; z-index: 1000; display: block; img { max-width: 100%; } @include laptop { width: 250px; } @include mobileL { width: 120px; } } header { position: relative; z-index: 100; height: 73px; &.hide { .fixedHeader { transition-delay: 300ms; transform: translate(0, -100%); } } .fixedHeader { position: fixed; top: 0; left: 0; width: 100%; background: white; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); transition: transform 300ms; transition-delay: 0; transform: translate(0, 0); & > div:first-child { display: flex; margin: 0 auto; max-width: 1030px; justify-content: flex-end; a:active, a.active { background: #ebe5dd; } & > a, & > div > a { display: block; padding: 25px 16px 24px; text-align: center; font-weight: bold; font-size: 15px; line-height: 24px; opacity: 1 !important; i { display: inline-block; margin-left: 10px; width: 10px; height: 10px; background: url('../img/headerDropdown.png') no-repeat; } } & > div { position: relative; min-width: 185px; & > a.active ~ div { visibility: visible; height: 260px; transition-delay: 0ms; } & > div { position: absolute; top: 100%; visibility: hidden; overflow: hidden; width: 100%; height: 0; transition: height 300ms ease-out 0ms, visibility 0ms ease-out 300s; & > a { display: block; border-top: 1px solid white; background: #f3f3f0; text-align: center; font-weight: bold; font-size: 14px; line-height: 64px; opacity: 1 !important; span { display: none; } } } } @include hover { a:hover { background: #ebe5dd; } } } .spHeaderMenu { display: none; } } @include tablet { .fixedHeader { & > div:first-child { & > a, & > div > a { padding: 25px 10px 24px; font-size: 13px; } & > div { min-width: auto; & > a.active ~ div { height: auto; } & > div { visibility: visible; height: auto; transition: none; & > a { font-size: 12px; } } } } } } @include mobileL { z-index: 1000; height: 0; &.active { .fixedHeader { & > div:first-child { height: 100vh; } .spHeaderMenu { span { transform: rotate(45deg) translate(3px, 0px); &:nth-child(2) { opacity: 0; transform: rotate(0deg) scale(0.2, 0.2); } &:last-child { transform: rotate(-45deg) translate(2px, 3px); } } } } } .fixedHeader { transform: none !important; & > div:first-child { display: block; overflow: hidden; height: 0; background: #f5f2ed; transition: height 300ms; & > a { padding: 12px 10px; border-top: 2px solid white; background: #ebe5dd; color: #a58467; &:first-child { margin-top: 66px; } i { display: none; } } & > div { & > a { display: none; } & > div { position: relative; display: block; a { border-top: 2px solid white; background: #f5f2ed; color: #a58467; line-height: 40px; &:first-child { background: #ebe5dd; color: #a58467; font-size: 13px; } span { display: inline; color: inherit; font-weight: inherit; line-height: inherit; } } } } } .spHeaderMenu { position: absolute; top: 8px; right: 8px; display: flex; flex-direction: column; width: 50px; height: 50px; border-radius: 100%; background: #ebe5dd; cursor: pointer; justify-content: center; align-items: center; span { display: block; margin: 2px 0; width: 20px; height: 2px; background: #a48265; opacity: 1; transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1), background 0.5s cubic-bezier(0.77, 0.2, 0.05, 1), opacity 0.55s ease; transform: none; transform-origin: 4px 0px; &:nth-child(2) { opacity: 1; transform: none; } &:last-child { transform: none; transform-origin: 0% 100%; } } } } } } @keyframes slide { 0% { transform: translate(0, 0); } 100% { transform: translate(-50%, 0); } } .slider { position: relative; overflow: hidden; & > div { &:first-child { width: 2001px * 4; height: 664px; background: url('../img/slider.png') repeat-x; animation: slide 60s linear infinite; } &:last-child { position: absolute; top: 0; bottom: 0; left: 0; display: flex; flex-direction: column; padding: 0 3% 0 1.5%; width: 23%; background: rgba(255, 255, 255, 0.9); justify-content: center; img { width: 100%; } } } @include laptop { & > div { &:first-child { width: 1204px * 4; height: 400px; } } } @include mobileL { & > div { &:first-child { width: 1003px * 4; height: 333px; } &:last-child { display: none; } } } } .about { h2 { padding-bottom: 12px; } h3 { padding-bottom: 32px; text-align: center; font-weight: bold; font-size: 15px; } p { margin-bottom: -10px; text-align: center; font-weight: bold; font-size: 16px; line-height: 32px; } @include tablet { p { text-align: justify; br { display: none; } } } @include mobileL { h2 { padding-bottom: 8px; } h3 { padding-bottom: 30px; } p { margin: 0 auto; width: 304px; font-size: 15px; line-height: 26px; .mobileL { display: inline; } } } } .features { & > div { margin: 0 auto; padding: 40px 0 0; max-width: 780px; .featureCard { display: flex; justify-content: space-between; &:not(:last-child) { padding-bottom: 112px; } & > div { &:first-child { img { display: block; margin: 0 auto; padding-bottom: 8px; width: 100px; } h3 { padding-bottom: 24px; text-align: center; font-weight: bold; font-size: 30px; } h4 { padding-bottom: 20px; text-align: center; font-weight: bold; font-size: 25px; line-height: 44px; } p { margin: 0 auto; width: 300px; text-align: justify; line-height: 29px; } } &:nth-child(2) { width: 84px; } &:last-child { flex: 1; img { width: 100%; } } } } } @include mobileL { & > div { margin: 0 auto; padding: 0; width: 304px; .featureCard { flex-direction: column !important; &:not(:last-child) { padding-bottom: 80px; } & > div { &:first-child { padding-bottom: 24px; img { width: 64px; } h4 { padding-bottom: 8px; font-size: 18px; } p { font-size: 15px; line-height: 26px; } } &:last-child { flex: 1; img { width: 100%; } } } } } } } .inbound { article { display: flex; margin: 0 auto; max-width: 900px; background: #f3f3f0; & > div { width: 50%; align-items: center; &:first-child { img { width: 100%; } a { display: none; } } &:last-child { display: flex; flex-direction: column; justify-content: center; p { padding: 0 40px 8px; width: 100%; line-height: 30px; } a { margin-top: 10px; } } a { display: block; padding: 12px 36px; border-radius: 4px; background: #0d4562; color: white; text-align: center; font-size: 14px; } } } @include tablet { h2 { padding-bottom: 24px; } article { flex-direction: column-reverse; margin: 0 auto; width: 450px; background: white; & > div { display: block; min-height: auto; width: 100%; flex: none; &:first-child { img { padding-bottom: 20px; } a { display: block; margin: 0 auto; width: 285px; } } &:last-child { padding: 0 0 32px; background: white; p { padding: 0; font-size: 15px; line-height: 26px; } a { display: none; } } } } } @include mobileL { article { width: 304px; } } } .emergency { article { display: flex; margin: 0 auto; max-width: 900px; align-items: center; & > * { width: 50%; &:first-child { padding: 40px; background: white; text-align: justify; line-height: 33px; } &:last-child { padding-left: 40px; img { display: block; width: 100%; } } } } @include mobileL { article { display: block; margin: 0 auto; width: 304px; & > * { width: auto; &:first-child { margin-bottom: 32px; padding: 0; background: none; font-size: 15px; line-height: 26px; } &:last-child { padding: 0; } } } } } .analytics { & > div { display: flex; margin: 0 auto; padding: 0 18px; max-width: 1000px; article { flex: 1; img { display: block; padding: 0 20px 24px; width: 100%; } h4 { padding-bottom: 16px; text-align: center; font-weight: bold; font-size: 18px; } p { text-align: center; font-size: 16px; line-height: 28px; } } } @include tablet { & > div { article { p { br { display: none; } } } } } @include mobileL { h2 { span { display: none; } } & > div { display: block; padding: 0; width: 304px; article { padding: 0; flex: 1; &:not(:last-child) { padding-bottom: 72px; } img { padding: 0 7px 40px; } h4 { padding-bottom: 12px; font-size: 20px; } p { font-size: 15px; line-height: 25px; } } } } } footer { .social { padding-bottom: 40px; text-align: center; a > img { margin: 0 10px; width: 50px; height: 50px; } } .links { padding-bottom: 40px; text-align: center; font-size: 13px; a { padding: 0 10px; font-weight: bold; } } .company { text-align: center; a { margin-bottom: 16px; img { width: 80px; } } p { font-size: 11px; } } @include mobileL { .social { padding-bottom: 30px; } .links { padding-bottom: 30px; font-size: 12px; a { padding: 0 2px; } } } }