* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Montserrat", sans-serif;
  user-select: none;
}

body #mainDiv {
  background: url(../images/Phone.jpg);
  background-position: center;
  background-size: cover;
  position: relative;
  z-index: 1;
}
/* #overlay {
  width: 100%;
  background: black;
  opacity: 0.7;
  position: absolute;
  top: 0;
  z-index: 2;
  height: 100vh;
} */

body nav {
  background: rgba(0, 0, 0, 0.459);
}

body nav #logo {
  width: 12em;
  height: auto;
  border-radius: 50%;
  position: absolute;
  top: -1em;
  left: 25.5em;
  z-index: 4;
}

body nav.fixed #logo {
  width: 12em;
  height: auto;
  border-radius: 50%;
  position: absolute;
  top: -0.8em;
  left: -3.5em;
  z-index: 4;
}

body nav.fixed #kisaName {
  margin-left: 1em;
}

body nav #hamburger,
body nav #cancel {
  height: 2.2em;
  margin-top: 1.3em;
  display: none;
}

body nav.fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  padding: 3px 5%;
  /* background: rgb(15, 84, 112); */
  /* background: rgb(0, 0, 0); */
  background: #003459;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 4;
  transition: padding 0.8s;
}

body nav #menu .memuItems img {
  height: 1.8em;
  margin-top: -0.3em;
  display: none;
}

body nav.fixed #menu .memuItems div {
  margin-top: -4em;
}

body nav ul .memuItems #technologiesUsed {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding: 0.8em 2%;
}

body nav ul .memuItems #technologiesUsed p img {
  height: 1.5em;
}

body nav ul .memuItems #technologiesUsed p span {
  font-size: 1rem;
  font-weight: 200;
}

body nav ul .memuItems #technologiesUsed div p {
  font-size: 1rem;
  margin-left: 0.8em;
}

body nav.fixed #menu .memuItems #industriesList,
body nav.fixed #menu .memuItems #clientsDropdown,
body nav.fixed #menu .memuItems #companyDropdown {
  margin-top: -4em;
}

body nav {
  position: relative;
}

body nav p {
  font-size: 1.8rem;
  text-align: center;
  padding-top: 0.8em;
  padding-bottom: 0.8em;
  color: #fff;
}
body nav p span {
  font-weight: 700;
}

body nav #menu {
  display: flex;
  justify-content: center;
  /* background: rgb(15, 84, 112); */
}

body nav #menu:hover {
  /* background: rgb(13, 84, 117); */
  /* background: rgba(0, 0, 0, 0.849); */
  background: #003459;
  /* background: #009aee; */
}

body nav ul .memuItems #industriesList {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}

body nav ul .memuItems {
  list-style: none;
  padding: 0.9em;
}

body nav ul .memuItems a {
  color: #fff;
  text-decoration: none;
  position: relative;
  padding: 0 0.2em;
}

body nav ul .memuItems a::after {
  content: "";
  position: absolute;
  background: #fff;
  height: 0.1em;
  width: 0;
  left: 50%;
  bottom: -0.24em;
  transition: 0.4s;
}

body nav ul .memuItems a:hover::after {
  content: "";
  width: 100%;
  left: 0;
}

body nav ul .memuItems a:hover {
  color: yellow;
}

body nav ul .memuItems div {
  display: flex;
  justify-content: center;
  position: absolute;
  /* background: rgb(13, 84, 117); */
  /* background: rgb(0, 0, 0); */
  background: #003459;
  width: 100%;
  left: 0;
  top: 7.5em;
}

body nav ul .memuItems div h4 {
  white-space: nowrap;
  color: #fff;
}

body nav ul .memuItems div ul {
  display: flex;
  flex-direction: column;
  gap: 0.8em;
  margin-right: 3.5em;
  padding: 1em;
  padding-right: 1.5em;
  margin-bottom: 1.2em;
  margin-top: 1.2em;
  display: none;
}

body nav ul .memuItems div ul:nth-of-type(2),
body nav ul .memuItems div ul:nth-of-type(3) {
  margin-top: 3em;
}

