@font-face {
  font-family: 'Kaisei Tokumin';
  src: url('/assets/fonts/KaiseiTokumin/KaiseiTokumin-Regular.ttf');
  font-weight: 400;
}
@font-face {
  font-family: 'Kaisei Tokumin';
  src: url('/assets/fonts/KaiseiTokumin/KaiseiTokumin-Medium.ttf');
  font-weight: 500;
}
@font-face {
  font-family: 'Kaisei Tokumin';
  src: url('/assets/fonts/KaiseiTokumin/KaiseiTokumin-Bold.ttf');
  font-weight: 700;
}
@font-face {
  font-family: 'Kaisei Tokumin';
  src: url('/assets/fonts/KaiseiTokumin/KaiseiTokumin-ExtraBold.ttf');
  font-weight: 800;
}
@font-face {
  font-family: 'Montserrat';
  src: url('/assets/fonts/Montserrat/Montserrat-Thin.ttf');
  font-weight: 100;
}
@font-face {
  font-family: 'Montserrat';
  src: url('/assets/fonts/Montserrat/Montserrat-ThinItalic.ttf');
  font-weight: 100;
  font-style: italic;
}
@font-face {
  font-family: 'Montserrat';
  src: url('/assets/fonts/Montserrat/Montserrat-ExtraLight.ttf');
  font-weight: 200;
}
@font-face {
  font-family: 'Montserrat';
  src: url('/assets/fonts/Montserrat/Montserrat-ExtraLightItalic.ttf');
  font-weight: 200;
  font-style: italic;
}
@font-face {
  font-family: 'Montserrat';
  src: url('/assets/fonts/Montserrat/Montserrat-Light.ttf');
  font-weight: 300;
}
@font-face {
  font-family: 'Montserrat';
  src: url('/assets/fonts/Montserrat/Montserrat-LightItalic.ttf');
  font-weight: 300;
  font-style: italic;
}
@font-face {
  font-family: 'Montserrat';
  src: url('/assets/fonts/Montserrat/Montserrat-Regular.ttf');
  font-weight: 400;
}
@font-face {
  font-family: 'Montserrat';
  src: url('/assets/fonts/Montserrat/Montserrat-Italic.ttf');
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: 'Montserrat';
  src: url('/assets/fonts/Montserrat/Montserrat-Medium.ttf');
  font-weight: 500;
}
@font-face {
  font-family: 'Montserrat';
  src: url('/assets/fonts/Montserrat/Montserrat-MediumItalic.ttf');
  font-weight: 500;
  font-style: italic;
}
@font-face {
  font-family: 'Montserrat';
  src: url('/assets/fonts/Montserrat/Montserrat-SemiBold.ttf');
  font-weight: 600;
}
@font-face {
  font-family: 'Montserrat';
  src: url('/assets/fonts/Montserrat/Montserrat-SemiBoldItalic.ttf');
  font-weight: 600;
  font-style: italic;
}
@font-face {
  font-family: 'Montserrat';
  src: url('/assets/fonts/Montserrat/Montserrat-Bold.ttf');
  font-weight: 700;
}
@font-face {
  font-family: 'Montserrat';
  src: url('/assets/fonts/Montserrat/Montserrat-BoldItalic.ttf');
  font-weight: 700;
  font-style: italic;
}
@font-face {
  font-family: 'Montserrat';
  src: url('/assets/fonts/Montserrat/Montserrat-ExtraBold.ttf');
  font-weight: 800;
}
@font-face {
  font-family: 'Montserrat';
  src: url('/assets/fonts/Montserrat/Montserrat-ExtraBoldItalic.ttf');
  font-weight: 800;
  font-style: italic;
}
@font-face {
  font-family: 'Montserrat';
  src: url('/assets/fonts/Montserrat/Montserrat-Black.ttf');
  font-weight: 900;
}
@font-face {
  font-family: 'Montserrat';
  src: url('/assets/fonts/Montserrat/Montserrat-BlackItalic.ttf');
  font-weight: 900;
  font-style: italic;
}
@font-face {
  font-family: 'Space Mono';
  src: url('/assets/fonts/SpaceMono/SpaceMono-Regular.ttf');
  font-weight: 400;
}
@font-face {
  font-family: 'Space Mono';
  src: url('/assets/fonts/SpaceMono/SpaceMono-Italic.ttf');
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: 'Space Mono';
  src: url('/assets/fonts/SpaceMono/SpaceMono-Bold.ttf');
  font-weight: 700;
}
@font-face {
  font-family: 'Space Mono';
  src: url('/assets/fonts/SpaceMono/SpaceMono-BoldItalic.ttf');
  font-weight: 700;
  font-style: italic;
}
@font-face {
  font-family: 'Spartan';
  src: url('/assets/fonts/Spartan/Spartan-Thin.ttf');
  font-weight: 100;
}
@font-face {
  font-family: 'Spartan';
  src: url('/assets/fonts/Spartan/Spartan-ExtraLight.ttf');
  font-weight: 200;
}
@font-face {
  font-family: 'Spartan';
  src: url('/assets/fonts/Spartan/Spartan-Light.ttf');
  font-weight: 300;
}
@font-face {
  font-family: 'Spartan';
  src: url('/assets/fonts/Spartan/Spartan-Regular.ttf');
  font-weight: 400;
}
@font-face {
  font-family: 'Spartan';
  src: url('/assets/fonts/Spartan/Spartan-Medium.ttf');
  font-weight: 500;
}
@font-face {
  font-family: 'Spartan';
  src: url('/assets/fonts/Spartan/Spartan-SemiBold.ttf');
  font-weight: 600;
}
@font-face {
  font-family: 'Spartan';
  src: url('/assets/fonts/Spartan/Spartan-Bold.ttf');
  font-weight: 700;
}
@font-face {
  font-family: 'Spartan';
  src: url('/assets/fonts/Spartan/Spartan-ExtraBold.ttf');
  font-weight: 800;
}
@font-face {
  font-family: 'Spartan';
  src: url('/assets/fonts/Spartan/Spartan-Black.ttf');
  font-weight: 900;
}
body {
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #FFFFFF;
  background-color: #0E2A3F;
  margin: 0;
}
body a,
body a:visited {
  color: #FFFFFF;
  text-decoration: none;
}
body a:active,
body a:hover,
body a:focus {
  text-decoration: underline;
  color: #FFFFFF;
}
main {
  min-height: 1000px;
}
button {
  padding: 10px 24px;
  border-style: none;
  border-radius: 5px;
  background-color: #0083F2;
  font-weight: 600;
  letter-spacing: 1px;
  font-size: 16px;
}
button:hover {
  box-shadow: 0 0 3px #C3DFF2;
}
.font-sans {
  font-family: 'Montserrat', sans-serif;
}
.font-sans-alt {
  font-family: 'Spartan', sans-serif;
}
.font-serif {
  font-family: 'Kaisei Tokumin', serif;
}
.font-size-9 {
  font-size: 56px;
}
.header {
  position: sticky;
  top: 0;
  display: flex;
  height: 80px;
  background: #0083F2;
  background: linear-gradient(0deg, #0083F2 0%, #0075d9 100%);
  box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.5);
  z-index: 1;
}
.header a,
.header a:visited {
  color: #0E2A3F;
  text-decoration: none;
}
.header a:active,
.header a:hover,
.header a:focus {
  text-decoration: underline;
  color: #0E2A3F;
}
.header .logo {
  flex-grow: 1;
  height: 60px;
  padding: 10px;
}
.header .logo img {
  opacity: 0.75;
  height: 100%;
}
.header .topMenu {
  display: flex;
}
.header .topMenu a {
  display: flex;
  align-items: center;
  padding: 15px;
  font-weight: 800;
  color: #0E2A3F;
}
.header .topMenu a:hover {
  text-decoration: underline;
}
.bg-photo-880 {
  background: linear-gradient(-45deg, #2373A3, #2D70A7, #355691, #513A89), url('/assets/photos/photo-880-gray.jpg');
  background-blend-mode: hard-light, normal;
  background-position: center center;
  background-size: cover;
}
.screen-height {
  min-height: calc(100vh - 80px);
}
.section-view {
  display: grid;
  grid-template-columns: 25% 75%;
  min-height: calc(100vh - 80px - 25px);
  background-size: cover;
  box-shadow: 0px 0px 300px 20px #000000 inset;
}
.section-view .content-right {
  grid-column-start: 2;
  align-self: center;
  font-size: 56px;
  padding-left: 50px;
  padding-right: 100px;
  border-left: 2px solid #D8D9D6;
  color: #D8D9D6;
  background-color: rgba(0, 0, 0, 0.75);
}
.section-view .content-right h1 {
  font-family: 'Spartan', sans-serif;
}
.section-main {
  min-height: calc(100vh - 80px);
  background: linear-gradient(-45deg, #2373A3, #2D70A7, #355691, #513A89), radial-gradient(circle, #0000007F, transparent 50%), url('/assets/photos/photo-880-gray.jpg');
  background-blend-mode: hard-light, normal, normal;
  background-position: center center;
  background-size: cover;
}
.section-about-us {
  background-color: #0E2A3F;
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
}
.section-about-us .start {
  padding: 80px 0;
}
.section-about-us .start .container {
  margin: auto;
  width: 50%;
}
.section-about-us .start .container .title {
  font-family: 'Kaisei Tokumin', serif;
  font-size: 300%;
}
.section-about-us .start .container .content {
  font-family: 'Montserrat', sans-serif;
  line-height: 2;
  font-size: 150%;
  letter-spacing: 1px;
}
.section-about-us .start .container hr {
  width: 50%;
  margin-left: 0;
  border-style: solid;
  border-color: white;
  border-width: 1px;
}
.section-about-us .start .container *:first-child {
  margin-top: 0;
}
.section-about-us .start .container *:last-child {
  margin-bottom: 0;
}
.section-about-us .end {
  flex-basis: 40%;
  flex-shrink: 0;
  overflow: hidden;
}
.section-about-us .end .card-background {
  background: linear-gradient(-45deg, #2373A3, #2D70A7, #355691, #513A89), url('/assets/photos/photo-427-gray.jpg');
  background-blend-mode: hard-light, normal;
  background-position: center center;
  background-size: cover;
}
.section-about-us .end .card-background {
  transition: all 0.5s;
}
.section-about-us .end:hover .card-background {
  transform: scale(1.1);
}
.section-services .services-title {
  padding: 20px;
  min-height: 80px;
  box-sizing: border-box;
  background-color: #FFFFFF;
  color: #0083F2;
  letter-spacing: 1px;
  font-family: 'Kaisei Tokumin', serif;
  margin: 0;
  text-align: center;
  font-size: 48px;
  font-weight: bolder;
}
.section-services .service-container {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: stretch;
  align-content: stretch;
  min-height: 500px;
  background-color: black;
}
.section-services .service-container .service-element {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 1px;
  transition: flex 0.25s;
  overflow: hidden;
}
.section-services .service-container .service-element .service-cover {
  height: 100%;
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  align-content: stretch;
  color: white;
  font-family: 'Kaisei Tokumin', serif;
  font-size: 40px;
  font-weight: bold;
  text-align: center;
}
.section-services .service-container .service-element .service-content {
  overflow: hidden;
  display: none;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  align-content: stretch;
  font-size: larger;
  height: 100%;
  backdrop-filter: blur(10px);
}
.section-services .service-container .service-element .service-content div {
  font-family: 'Spartan', sans-serif;
  line-height: 2;
  max-width: 70%;
}
.section-services .service-container .service-element .service-content div h2 {
  display: inline;
  border-bottom: 2px solid #52F2D5;
}
.section-services .service-container .service-element .service-content div *:first-child {
  margin-top: 0;
}
.section-services .service-container .service-element .service-content div *:last-child {
  margin-bottom: 0;
}
.section-services .service-container .service-element.active {
  flex-grow: 2;
}
.section-services .service-container .service-element.active .service-cover {
  display: none;
}
.section-services .service-container .service-element.active .service-content {
  display: flex;
  background-color: rgba(0, 0, 0, 0.4);
}
.section-services .service-container .service-element.active.transition .service-cover {
  display: flex;
}
.section-services .service-container .service-element.active.transition .service-content {
  display: none;
}
.section-services .service-container .service-element:nth-child(1) {
  background: linear-gradient(-45deg, #2373A3, #2D70A7, #355691, #513A89), url('/assets/photos/photo-618-gray.jpg');
  background-blend-mode: hard-light, normal;
  background-position: center center;
  background-size: cover;
}
.section-services .service-container .service-element:nth-child(2) {
  background: linear-gradient(-45deg, #2373A3, #2D70A7, #355691, #513A89), url('/assets/photos/photo-502-gray.jpg');
  background-blend-mode: hard-light, normal;
  background-position: center center;
  background-size: cover;
}
.section-services .service-container .service-element:nth-child(3) {
  background: linear-gradient(-45deg, #2373A3, #2D70A7, #355691, #513A89), url('/assets/photos/photo-796-gray.jpg');
  background-blend-mode: hard-light, normal;
  background-position: center center;
  background-size: cover;
}
.section-services .service-container .service-element:nth-child(4) {
  background: linear-gradient(-45deg, #2373A3, #2D70A7, #355691, #513A89), url('/assets/photos/photo-835-gray.jpg');
  background-blend-mode: hard-light, normal;
  background-position: center center;
  background-size: cover;
}
.section-services .service-container .service-element:nth-child(5) {
  background: linear-gradient(-45deg, #2373A3, #2D70A7, #355691, #513A89), url('/assets/photos/photo-816-gray.jpg');
  background-blend-mode: hard-light, normal;
  background-position: center center;
  background-size: cover;
}
.section-contact {
  padding: 80px 0;
  width: 500px;
  margin: auto;
}
.section-contact *:first-child {
  margin-top: 0;
}
.section-contact *:last-child {
  margin-bottom: 0;
}
.section-contact .title {
  font-family: 'Kaisei Tokumin', serif;
  font-size: 40px;
  font-weight: bold;
  text-align: center;
}
.section-contact .contact-info {
  font-size: 22px;
  line-height: 2;
}
.section-contact .contact-info .contact-item .icon,
.section-contact .contact-info .contact-item .link {
  vertical-align: middle;
}
.form-container .form-field .form-label {
  display: block;
  margin-bottom: 4px;
}
.form-container .form-field .form-value {
  display: block;
  margin-bottom: 1em;
}
.form-container .form-field textarea.form-value,
.form-container .form-field input.form-value {
  width: 100%;
  padding: 8px;
  border-style: none;
  border-radius: 5px;
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
}
.section-footer {
  padding: 0;
  font-size: 12px;
}
.section-footer .bar-container {
  background-color: black;
  padding: 20px;
}
.section-footer .bar-container .footer-bar {
  display: flex;
  margin: auto;
  width: 75%;
  line-height: 1.5;
}
.section-footer .bar-container .footer-bar .motto,
.section-footer .bar-container .footer-bar .address,
.section-footer .bar-container .footer-bar .social {
  flex-grow: 1;
  padding: 10px;
}
.section-footer .bar-container .footer-bar .motto {
  text-align: center;
  font-size: 36px;
  font-family: 'Kaisei Tokumin', serif;
}
.section-footer .bar-container .footer-bar .address,
.section-footer .bar-container .footer-bar .social {
  border-inline-start: solid 1px white;
}
.section-footer .bar-container .footer-bar .social .social-item .icon,
.section-footer .bar-container .footer-bar .social .social-item .link {
  vertical-align: middle;
}
.section-footer .bar-logo {
  text-align: center;
  background-color: #0083F2;
  padding: 50px 0;
}
.section-footer .bar-logo .footer-logo {
  display: block;
  margin: auto;
}
.section-footer .bar-logo .copyright {
  display: block;
  margin: auto;
  padding-top: 10px;
}
.whatsapp-button {
  position: fixed;
  right: 20px;
  bottom: 20px;
}
.trim-margin-top-bottom *:first-child {
  margin-top: 0;
}
.trim-margin-top-bottom *:last-child {
  margin-bottom: 0;
}
hr.separator {
  background-color: #0083F2;
  border-style: none;
  height: 20px;
  margin: 0;
}
.sans-ff {
  font-family: 'Montserrat', sans-serif;
}
.sans-alt-ff {
  font-family: 'Spartan', sans-serif;
}
.mono-ff {
  font-family: 'Space Mono', monospace;
}
.serif-ff {
  font-family: 'Kaisei Tokumin', serif;
}
.white-bg {
  background-color: #FFFFFF;
}
.black-bg {
  background-color: #201B40;
}
.blue-bg {
  background-color: #0083F2;
}
.cyan-bg {
  background-color: #52F2D5;
}
.navy-bg {
  background-color: #0E2A3F;
}
.orange-bg {
  background-color: #F3B133;
}
.gray-bg {
  background-color: #A3A6A7;
}
.light-gray-bg {
  background-color: #D8D9D6;
}
.light-blue-bg {
  background-color: #C3DFF2;
}
.light-orange-bg {
  background-color: #F1E7DC;
}
.dark-gray-bg {
  background-color: #72797C;
}
.dark-cyan-bg {
  background-color: #058D75;
}
.gray-blue-bg {
  background-color: #494664;
}
