@charset "utf-8";

/* GENERAL WEBSITE ELEMENTS
------------------------------------------------ */

html, body {font-size: 16px; font-weight: normal; letter-spacing: normal; font-family: Verdana, Geneva, sans-serif;}
a {font-size: 16px; text-decoration: none; color: #00488F;}
a:hover {font-size: 16px; text-decoration: underline; color: #90c317;}
.wrapper {display: flex; justify-content: center;}

/* *END* GENERAL WEBSITE ELEMENTS
------------------------------------------------ */


/* HOME PAGE
------------------------------------------------ */

  home-1 {grid-area: home-1; overflow: hidden;}
  home-2 {grid-area: home-2;}
  home-3 {grid-area: home-3;}
  home-4 {grid-area: home-4; overflow: hidden;}

  .home-cont-main {display: grid; max-width: 96%; margin: 2em 0 0; grid-template-columns: 1fr; grid-template-rows: repeat(4, auto); row-gap: 2em; justify-content: center; align-items: center;
    grid-template-areas: "home-1"
                         "home-2"
                         "home-3"
                         "home-4";
    }

  .home-1-cont {display: flex; flex-direction: column; height: auto;}
  .home-1-cont-box-1 {}
  .home-1-cont-box-1 img {width: 100%;}
  .home-1-cont-box-2-video-case-1 {}
  .home-1-cont-box-2-video-case-1 {position: relative; padding-bottom: 56.25%; padding-top: 0; height: 0; overflow: hidden;}
  .home-1-cont-box-2-video-case-1 iframe {position: absolute; top:0; left: 0; width: 100%; height: 100%;}
  .home-1-cont-box-2 {margin: 1em 0;}
  

  .home-2-cont {display: flex; flex-direction: column; height: auto;}
  [class ^="home-2-cont-box-"]{margin-bottom: 2em;}
  [class ^="home-2-cont-box-"] h3 {font-size: 3.5vw; letter-spacing: 2px; font-weight: bold; text-align: center; color: #555; margin: 5px 0;}
  .home-2-cont-box-3 {margin-bottom: 0;}
  .home-2-cont-video-wrapper {width: 100%; padding: 10px 0; color: #000; background: #fff;}
  .home-2-cont-video-wrapper a {font-size: 2.8vw; color: #555; line-height: 250%; letter-spacing: 1px; margin: 0 3px; white-space: nowrap;}
  .home-2-cont-video-wrapper a:hover {color: #90c317;}
  [class ^="home-2-cont-video-case-"] {margin: 0 15px;}
    
  .home-2-cont-video-case-1 {position: relative; padding-bottom: 56.25%; padding-top: 0; height: 0; overflow: hidden;}
		.home-2-cont-video-case-2 {position: relative; padding-bottom: 56.25%; padding-top: 0; height: 0; overflow: hidden;}
		.home-2-cont-video-case-3 {position: relative; padding-bottom: 56.25%; padding-top: 0; height: 0; overflow: hidden;}
		.home-2-cont-video-case-1 iframe {position: absolute; top:0; left: 0; width: 100%; height: 100%;}
		.home-2-cont-video-case-2 iframe {position: absolute; top:0; left: 0; width: 100%; height: 100%;}
		.home-2-cont-video-case-3 iframe {position: absolute; top:0; left: 0; width: 100%; height: 100%;}

  .home-3-cont {display: flex; flex-flow: row wrap; justify-content: center; align-items: center; height: auto; width: 100%; padding: 20px 0; background: #fff;}
  .home-3-cont-box-1 {width: 100%;}
  .home-3-cont-box-1 img {width: 80%; transition: transform .25s ease-in-out; transition-property: transform; transition-duration: 0.25s; transition-timing-function: ease-in-out; transition-delay: 0s;}
  .home-3-cont-box-1 img:hover {transform: scale(1.08);}
  .home-3-cont-box-2 {width: 100%;}
  .home-3-cont-box-2 h2 {font-size: 3.5vw; letter-spacing: 1px; font-weight: bold; color: #000; margin-top: 20px;}
  .home-3-cont-box-2 p {font-size: 2.5vw; letter-spacing: 2px; line-height: 150%; text-align: center; font-weight: bold; color: #555; padding: 0 10px;}
  .home-3-cont-box-2 h3 {margin: 20px 0 0;}
  .home-3-cont-box-2 a {font-size: 3vw; letter-spacing: 4px; font-weight: bold; color: #00386f;}
  .home-3-cont-box-2 a:hover {color: #90c317;}

  .home-4-cont {width: 90%;}
  .home-4-cont-box {width: 100%; height: auto; background: #fff;}
  .home-4-cont-box-l {display: block; margin: 25px 0;}
  .home-4-cont-box-l img {width: 60%; transition: transform .25s ease-in-out; transition-property: transform; transition-duration: 0.25s; transition-timing-function: ease-in-out; transition-delay: 0s;}
  .home-4-cont-box-l img:hover{transform: scale(1.1);}
  .home-4-cont-box-r {display: block; margin-bottom: 20px;}
  .home-4-cont-box-r h3 {font-size: 2.8vw; letter-spacing: 2px; font-weight: bold; line-height: 150%; color: #555; margin: 0 0 15px;}
  .home-4-cont-box-r a {font-size: 2.8vw; letter-spacing: 2px; font-weight: bold; line-height: 150%; color: #00386f;}
  .home-4-cont-box-r a:hover {color: #90c317;}

  @media screen and (min-width: 720px) {
    .home-cont-main { max-width: 98%; margin: 4em 0 0; grid-template-columns: repeat(4, 1fr);
      grid-template-areas: "home-1 home-1 home-1 home-1"
                           "home-2 home-2 home-2 home-2"
                           "home-3 home-3 home-3 home-3"
                           "home-4 home-4 home-4 home-4";
    }
      
    .home-1-cont {flex-direction: row; justify-content: space-around;}
    .home-1-cont-box-1 {width: 45%;}
    .home-1-cont-box-2 {width: 45%; margin: 0; text-transform: ;}

    .home-2-cont {flex-direction: row; justify-content: space-around;}
    [class ^="home-2-cont-box-"]{flex: 0 1 33%; justify-content: center; align-items: center; margin: 0;}
    [class ^="home-2-cont-box-"] h3 {font-size: 1vw; margin: 5px 0 3px;}
    .home-2-cont-video-wrapper {width: 95%; padding-bottom: 10px;}
    .home-2-cont-video-wrapper a {font-size: .8vw; letter-spacing: 0; line-height: 200%; margin: 0 0 0 2%;}
    [class ^="home-2-cont-video-case-"] iframe {margin-bottom: 5px;}

    .home-3-cont {width: 90%; padding: 20px;}
    .home-3-cont-box-1 {width: 40%;}
    .home-3-cont-box-1 img {width: 100%;}
    .home-3-cont-box-2 {width: 56%; margin-left: 20px;}
    .home-3-cont-box-2 h2 {font-size: 1.6vw; letter-spacing: 4px; margin: 0;}
    .home-3-cont-box-2 h3 {margin: 20px 0 0;}
    .home-3-cont-box-2 a {font-size: 1.4vw; letter-spacing: 4px;}
    .home-3-cont-box-2 p {font-size: 1.1vw; letter-spacing: 2px;}

    .home-4-cont {display: flex; flex-direction: row; justify-content: center; align-items: center; height: auto; width: 95%;}
    .home-4-cont-box {margin: 0 15px;}
    .home-4-cont-box-l {margin: 20px 0 15px;}
    .home-4-cont-box-l img {width: 70%;}
    .home-4-cont-box-r h3 {font-size: 1vw; letter-spacing: 2px; margin: 0 0 10px;}
    .home-4-cont-box-r a {font-size: 1.1vw; letter-spacing: 2px;}
 }

  @media screen and (min-width: 1000px) {
    .home-4-cont {width: 90%;}
    .home-4-cont-box {margin: 0 15px;}
    .home-4-cont-box-l img {width: 75%;}
  }

  @media screen and (min-width: 1400px) {
    .home-cont-main {margin: 4em 0 0; row-gap: 8em;}

    [class ^="home-2-cont-box-"] h3 {letter-spacing: 4px; margin: 5px 0;}
    .home-2-cont-video-wrapper {width: 90%; padding: 15px 10px 20px;}
    .home-2-cont-video-wrapper a {font-size: .7em; letter-spacing: 2px; line-height: 250%; margin: 0 .5em;}
    [class ^="home-2-cont-video-case-"] {margin-bottom: 0;}

    .home-3-cont {width: 80%; padding: 40px;}
    .home-3-cont-box-1 img {width: 100%;}
    .home-3-cont-box-2 {margin-left: 40px;}
    .home-3-cont-box-2 h2 {font-size: 1.4vw;}
    .home-3-cont-box-2 a {font-size: 1.1vw; margin-top: 10px;}
    .home-3-cont-box-2 p {font-size: .9vw;}

    .home-4-cont {width: 96%;}
    .home-4-cont-box {width: 33%; margin: 0 15px; padding: 5px 0;}
    .home-4-cont-box-l {display: inline-block; vertical-align: middle; width: 30%; margin: 15px 5px 15px;}
    .home-4-cont-box-l img {width: 100%;}
    .home-4-cont-box-r {display: inline-block; vertical-align: middle; width: 60%; margin-top: 20px;}
    .home-4-cont-box-r h3 {font-size: .7vw; margin: 0 0 20px;}
    .home-4-cont-box-r a {font-size: .8vw;}
}

  @media screen and (min-width: 1800px) {
    .home-3-cont {width: 70%;}
    .home-3-cont-box-2 h2 {font-size: 1.2vw; letter-spacing: 4px;}
    .home-3-cont-box-2 a {font-size: .9vw; letter-spacing: 4px;}
    .home-3-cont-box-2 p {font-size: .8vw; letter-spacing: 2px;}

    .home-4-cont-box {margin: 0 15px;}
    .home-4-cont-box-l {width: 35%;}
    .home-4-cont-box-l img {width: 90%;}
    .home-4-cont-box-r a {font-size: .75vw;}
}

/* END - HOME PAGE
------------------------------------------------ */



/* ABOUT PAGE
------------------------------------------------ */

  about-1 {grid-area: about-1;}
  about-2 {grid-area: about-2;}
  about-3 {grid-area: about-3;}
  about-5 {grid-area: about-5;}
  about-4 {grid-area: about-4;}
  about-6 {grid-area: about-6;}

  .about-cont-main {display: grid; max-width: 98%; margin: 1em 0 0; grid-template-columns: 1fr; grid-template-rows: repeat(6, auto); row-gap: 4em; justify-content: center; align-items: center;
    grid-template-areas: "about-1"
                         "about-2"
                         "about-3"
                         "about-4"
                         "about-5"
                         "about-6";
    }
  .about-cont-main a {color: #00488F; font-weight: bold;}
  .about-cont-main a:hover {text-decoration: none; color: #7F0000;}
  
  .about-1-cont {width: 100%;}
  .about-1-cont img {width: 100%;}

  .about-2-cont {display: flex; flex-flow: row wrap; justify-content: center; height: auto; width: 95%; margin-top: -3.5em;}
  .about-2-cont h2 {font-size: clamp(1.125rem, 0.811vw + 0.963rem, 1.875rem); letter-spacing: 2px; line-height: normal; font-weight: bold; color: #000;}
  .about-2-cont p, a {font-size: clamp(0.875rem, 0.473vw + 0.78rem, 1.313rem); line-height: clamp(1.313rem, 0.426vw + 1.227rem, 1.706rem); letter-spacing: 1px; font-weight: 500; color: #333;}
  .about-2-cont a {color: #00488F; font-weight: bold;}
  .rsetext {display: none;}
  
  .about-grid-top-l {display: none;}
  .about-grid-top-r {grid-area: about-grid-top-r;}
  .about-grid-bottom {grid-area: about-grid-bottom}

  .about-3-cont {display: grid; max-width: 90%; align-items: center; background-color: #fff; padding: 15px 10px 20px; margin: 0;
    grid-template-areas: "about-grid-top-r"
                         "about-grid-bottom";
    }

  .about-3-cont img {width: 40%;}
  .about-3-cont h2 {font-size: clamp(1.125rem, 0.811vw + 0.963rem, 1.875rem); letter-spacing: 4px; line-height: normal; margin-top: 0; font-weight: bold; color: #333;}
  .about-3-cont p, a {font-size: clamp(0.813rem, 0.405vw + 0.731rem, 1.188rem); line-height: clamp(1.219rem, 0.351vw + 1.148rem, 1.544rem); letter-spacing: 2px; font-weight: 500; color: #000;}
  .ramtext {display: none;}
  .p-lg {display: none;}
  .mbl-img {display: block;}
  .p-sm {display: block;}
  
  .about-4-cont {width: 95%; height: auto;}
  .about-4-cont p {font-size: clamp(0.875rem, 0.676vw + 0.74rem, 1.5rem); line-height: 1.5; letter-spacing: 2px; text-align: justify; font-weight: bold; color: #0a2d4e;}

  .about-5-cont {display: grid; max-width: 90%; align-items: center; background-color: #fff; padding: 15px 10px 20px; margin: 0;
    grid-template-areas: "about-grid-top-r"
                         "about-grid-bottom";
    }

  .about-5-cont img {width: 40%;}
  .about-5-cont h2 {font-size: clamp(1.125rem, 0.811vw + 0.963rem, 1.875rem); letter-spacing: 4px; line-height: normal; margin-top: 0; font-weight: bold; color: #333;}
  .about-5-cont p, a {font-size: clamp(0.813rem, 0.405vw + 0.731rem, 1.188rem); line-height: clamp(1.219rem, 0.351vw + 1.148rem, 1.544rem); letter-spacing: 2px; font-weight: 500; color: #000;}
  .jztext {display: none;}

  .about-6-cont {width: 90%; height: auto;}
  .about-6-cont p {font-size: clamp(0.875rem, 0.811vw + 0.713rem, 1.625rem); line-height: 1.5; letter-spacing: 2px; text-align: center; font-weight: bold; color: #0a2d4e;}


  @media screen and (min-width: 700px) {
    .about-cont-main {margin: 1em 0 0; grid-template-columns: repeat(4, 1fr); row-gap: 4em; align-content: start;
      grid-template-areas: "about-1 about-1 about-1 about-1"
                           "about-2 about-2 about-2 about-2"
                           "about-3 about-3 about-3 about-3"
                           "about-4 about-4 about-4 about-4"
                           "about-5 about-5 about-5 about-5"
                           "about-6 about-6 about-6 about-6";
    }

    .about-2-cont {width: 90%; margin-top: -3.5em;}
   
    .about-grid-top-l {display: block; grid-area: about-grid-top-l;}

    .about-3-cont {justify-content: space-between; align-content: start; column-gap: 1.5em; padding: 20px;
      grid-template-areas: "about-grid-top-l about-grid-top-r about-grid-top-r"
                           "about-grid-bottom about-grid-bottom about-grid-bottom";
      }

    .about-3-cont img {width: 100%;}
    .mbl-img {display: none;}

    .about-4-cont {width: 70%;}

    .about-5-cont {justify-content: space-between; column-gap: 1em; padding: 20px;
      grid-template-areas: "about-grid-top-r about-grid-top-r about-grid-top-l"
                           "about-grid-bottom about-grid-bottom about-grid-bottom";
      }

    .about-5-cont img {width: 100%;}
    .about-5-cont h2 {letter-spacing: 6px;}

    .about-6-cont {width: 95%;}
  }

  @media screen and (min-width: 1000px) {
    .about-cont-main {margin: 1.5em 0 0;}

    .about-3-cont img {width: 90%;}

    .about-5-cont {max-width: 95%;}

    .about-6-cont {width: 90%;}
  }

  @media screen and (min-width: 1200px) {
    .about-3-cont {max-width: 80%;}

    .p-lg {display: block;}
    .mbl-img {display: none;}
    .p-sm {display: none;}

    .about-4-cont {width: 60%;}

    .about-6-cont {width: 95%;}
  }

  @media screen and (min-width: 1400px) {
    .about-cont-main {margin: .5em 0 0;}

    .about-3-cont img {width: 95%;}
    .p-lg {display: block;}
    .mbl-img {display: none;}
    .p-sm {display: none;}

    .about-5-cont img {width: 80%;}
  }

  @media screen and (min-width: 1600px) {
    .about-cont-main {margin: .5em 0 0;}
    .about-2-cont {width: 60%;}

    .about-3-cont {max-width: 80%;}
    .about-3-cont img {width: 100%;}
  }

  @media screen and (min-width: 1800px) {
    .about-cont-main {margin: .5em 0 0; row-gap: 4em;}

    .about-2-cont {margin-top: -2em;}
    .about-2-cont h2 {letter-spacing: 4px;}
    .about-2-cont p {letter-spacing: 2px;}
   

    .about-3-cont {max-width: 75%; column-gap: 2em; padding: 40px; margin: 6em 0;}

    .about-3-cont img {width: 85%;}
  
    .about-4-cont {width: 55%;}

    .about-5-cont {column-gap: 1em; padding: 40px; margin: 6em 0 4em;}

    .about-5-cont img {width: 60%;}

    .about-6-cont {width: 80%; margin-bottom: 0;}
  }

/* END - ABOUT PAGE
------------------------------------------------ */


/* BEG INFO PAGE
------------------------------------------------ */


/* END - BEG INFO PAGE
------------------------------------------------ */