body nav ul .memuItems div ul:nth-of-type(1),
body nav ul .memuItems div ul:nth-of-type(2) {
  border-right: 1px solid #fff;
}

body nav ul .memuItems div ul li {
  list-style: none;
  padding: 0.8em 0;
}

body nav ul .memuItems:hover div ul {
  display: block;
  transition: all 0.7s;
  cursor: pointer;
}

body nav ul .memuItems #industriesList {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  padding: 1em 8%;
  position: absolute;
  /* background: rgb(0, 0, 0); */
  background: #003459;
  visibility: hidden;
  /* display: none; */
  width: 100%;
  top: 7.5em;
  padding-right: 1.8em;
  left: 0;
}

body nav ul .memuItems #clientsDropdown,
body nav ul .memuItems #companyDropdown,
body nav ul .memuItems #technologiesUsed {
  position: absolute;
  /* background: rgb(0, 0, 0); */
  background: #003459;
  visibility: hidden;
  width: 100%;
  top: 7.5em;
  padding-right: 1.8em;
  left: 0;
  padding: 1em 8%;
}

body nav ul .memuItems:hover #industriesList,
body nav ul .memuItems:hover #clientsDropdown,
body nav ul .memuItems:hover #companyDropdown,
body nav ul .memuItems:hover #technologiesUsed {
  visibility: visible;
  transition: all 0.7s;
}

body nav ul .memuItems #clientsDropdown .clients-menu-items,
body nav ul .memuItems #companyDropdown .company-menu-items,
body nav ul .memuItems #industriesList .industries-menu-items {
  list-style: none;
  padding-top: 0.6em;
  padding-left: 0.8em;
  padding-right: 1.8em;
  padding-bottom: 0.8em;
  white-space: nowrap;
}

body nav ul .memuItems #clientsDropdown .clients-menu-items:nth-child(1),
body nav ul .memuItems #companyDropdown .company-menu-items:nth-child(1),
body nav ul .memuItems #industriesList .industries-menu-items:nth-child(1) {
  margin-top: 0.7em;
}

body nav ul .memuItems #industriesList .industries-menu-items a,
body nav ul .memuItems #clientsDropdown .clients-menu-items a,
body nav ul .memuItems #companyDropdown .company-menu-items a {
  text-decoration: none;
  color: #fff;
}

body nav ul .memuItems #industriesList .industries-menu-items a:hover,
body nav ul .memuItems #clientsDropdown .clients-menu-items a:hover,
body nav ul .memuItems #companyDropdown .company-menu-items a:hover {
  color: yellow;
}

body .content {
  padding: 10em 8%;
  background: rgba(0, 0, 0, 0.452);
}

body .content #content h3 {
  color: #fff;
  font-size: 2.5rem;
  font-weight: 600;
  margin-bottom: 0.15em;
}

body .content #content span {
  height: 0.3em;
  width: 15%;
  position: absolute;
  background: yellow;
  border-radius: 0.3em;
}

body .content #content h4 {
  color: #fff;
  font-size: 1.5rem;
  font-weight: 500;
  margin-bottom: 0.15em;
  margin-top: 1em;
}

body .content #content P {
  color: #fff;
  font-size: 1.4rem;
  font-weight: 200;
  line-height: 2em;
  /* margin-bottom: 3.5em; */
}

/* *******************************contact form **************************************** */
body #contactForm {
  width: 40%;
  margin-left: 45em;
  padding: 20px;
  background: #ccc;
  border-radius: 5px;
  box-shadow: 0 0 8px -1px #888888;
  margin-top: 2em;
}

body #contactForm label {
  display: block;
  margin-top: 0.4em;
  font-weight: 500;
}

body #contactForm input[type="text"],
body #contactForm input[type="email"],
body #contactForm textarea {
  width: 100%;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 5px;
  box-sizing: border-box;
  outline: none;
}

body #contactForm input[type="text"],
body #contactForm input[type="email"] {
  background-color: #fff;
}

