@charset "utf-8";
/* CSS Document */

/*---------TOC-------------

1 DEFAULTS
2 RAW ELEMENTS
  2.1 HEADER
  2.2 FOOTER
  2.3
  2.4 
  2.5 numbered lists (publications)
  2.6 forms
3 CLASS DEFINITIONS
4 ID DEFINITIONS
  4.1 IMG DECLARATIONS
5 MODS
6 MEDIA QUERIES

--------------------------*/

/*--------------- 2 RAW ELEMENTS -----------*/

/*2.1 HEADER*/

header {
  position: fixed;
  background-color: var(--header-color);
  height: 6%;
  width: 100%;
  transition: height 0.3s;

  
  /*border-width: 0 0 2px 0;*/
  /*border-color: var(--main-text-color);*/
  /*border-style: solid;*/
}

header:hover {
  height: 8%;
  transition: height 0.3s;
}

h1 {
  font-size: 5vmin;
  line-height: 1.2;
  font-family: 'HankenBook';
  font-weight: normal;
  font-style: normal;
  text-transform: uppercase;
  letter-spacing: 0.05vmin;
  color: var(--main-blue);
}

h2 {
  font-size: 3vmin;
  font-family: 'RoundoRegular'; 
   font-weight: normal; 
   font-style: normal; 
   text-transform: uppercase;
}

h3 {
  font-size: 2vmin;
  font-family: 'RoundoRegular';
  letter-spacing: 0.1vmin;
}

hr {
  height: 2px;
  border: 0;
  background-color: var(--main-text-color);
  margin: 1vh 0 3vh;
}

nav, footer .wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
}

/*2.2 FOOTER*/

footer {
  position: fixed;
  width: 100%;
  height: 3%;
  background-color: black;
  color: white;
  transition: height 0.3s;
  bottom: 0;
}

footer:hover {
  height: 5%;
  transition: height 0.3s;
}

/*2.3 LINKS*/

a {
  text-decoration: none;
}

nav a {
  color: white;
  font-family: 'RoundoMedium';
  padding-bottom: 4.5px;
  transition: color 0.3s ease-in-out;
}

nav a:hover {
  color: var(--main-blue);
  transition: color 0.3s ease-in-out;
}

.fa {
  color: white;
}

/*2.4 LIST*/

nav ul {
  width: 80%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

ul li {
  display: inline-block;
}

nav li {
  margin-left: 1vh;
}

/*testimonial,customers list*/

#testimonials-main h2 {
  margin: 3vh auto 2vh;
}

#testimonials-main li, #customers-main li {
  display: block;
  padding: 0.5vmin;
}

#testimonials-main li:nth-child(odd), #customers-main li:nth-child(odd) {
  background-color: rgba(51,51,51,0.2);
}

#testimonials-main ul li div:nth-child(2) {
  margin-left: 2vmin;
  margin-top: 1vmin;
  font-style: italic;
}

/*2.5 ordered list (publications)*/

ol {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-content: flex-start;
  height: 100%;
  font-size: 1.5vmin;
  align-content: space-between;
  justify-content: flex-start;
}

ol li {
  /*padding: 0.5vmin;*/
  /*width: 48%;*/
  margin-bottom: 1vmin;
  /*background-color: rgba(255, 255, 255, 0.1);*/
}

ol li div:first-child {
  font-weight: bold;
}

ol li div:nth-child(2) {
  margin-left: 2vmin;
}

/*2.6 FORM*/

input:focus,
select:focus,
textarea:focus,
button:focus {
    outline: none;
}

.form-item, .form-item-inline {
  margin: 2vh auto;
  display: flex;
  align-items: center;
}

.form-item-inline {
  display: inline-block;
  width: 20%;
}

.form-item label {
  width: 10%;
}

.form-item input[type="text"], .form-item input[type="email"], .form-item textarea {
  width: 50%;
  height: 3%;
  border-color: black;
  border-width: 0 0 1px 0;
}

#form-input-box-section {
  margin-bottom: 5%;
}

#form-input-box-section .form-item {
  justify-content: left;
}

.form-item textarea {
  display: block;
  border-width: 1px;
  resize: none;
}

#form-purpose-section {
  margin-bottom: 3vh;
}

#form-purpose-section label {
  width: 60%;
}

input[type="radio"] {
    display: inline;
    margin-right: 5%;
  } /*radio buttons aren't block*/

#contact-main h3 {
  margin-bottom: 2vh;
}

input.button {
  border: 0;
  cursor: pointer;
}



/*--------------- 3 CLASS DEFINITIONS -----------*/

.wrapper {
  margin: 0 auto;
  width: 80%;  
  display: flex;
  align-items: center;
  height: 100%;
}

.button {
  display: inline-block;
  padding: 1vmin 2vmin 0.75vmin;
  min-width: 10vmin;
  color: var(--reverse-text-color);
  background-color: var(--button-color);
  border-radius: 500px;

  font-family: 'RoundoRegular'; 
  font-weight: normal; 
  font-style: normal; 
  text-transform: uppercase;

  transition: 0.3s;
}

.button:hover {
  color: var(--main-text-color);
  background-color:  #E0E0E0;
}

.tidbit { 
   font-family: 'RoundoRegular'; 
   font-weight: normal; 
   font-style: normal; 
}
/*
.description-text {
  margin-top: 3%;
}*/

/*--------------- 4 ID DEFINITIONS -----------*/



#logo-font {
  font-family: 'opf', 'Arial', sans-serif;
  color: white;
}

/*#logo-font:hover {
  color: black;
}*/

#logo-area {
  display: flex;
  align-items: center;
  justify-content: left;
  height: 100%;
  width: 30%;
}

