@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&display=swap');
* {
  transition: all 0.5s;
}

html {
  scroll-behavior: smooth;
  overflow-y: scroll; /* has to be scroll, not auto */
  -webkit-overflow-scrolling: touch;  
}

body
{
  margin: 0;
  padding: 0;
  
  background: #fff;
  color: #00132e;
  font-family: 'Lato', sans-serif;
  overflow-x: hidden; /* needed because hiding the menu on the right side is not perfect,  */
}

a
{
  text-decoration: none;
  color: #363636;
  
  transition: color 0.3s ease;
}

a:hover
{
  color: #33c6f4;
}



#fujilogo {
  z-index: 900;
  position: fixed;
  top:0;
  left:0;
  overflow:hidden;
  width:94px;
  height:80px;
}

#fujilogo img {width:100%;}


/* Large devices (desktops, 992px and up)*/
@media (min-width: 992px) and (max-width: 1199px) {  
  #fujilogo {width:89px;height:75px;}
}

/* Medium devices (tablets, 768px and up)*/
@media (min-width: 768px) and (max-width: 991px) {  
  #fujilogo {width:89px;height:75px;}
}

/* Small devices (landscape phones, 576px and up)*/
@media (min-width: 576px) and (max-width: 767px) {  
  #fujilogo {width:68px;height:57px;}
}

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575px) {  
  #fujilogo {width:67px;height:57px;}
}




section {
  /*height:100vh;*/
  width:100%;
  z-index: 10;
  display:block;
}

.container {
  width:1031px;
  padding:0 75px 0 94px;
  margin:0 auto;
  right:0;
  position:relative;
  border:0px solid red;
}

h1 {
  font-size:60px;
  font-weight:700;
  letter-spacing: -0.04em;
  line-height: 1.2em;
  color:#363636;
  margin:0;
  
}

h4 {
  font-size:20px;
  font-weight:300;
  color:#363636;
  line-height: 1.2em;
  text-align: justify;
}

a.seemore {
  font-size:0.8em;
  font-weight: 200;
  color:#fff;
  padding-left:1.5em;
}

a.seemore:hover {
  color:#fef100;
}

a.seemore::before {
  font-family: fontawesome;
  content:'\f101';
  font-size:1.5em;
  margin-left:-.5em;
  padding-right:.3em;
  vertical-align: middle;
  line-height: 1em;
}

a.seemore span{
  vertical-align: middle;
}








#intro h1 {
  margin-bottom:.45em;
}

#intro {
  padding-top:140px;
  position:relative;
  
}

#intro .container h4 {
  display:block;
  width:315px;
}


#intro .container h4 span {
  display:inline;
}

/* Large devices (desktops, 992px and up)*/
@media (min-width: 992px) and (max-width: 1199px) {  
  #intro {padding-top:130px;}
  .container {
    width:842px;
    padding:0 61px 0 92px;
  }
  h1 {
    font-size:64px;
    letter-spacing: 0;
    line-height: 1.2em;
  }

  #intro .container h4 {
    width:590px;
  }
}

/* Medium devices (tablets, 768px and up)*/
@media (min-width: 768px) and (max-width: 991px) {  
  #intro {padding-top:125px;}
  .container {
    width:605px;
    padding:0 97px 0 68px;
  }
  h1 {
    font-size:64px;
    letter-spacing: 0;
    line-height: 1.2em;
  }
  #intro .container h4 {
    width:100%;
  }
}

/* Small devices (landscape phones, 576px and up)*/
@media (min-width: 576px) and (max-width: 767px) {  
  #intro {padding-top:100px;}
  .container {width:85%;padding:0;}
  h1 {
    font-size:60px;
    letter-spacing: 0;
    line-height: 1.0em;
  }
  #intro .container h4 {
    font-size:23px;
    line-height: 1.25em;
    width:100%;
  }
  #intro .container h4 span {display:inline; }

}

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575px) {  
  #intro {padding-top:100px;}
  .container {
    width:auto; 
    padding:0 30px;
  }
  h1 {
    font-size:48px;
    letter-spacing: 0;
    line-height: 1.0em;
  }
  #intro .container h4 {
    font-size:18px;
    line-height: 1.25em;
    width:100%;
  }
  #intro .container h4 span {display:inline; }
}