body #contactForm textarea {
  background-color: #fff;
  margin-top: 0.4em;
  height: 150px;
  outline: none;
}

body #contactForm button {
  background-color: #4caf50;
  color: white;
  padding: 0.8em 2em;
  outline: none;
  margin: 1.4em 14em;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

body #contactForm label span {
  color: red;
}

body #contactForm p a {
  text-decoration: none;
  color: blue;
}

body #contactInfo {
  padding: 2em 5%;
  position: absolute;
  top: 43em;
}

body #contactInfo h3 {
  font-size: 1.8rem;
  margin-bottom: 0.4em;
}

body #contactInfo p {
  font-size: 1.2rem;
  line-height: 1.8em;
}

footer {
  background: rgb(16, 35, 44);
  /* background: #003459; */
  color: #fff;
  padding: 2em 5%;
  margin-top: 2em;
}

footer #topSection {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1.5em;
}

footer #topSection h4 {
  font-size: 1.2rem;
}

footer #topSection #service p {
  line-height: 1.8em;
  margin-top: 0.7em;
  font-size: 0.9rem;
}

footer #topSection div p:nth-child(1) {
  font-size: 2rem;
  margin-bottom: 0.4em;
}

footer #topSection div p:nth-child(2) {
  font-size: 0.9rem;
  line-height: 1.5em;
}

footer #topSection div p:nth-child(1) span {
  font-weight: 800;
}

footer #focalPoints {
  margin-top: 1.5em;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.3em;
}

footer #focalPoints {
  font-size: 1.2rem;
}

footer #focalPoints div p {
  font-size: 0.9rem;
  margin-top: 0.8em;
  line-height: 1.9em;
}

footer #topSection div a {
  text-decoration: none;
  color: #fff;
  display: block;
  margin-top: 1em;
  font-size: 0.9rem;
}

footer #topSection div a:hover {
  color: yellow;
}

footer #bottomSection {
  margin-top: 1em;
  text-align: center;
  line-height: 1.2em;
}

footer > p {
  font-size: 0.8rem;
  margin-right: 0.8em;
  line-height: 2em;
  text-align: center;
}

footer #bottomSection span {
  font-size: 0.8rem;
  text-align: center;
  margin-right: 0.8em;
}

footer #bottomSection span a {
  text-decoration: none;
  color: #fff;
}

footer #bottomSection span a:hover {
  color: yellow;
}

footer img {
  height: 3.1em;
  background: rgb(24, 52, 65);
  border-radius: 0.4em;
  position: fixed;
  left: 80em;
  right: 2em;
  /* top: 0; */
  bottom: 2em;
  cursor: pointer;
}

footer #bottomSection span:nth-child(1),
footer #bottomSection span:nth-child(2),
footer #bottomSection span:nth-child(3) {
  padding: 0.3em 0.6em;
  border-right: 2px solid #fff;
  line-height: 3.9em;
}

/* ===================================== mobile-menu =================================================== */