#logo-area p {
  font-size: 3.2vmin;
  margin-left: 5px;
}

#logo-div {
  background: url('../img/logo.svg') center/contain no-repeat;
  height: 100%;
  width: 40px;

}

#logo-area:hover #logo-div {
  -webkit-animation:spin 0.6s ease-in-out;
  -moz-animation:spin 0.6s ease-in-out;
  animation:spin 0.6s ease-in-out;
}

@-moz-keyframes spin { 100% { -moz-transform: rotate(360deg); } }
@-webkit-keyframes spin { 100% { -webkit-transform: rotate(360deg); } }
@keyframes spin { 100% { -webkit-transform: rotate(360deg); transform:rotate(360deg); } }

.main-window {
  width: 100%;
  color: var(--main-text-color);
}

.main-section {
  width: 100%;
  margin: 0 auto;
  padding: 10% 0;
 }

.product-window {
  height: 75%; 
  width: 70%;
  padding: 3% 0%;
  /*background-color: rgba(var(--main-bg-color),0.7);*/

  border-radius: 0.5vh;
}

.second-window {
  height: 75%;
  width: 20%;
  padding: 3%;
  /*background-color: rgba(var(--main-bg-color),0.6);*/

  border-radius: 0.5vh;
}

#customers {
  background-color: var(--header-color);
  color: white;
  height: 24vh;
}

#customers .wrapper {
  display: flex;
  height: 100%;
  align-items: center;
  justify-content: space-between;
}

#customers .wrapper > div:first-child {
  width: 23%;
}
#customers .wrapper > div:nth-child(2) {
  width: 60%;
}
#customers .wrapper > div:last-child {
  width: 14%;
}
/*#list-customers {
  width: 75%;
}*/
#list-customers ul {
  display: flex;
  width: 100%;
}
/*#list-customers ul li {
  width: 20%;
}*/

#list-customers ul li img {
  width: 100%;
  height: 100%;
}

/*products-------------------------------------*/
#product-main > div { /*set height so the pub columns can wrap xzli*/
  height: 80%;
}

#products-section .wrapper {
  display: flex;
  justify-content: space-around;
}

.product-link {
  color: var(--main-text-color);
}

#product-name li {
  display: flex;
  align-items: center;  
  justify-content: space-between; 
  padding: 1%;
  transition: background-color 0.5s;
  width: 100%;
}

#product-name li:hover {
  background-color: rgba(51,51,51,0.2);
}

#product-name li > a:hover {
  color: var(--main-blue);
}


#product-description {
  width: 50%;
}

/*-----------publications--------------*/

#publications-main > div { /*set height so the pub columns can wrap*/
  height: 85%;
}

/*------------testimonails-----------------------*/

#testimonials-main {
  margin-bottom: 5vw;
}

/*4.1 IMG DECLARATIONS*/

.product-screenshot {
  max-height: 60%;  
  max-width: 100%;
  display: block;
  margin: 5% auto;
}

.arrow-anchor {
  height: 100%;
}

.arrow-button {
  opacity: 0.5;
  height: 100%;
}

.flip {
  transform: scaleX(-1);
}

/*4.2 POSITIONING*/

/*#hero .tidbit {
  margin-top: 3%;
}

#hero .button {
  margin-top: 3%;
}*/

#hero {
  height: 76vh;
}

/*4.3 CUSTOMER ICON HOVER*/

.tooltip {
    position: relative;
}

/* Tooltip text */
.tooltip .tooltiptext {
    visibility: hidden;
    background-color: black;
    color: #fff;
    width: 15vw;
    padding: 5px;
    border-radius: 1vmin;
    /* Position the tooltip text - see examples below! */
    position: absolute;
    left: 2vw;
    top: 10vh;
    z-index: 1000;
}

/* Show the tooltip text when you mouse over the tooltip container */
.tooltip:hover .tooltiptext {
    visibility: visible;
}

.product-description-box > p, .product-description-box > div {
  margin-top: 3%;
}

.product-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 0 0 5vh;
  height: 5vh;
}

.product-nav a {
  margin-right: 1vw;
}

.push-top {
  margin-top: 3%;
}

.push-top-plus {
  margin-top: 6%;
}

#bg-pattern-div {
  position: fixed;
  width: 100vw;
  height: 100vh;
  /*background: url('../img/logo.svg') center/contain no-repeat;*/
  z-index: -20;
}

.background-main-img {
  position: absolute;
  right: 0vw;
  bottom: 0vh;
  height: 100vh;
  opacity: 0.1;

  -webkit-animation:spin 100s linear infinite;
  -moz-animation:spin 100s linear infinite;
  animation:spin 100s linear infinite;
}

/*5 MODS -------------------------------------------------------------------------------------------------------------*/

/*Gradient Animation*/
/*.gradient-animation {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: #836997;
}*/

/*social media icons*/
.fa {
  opacity: 1;
  transition: opacity 0.3s;
}

.fa:hover {
  opacity: .6;
}

/*products page functionality*/
.all-products {
  color: green;
}

.JECPSVAT {
  color: blue;
}

.all-products:after {
  content: 'addition';
}

.product-description-box {
  height: 100%;
  width: 100%;
  display: block;
}

.hidden {
  display: none;
}

.reveal {
  display: block;
}

/*.all-products::after {
    content: "blah blah blah";
}*/

/*------------------5 FULL PAGE MODS----------------------*/

/*------------------6 MEDIA QUERIES----------------------*/

@media all and (max-width: 800px) {
  .wrapper {
    width: 80%;
  }
}

@media all and (max-width: 500px) {
  .wrapper {
    width: 90%;
  }
}