/* ----------------------------------- */
/* SHOWCASE KEY VISUAL BOX */
/* ----------------------------------- */

  #intro .showcase {
    display:block;
    width:100%;
    position: relative;
    height:810px;
    margin-top:-273px;
  }

  #intro .kvbox {
    width:100%;
    top:0;
    position: relative;
    z-index: 20;
    
  }

  #intro .kvbox .picturebox {
    background-image:url(../images/kvfeatured.jpg);
    background-size:cover;
    border-top-right-radius: 20px;
    border-bottom-left-radius: 20px;
    overflow: hidden;
    width:547px;
    height:366px;
    margin-left:482px;
    position: absolute;
    z-index: 20;
    
  }

  #intro .kvbox .textbox {
    color:#fff;
    background-color: rgba(1,23,59,0.6);
    width:170px;
    height:100%;
    padding:42px 0 0 50px;
    
  }

  #intro .textbox h2 {
    font-weight:700;
    font-size:37px;
    color:#fef100;
    margin:.2em 0;
    
  }

  #intro .textbox h3 {
    font-weight:400;
    font-size:26px;
    margin:.1em 0 -0.1em;
    
  }

  #intro a.seemore {
    font-size: 18px;
    font-weight: 300;
    color: #fff;
  }

  #intro a.seemore:hover {
    color: #fef100;
  }

  #intro .kvbox .bluebox {
    width:57px;
    height:57px;
    background-color:#33c6f4;
    position:absolute;
    top:30px;
    left:463px;
    z-index: 40;
    
  }

  #intro .kvbox .iconclosetab {
    position:absolute;
    width:39px;
    height:39px;
    right:-13px;
    top:343px;
    z-index: 40;
  }

  #intro .kvbox .iconclosetab img {
    width:100%;
  }


/* Large devices (desktops, 992px and up)*/
@media (min-width: 992px) and (max-width: 1199px) {  
  #intro .showcase {
    width:100%;
    height:1000px;
    margin-top:0px;
  }

  #intro .kvbox {
    width:100%;
    top:85px;
    
  }

  #intro .kvbox .picturebox {
    border-top-right-radius: 20px;
    height:366px;
    width:784px;
    margin-left:20px;
    
  }

  #intro .kvbox .textbox {
    width:180px;
    height:100%;
    padding:40px 0 0 50px;
    
  }

  #intro .kvbox .bluebox {
    width:57px;
    height:57px;
    top:26px;
    left:0px;
    
  }

  #intro .kvbox .iconclosetab {
    right:25px;
    top:340px;
    
  }
}

/* Medium devices (tablets, 768px and up)*/
@media (min-width: 768px) and (max-width: 991px) {  
  #intro .showcase {
    width:100%;
    height:1000px;
    margin-top:0px;
  }

  #intro .kvbox {
    width:100%;
    top:50px;
    
  }

  #intro .kvbox .picturebox {
    border-top-right-radius: 20px;
    width:585px;
    height:366px;
    margin-left:10px;
  }

  #intro .kvbox .textbox {
    width:200px;
    height:100%;
    padding:40px 0 0 40px;
    
  }

  #intro .kvbox .bluebox {
    width:57px;
    height:57px;
    top:26px;
    left:-15px;
    
  }

  #intro .kvbox .iconclosetab {
    right:-3px;
    top:340px;
    
  }
}

/* Small devices (landscape phones, 576px and up)*/
@media (min-width: 576px) and (max-width: 767px) {  
  #intro .showcase {
    width:100%;
    height:1000px;
    margin-top:0px;
  }
  #intro .kvbox {
    width:100%;
    top:30px;
  }

  #intro .kvbox .picturebox {
    border-top-right-radius: 20px;
    height:366px;
    width:100%;
    margin-left:0px;
  }

  #intro .kvbox .textbox {
    width:170px;
    height:100%;
    padding:40px 0 0 50px;
  }

  #intro .kvbox .bluebox {
    width:57px;
    height:57px;
    top:28px;
    left:-20px;
  }

  #intro .kvbox .iconclosetab {
    right:-12px;
    top:340px;
  }
}

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575px) {  
  #intro .showcase {
    width:100%;
    height:1000px;
    margin-top:0px;
  }
  #intro .kvbox {
    width:100%;
    top:30px;
  }

  #intro .kvbox .picturebox {
    border-top-right-radius: 20px;
    height:366px;
    width:100%;
    margin-left:0px;
  }

  #intro .kvbox .textbox {
    width:170px;
    height:100%;
    padding:40px 0 0 50px;
  }

  #intro .kvbox .bluebox {
    width:57px;
    height:57px;
    top:28px;
    left:-20px;
  }

  #intro .kvbox .iconclosetab {
    right:-12px;
    top:340px;
  }
}