.mobile-wrapper nav {
  background-color: rgba(0, 0, 0, 0.068);
  /* opacity: 0.1; */
  height: 50px;
  padding: 0 16px;
  display: flex;
  align-items: center;
  width: 100vw;
}
.mobile-wrapper nav .mobile-menu__checkbox {
  display: none;
}
.mobile-wrapper nav label.mobile-menu__toggle {
  cursor: pointer;
}
.mobile-wrapper nav .mobile-menu {
  position: fixed;
  top: 0;
  left: 0;
  max-width: 450px;
  width: calc(100vw - 30px);
  height: 100vh;
  transform: translate3d(-450px, 0, 0);
  transition: transform 0.35s;
  z-index: 1;
  overflow: hidden;
  background-color: #003459;
}
.mobile-wrapper nav .mobile-menu__overlay {
  background-color: rgba(103, 103, 103, 0.5);
  position: absolute;
  top: 0;
  width: 100%;
  bottom: 0;
  z-index: 1;
  display: none;
}
.mobile-wrapper nav .mobile-menu__header {
  padding: 0 16px;
  height: 50px;
  display: flex;
  justify-content: space-around;
  align-items: center;
  border-bottom: 1px solid #e8e8e8;
}
nav .mobile-menu__header span {
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
  width: 100%;
  color: #fff;
}
.mobile-wrapper nav .mobile-menu .mobile-menu {
  transform: translate3d(480px, 0, 0);
}
.mobile-wrapper nav .mobile-menu ul {
  height: 100%;
  overflow-y: auto;
}
.mobile-wrapper nav .mobile-menu ul li a,
.mobile-wrapper nav .mobile-menu ul li label {
  display: block;
  text-align: left;
  padding: 0 15px;
  line-height: 47px;
  text-decoration: none;
  color: #fff;
  cursor: pointer;
  font-size: 1rem;
  /* border-bottom: 1px solid #e8e8e8; */
  position: relative;
}
.mobile-wrapper nav .mobile-menu ul li label.a-label__chevron::after {
  content: "";
  position: absolute;
  display: inline-block;
  height: 10px;
  width: 10px;
  border-color: #fff;
  border-style: solid;
  border-width: 1px 1px 0 0;
  transform: rotate(45deg);
  top: 50%;
  margin-top: -5px;
  right: 16px;
}
.mobile-wrapper nav .mobile-menu ul li .-invisible {
  border-bottom: 0;
}
.mobile-wrapper nav .mobile-menu .mobile-menu label.mobile-menu__toggle {
  display: flex;
  border-bottom: 0;
  padding: 0;
  box-sizing: content-box;
}
.mobile-wrapper nav .mobile-menu__checkbox:checked ~ .mobile-menu__overlay {
  display: block;
}
.mobile-wrapper nav .mobile-menu__checkbox:checked ~ .mobile-menu {
  transform: translate3d(0, 0, 0);
}

.mobile-menu .mobile-menu__checkbox:checked ~ .mobile-menu {
  transform: translate3d(100%, 0, 0);
}

.mobile-wrapper {
  /* position: absolute; */
  position: relative;
  z-index: 5;
  /* top: -40%; */
  left: 0;
  width: 100%;
  height: 100vh;
  margin: 0 auto;
  overflow: hidden;
  display: none;
  /* background-color: #0000ff; */
}

.mobile-wrapper label img {
  height: 1.5em;
  margin-top: 0.6em;
}

.mobile-wrapper ul li label div {
  display: flex;
  padding: 0.3em 0.3em;
}

.mobile-wrapper nav .mobile-menu ul li #mobile-menu_technologiesUsed p {
  margin-top: -0.3em;
  text-align: left;
  margin-left: 1.5em;
}

.mobile-wrapper nav .mobile-menu ul li #mobile-menu_technologiesUsed p img {
  height: 1.5em;
  margin-right: 0.5em;
  /* padding-top: 1em; */
}

.mobile-wrapper nav .mobile-menu ul li #mobile-menu_technologiesUsed p span {
  color: #fff;
  font-size: 0.9rem;
  font-weight: 500;
}

#mobile-menu_services ul h4 {
  color: #fff;
  margin-top: 0.4em;
  text-align: center;
}

.content #logo {
  display: none;
}