/* ----------------------------------- */
/* SHOWCASE KEY MESSAGE GREY BOX */
/* ----------------------------------- */


#intro .keymessagebox {
  border-top-left-radius:40px;
  background-color:#f1f4fa;
  width:755px;
  height:310px;
  padding:90px 70px 0px 70px;
  position: absolute;
  top:315px;
  left:57px;
  z-index: 10;
}

#intro .keymessagebox h1 {
  font-size:38px;
  letter-spacing:0.01em;
  line-height:1.2em;
  font-weight:300;
  margin-bottom:70px;
}

#intro .keymessagebox h1 span {
  display:block;
  text-align:center;
}

#intro .keymessagebox h1 span.openquotespan {
  text-align: left;
}

#intro .keymessagebox h1 .openquote{
  width:44px;
  padding-bottom:0px;
}

#intro .keymessagebox .ctabox {
  display:block;
  width:100%;
  text-align: right;
}

#intro .keymessagebox a.seemore {
  font-size:23px;
  font-weight: 700;
  color:#636363;
  padding-left:1.5em;
  padding-right:1.5em;
}

#intro .keymessagebox a.seemore:hover {
  color:#33c6f4;
}

#intro .keymessagebox a.seemore::before {
  font-size:2.1em;
  margin-left:-.5em;
  padding-right:.3em;
  vertical-align: middle;
  line-height: 1em;
  color:#33c6f4;
}


/* Large devices (desktops, 992px and up)*/
@media (min-width: 992px) and (max-width: 1199px) {  
  #intro .keymessagebox {
    border-top-left-radius:40px;
    width:670px;
    height:338px;
    padding:130px 0px 0px 170px;
    top:390px;
    left:0;
  }

  #intro .keymessagebox h1 {
    font-size:42px;
    letter-spacing:0;
    line-height:1.2em;
    margin-bottom:50px;
    width:510px;
  }

  #intro .keymessagebox h1 span {display:inline;}
  #intro .keymessagebox h1 .openquote{
    width:44px;
    padding-bottom:20px;
  }

  #intro .keymessagebox a.seemore {
    font-size:1.6em;
    padding-left:1.5em;
    padding-right:1.5em;
  }

  #intro .keymessagebox a.seemore::before {
    font-size:2.1em;
    margin-left:-.5em;
    padding-right:.3em;
  }
}

/* Medium devices (tablets, 768px and up)*/
@media (min-width: 768px) and (max-width: 991px) {  
  #intro .keymessagebox {
    border-top-left-radius:30px;
    width:580px;
    height:250px;
    padding:130px 160px 100px 80px;
    top:370px;
    left:-15px;
  }

  #intro .keymessagebox h1 {
    font-size:42px;
    letter-spacing:0;
    line-height:1.2em;
  }

  #intro .keymessagebox h1 span {
    display:inline;
  }

  #intro .keymessagebox h1 .openquote{
    width:45px;
    padding-bottom:25px;
  }

  #intro .keymessagebox a.seemore {
    font-size:1.4em;
    padding-left:1.5em;
    padding-right:1.5em;
  }

  #intro .keymessagebox a.seemore::before {
    font-size:1.8em;
    margin-left:-.5em;
    padding-right:.3em;
  }
}

/* Small devices (landscape phones, 576px and up)*/
@media (min-width: 576px) and (max-width: 767px) {  
  #intro .keymessagebox {
    border-top-left-radius:40px;
    width:95%;
    height:auto;
    padding:100px 10% 60px;
    top:350px;
    left:-30px;
  }

  #intro .keymessagebox h1 {
    font-size:2.5em;
    letter-spacing:0.01em;
    line-height:1.3em;
  }

  #intro .keymessagebox h1 span {display:inline;}

  #intro .keymessagebox h1 .openquote{
    width:55px;
    padding-bottom:25px;
  }

  #intro .keymessagebox a.seemore {
    font-size:1.4em;
    padding-left:1.5em;
    padding-right:1.5em;
  }

  #intro .keymessagebox a.seemore::before {
    font-size:1.6em;
    margin-left:-.5em;
    padding-right:.3em;
  }
}

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575px) {  
  #intro .keymessagebox {
    border-top-left-radius:30px;
    width:89%;
    height:auto;
    padding:100px 10% 60px 18%;
    top:350px;
    left:-6%;
  }

  #intro .keymessagebox h1 {
    font-size:32px;
    letter-spacing:0.01em;
    line-height:1.3em;
  }

  #intro .keymessagebox h1 span {display:inline;}

  #intro .keymessagebox h1 .openquote{
    width:45px;
    padding-bottom:25px;
  }

  #intro .keymessagebox a.seemore {
    font-size:1.4em;
    padding-left:1.5em;
    padding-right:1.5em;
  }

  #intro .keymessagebox a.seemore::before {
    font-size:1.6em;
    margin-left:-.5em;
    padding-right:.3em;
  }
}