@media screen and (min-width: 769px) and (max-width: 1024px) {
  /* ************************************ nav ******************************************************** */
  #nav {
    display: none;
  }

  .mobile-wrapper {
    display: block;
    position: fixed;
  }

  .content #logo {
    display: block;
    position: absolute;
    top: 3em;
    left: 25%;
  }

  .content #logo #logoImg {
    height: 15em;
  }

  .content #logo #nameAndCoreFocus {
    position: absolute;
    left: 3.5em;
    top: 11em;
  }

  .content #logo #nameAndCoreFocus #kisaName {
    font-size: 2rem;
    color: #fff;
  }

  .content #logo #nameAndCoreFocus #kisaName span {
    font-weight: bold;
  }

  .content #logo #nameAndCoreFocus #coreFocus {
    position: absolute;
    left: 1em;
    font-size: 1.1rem;
    margin-top: -0.1em;
    color: #fff;
  }

  #revealMenu {
    background: rgba(0, 0, 0, 0.623);
    padding: 0.5em;
  }

  /************************************* content *****************************************************/
  body .content {
    padding: 20em 0.8em;
  }

  body .content h3 {
    font-size: 1.5rem;
  }

  body .content h4 {
    font-size: 1.1rem;
  }

  body .content P {
    font-size: 1rem;
  }

  /*********************************** contact form *************************************************/
  body #contactForm {
    width: 60.5%;
    margin-left: 20em;
    margin-top: 1em;
    background: #ccc;
  }

  body #contactForm button {
    background-color: #4caf50;
    color: white;
    padding: 0.8em 2em;
    outline: none;
    margin: 1.4em 18em;
    border: none;
    border-radius: 4px;
    cursor: pointer;
  }

  /* *********************************** footer ******************************************************* */
  footer #focalPoints {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}

@media screen and (min-width: 481px) and (max-width: 768px) {
  /* ************************************** nav **************************************** */
  #nav {
    display: none;
  }

  .mobile-wrapper {
    display: block;
    position: fixed;
  }

  .content #logo {
    display: block;
    position: absolute;
    top: 3em;
    left: 12%;
  }

  .content #logo #logoImg {
    height: 15em;
  }

  .content #logo #nameAndCoreFocus {
    position: absolute;
    left: 3.5em;
    top: 11em;
  }

  .content #logo #nameAndCoreFocus #kisaName {
    font-size: 2rem;
    color: #fff;
  }

  .content #logo #nameAndCoreFocus #kisaName span {
    font-weight: bold;
  }

  .content #logo #nameAndCoreFocus #coreFocus {
    position: absolute;
    left: 1em;
    font-size: 1.1rem;
    margin-top: -0.1em;
    color: #fff;
  }

  #revealMenu {
    background: rgba(0, 0, 0, 0.623);
    padding: 0.5em;
  }

  /************************************* content *****************************************************/
  body .content {
    padding: 20em 0.8em;
  }

  body .content #content h3 {
    font-size: 1.5rem;
  }

  body .content #content h4 {
    font-size: 1.1rem;
  }

  body .content #content P {
    font-size: 1rem;
  }

  /*********************************** contact form *************************************************/
  body #contactForm {
    width: 96.5%;
    margin-left: 0.4em;
    margin-top: 1em;
    background: #ccc;
  }

  body #contactForm button {
    background-color: #4caf50;
    color: white;
    padding: 0.8em 2em;
    outline: none;
    margin: 1.4em 18em;
    border: none;
    border-radius: 4px;
    cursor: pointer;
  }

  /**************************************** Footer ****************************************************/
  footer {
    padding: 2em 0.8em;
  }

  footer #topSection {
    grid-template-columns: 1fr;
  }

  footer #topSection h4 {
    font-size: 1rem;
  }

  footer #topSection #service p {
    font-size: 0.8rem;
  }

  footer #topSection div p:nth-child(1) {
    font-size: 1.2rem;
  }

  footer #topSection div p:nth-child(2) {
    font-size: 0.8rem;
  }

  footer #focalPoints {
    display: grid;
    grid-template-columns: 1fr;
  }

  footer #focalPoints {
    font-size: 1rem;
  }

  footer #focalPoints div p {
    font-size: 0.8rem;
  }

  footer #topSection div a {
    font-size: 0.8rem;
  }

  footer #bottomSection {
    text-align: left;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.3em;
  }

  footer #bottomSection span {
    font-size: 0.8rem;
    text-align: left;
  }

  footer #bottomSection span:nth-child(1),
  footer #bottomSection span:nth-child(2),
  footer #bottomSection span:nth-child(3) {
    padding: 0.3em 0.3em;
    border-right: none;
  }

  footer #bottomSection span:nth-child(3) {
    margin-top: -3.35em;
  }

  footer #bottomSection span:nth-child(4) {
    margin-top: -1.78em;
  }

  body #contactInfo {
    padding: 2em 0.8em;
    position: relative;
    top: 0.8em;
    left: 0;
  }

  body #contactInfo h3 {
    font-size: 1.4rem;
  }

  body #contactInfo p {
    font-size: 0.95rem;
  }

  body nav p {
    font-size: 1.4rem;
    text-align: left;
    margin-left: -0.4em;
  }
}

@media screen and (max-width: 480px) {
  /* ************************************** nav **************************************** */
  #nav {
    display: none;
  }

  .mobile-wrapper {
    display: block;
    position: fixed;
  }

  .content #logo {
    display: block;
    position: absolute;
    top: 3em;
    left: 1.2em;
  }

  .content #logo #logoImg {
    height: 15em;
  }

  .content #logo #nameAndCoreFocus {
    position: absolute;
    left: 3.5em;
    top: 11em;
  }

  .content #logo #nameAndCoreFocus #kisaName {
    font-size: 2rem;
    color: #fff;
  }

  .content #logo #nameAndCoreFocus #kisaName span {
    font-weight: bold;
  }

  .content #logo #nameAndCoreFocus #coreFocus {
    position: absolute;
    left: 1em;
    font-size: 1.1rem;
    margin-top: -0.1em;
    color: #fff;
  }

  #revealMenu {
    background: rgba(0, 0, 0, 0.623);
    padding: 0.5em;
  }

  /************************************* content *****************************************************/
  body .content #content {
    padding: 10em 0.8em;
  }

  body .content #content h3 {
    margin-top: 2em;
    font-size: 1.5rem;
  }

  body .content #content h4 {
    font-size: 1.1rem;
  }

  body .content #content P {
    font-size: 1rem;
  }

  /*********************************** contact form *************************************************/
  body #contactForm {
    width: 96.5%;
    margin-left: 0.4em;
    margin-top: 1em;
    background: #ccc;
  }

  body #contactForm button {
    background-color: #4caf50;
    color: white;
    padding: 0.8em 2em;
    outline: none;
    margin: 1.4em 6em;
    border: none;
    border-radius: 4px;
    cursor: pointer;
  }

  /**************************************** Footer ****************************************************/
  footer {
    padding: 2em 0.8em;
  }

  footer #topSection {
    grid-template-columns: 1fr;
  }

  footer #topSection h4 {
    font-size: 1rem;
  }

  footer #topSection #service p {
    font-size: 0.8rem;
  }

  footer #topSection div p:nth-child(1) {
    font-size: 1.2rem;
  }

  footer #topSection div p:nth-child(2) {
    font-size: 0.8rem;
  }

  footer #focalPoints {
    display: grid;
    grid-template-columns: 1fr;
  }

  footer #focalPoints {
    font-size: 1rem;
  }

  footer #focalPoints div p {
    font-size: 0.8rem;
  }

  footer #topSection div a {
    font-size: 0.8rem;
  }

  footer #bottomSection {
    text-align: left;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.3em;
  }

  footer #bottomSection span {
    font-size: 0.8rem;
    text-align: center;
  }

  footer #bottomSection span:nth-child(1),
  footer #bottomSection span:nth-child(2),
  footer #bottomSection span:nth-child(3) {
    padding: 0.3em 0.3em;
    border-right: none;
    white-space: nowrap;
  }

  footer #bottomSection span:nth-child(3) {
    margin-top: -3.35em;
  }

  footer #bottomSection span:nth-child(4) {
    margin-top: -1.78em;
  }

  body #contactInfo {
    padding: 2em 0.8em;
    position: relative;
    top: 0.8em;
    left: 0;
  }

  body #contactInfo h3 {
    font-size: 1.4rem;
  }

  body #contactInfo p {
    font-size: 0.95rem;
  }

  body nav p {
    font-size: 1.4rem;
    text-align: left;
    margin-left: -0.4em;
  }
}