/* Large devices (desktops, 992px and up)*/
@media (min-width: 992px) and (max-width: 1199px) {  }

/* Medium devices (tablets, 768px and up)*/
@media (min-width: 768px) and (max-width: 991px) {  }

/* Small devices (landscape phones, 576px and up)*/
@media (min-width: 576px) and (max-width: 767px) {  }

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575px) {  }










.ctabottom {
  text-align: center;
  font-size:23px;
  font-weight:600;
  padding:25px 0;
  margin-bottom:60px;
}

.ctabottom .icon {
  padding:18px;
}

.ctabottom a {
  color:#636363;
}

.ctabottom a:hover {
  color:#00bff3;
}




/* Large devices (desktops, 992px and up)*/
@media (min-width: 992px) and (max-width: 1199px) { 
  .ctabottom {
    margin-top:45px;
    margin-bottom:90px;
  }
}

/* Medium devices (tablets, 768px and up)*/
@media (min-width: 768px) and (max-width: 991px) { 
  .ctabottom {
    font-size:18px;
  }
}

/* Small devices (landscape phones, 576px and up)*/
@media (min-width: 576px) and (max-width: 767px) {  }

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575px) {  }













footer {
  background-color:#020f21;
  color:white;
  padding:30px 0 30px;
}

footer .container {
}

footer a {
  font-size:19px;
  font-weight:400;
  color:white;
}

footer ul {
  list-style-type: none;
  margin-left:0;
  padding-left:0;
  padding-top:15px;
  padding-bottom:15px;
}

footer ul li {
  list-style-type: none;
  margin-left:0;
  padding-left:0;
  padding:5px 0;
}

footer .socialmedialink li {
  display:inline-block;
}

footer .socialmedialink li a {
  transition:  0.5s ease;
  display:inline-block;
  font-size:28px;
  border:2px solid white;
  text-align: center;
  width:50px;
  height:50px;
  line-height: 48px;
  padding-top:0;
  margin-right:20px;
}

footer .socialmedialink li a:hover {
  transition:  0.5s ease;
  border:2px solid #33c6f4;
}

footer .copyright {
  font-size:13px;
  padding-top:15px;
  padding-bottom:15px;
}

footer .col {
  display:inline-block;
  font-size:0;
  width:49.5%;
  vertical-align: top;
}

footer .col.left {
  text-align: left;
  margin-left:57px;
}

footer .col.right {
  text-align: right;
  margin-right:-57px;
}

footer .footerlogo {
  padding: 15px 0;
  margin-bottom:100px;
}

footer .backtotoplink a {
  font-size: 16px;
  color:#636363;
}

footer .backtotoplink a .fa {
  font-size: 24px;
  color:#eeef02;
  padding-left:5px;
}

footer .backtotoplink a:hover {
  color:#eeef02;
}





@media (min-width: 481px) and (max-width: 1199px) {  
  footer .col.left {margin-left: 0px;}
  footer .col.right {margin-right:0px;}
}

@media (max-width: 480px) {
  footer .col.left {margin-left: 0px;}
  footer .col.right {
    margin-top:10px;
    margin-right:0px; 
  }
  footer .footerlogo {
    width:90%;
    margin-bottom: 110px;
    text-align: right;
    margin-left: auto;
    margin-right: 0;
  }

  footer .footerlogo img {
    width:100%;
  }
  footer .col {
    display:inline-block;
    width:49%;
  }
  footer .socialmedialink li a {
    transition: 0.5s ease;
    display: inline-block;
    font-size: 24px;
    border: 2px solid white;
    text-align: center;
    width: 40px;
    height: 40px;
    line-height: 40px;
    padding-top: 0;
    margin-right: 15px;
  }
}








