body {
  margin: 0;
  padding: 0;
}

header {
  background-color: #1A106A;
  color: #fff;
  padding: 10px;
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 1000;
}

/* 
#header{
  background-color: #1b122b;
  color: white;
 /* height: 80px;
  border-bottom: solid 1px rgba(255, 255, 255, 0.3);
  position: fixed;
  top: 0;
  width: 100%;
  margin-bottom: 80px;
  z-index: 1;
} */
/* changes color of links to white */
/* a{
  color: white;
}
.card{
  background-color: yellow;
} */
/* adds extra margin on the top */
/* #myLogo{
  margin-top: 50px;
} */

/* Style for logo in navbar */
/* .logo{
  float: left;
  color: #fff;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none; /* as it is a link 
  font-size: 22px;
} */
/* style for navbar menu options */
/* .options{
  float: right;
  color: rgb(3, 3, 3);
  text-align: center;
  padding: 13px 16px;
  text-decoration: none;
  font-size: 22px;
  margin-right: 15px;
  background-color: white;

} */

/* style added to an avtive tab in the navbar */
/* .active{
  border-radius: 5px;
  background-color: rgba(255, 255, 255, 0.1);
}
 */
/* sthyle for the body of the document */
/* body{
 
  margin: 0px 0px;
  background-color: ffffff;
  background-position: center center;
   background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed; 
  font-family: fantasy;
  overflow-x: hidden;


} */


/* style for all buttons in the project */

.center-cipher {
  margin: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
button{
  font-family: 'Times New Roman', Times, serif;
  outline: none;
  position: relative;
  display: block;
  background: #ccc;
  color: rgb(8, 8, 8);
  height: 45px;
  width: 150px;
  padding: 10px;
  border-radius: 5px;
  text-align: center;
  font-size: 20px;
  display: inline-block;
  border: 3px solid rgb(8, 8, 8);
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  font-weight: bold;
  box-shadow:2px 2px 5px 1px rgb(2, 92, 99) inset;
 
}

/* additional margin for Enigma button */
.enigmaButton{
  margin:70px 5px 0px 5px;
}

/* hover effect for button */
button:hover{
 
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
  
  
 
}

/* acrive effect for button */
button:active{
  
  box-shadow: none;
}
/* additional margins for buttons in polyalphabetic and zip ciphers */
.polyButton{
  margin:33px 5px 0px 5px;
}

/* style for all select controls */
select{
  background-color: #231a6f;
  color: white;
  outline: none;
  font-size: 15px;
  border: 1px solid rgba(255, 255, 255, 0.6);
  
}

/* increased size for the description of rotor setting */
/* .rotorSet{
  font-size: 20px;
} */

/* style for title of each cipher page */
/* .title{
  text-align: center;
  margin-bottom: 75px;
  font-size: 20px;
  letter-spacing: 4px;
  text-shadow: 3px 3px rgba(255, 255, 255, 0.2);
  margin-top: 0px;
  color: white;
  

}
.title h1 span{
  background-color: rgba(8, 1, 51, 0.753);
  font-family: Georgia, 'Times New Roman', Times, serif;
  
} */
/* used for animating titles in cipher pages */
/* h1{
  -webkit-transition: all 600ms cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition: all 2s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
 */
/*information button*/

#information{
  position: fixed;
  float: left;
  bottom: 5%;
  width: 300px;
  box-shadow: none;
  border: none;
  height: 45px;
  text-align: center;
border-top-right-radius: 50%;
border-bottom-right-radius: 50%;
font-size: 18px;
background-color: rgb(7, 2, 56);
color: blanchedalmond;
border: 2px solid white;
border-left: 4px solid black;
border-right: 30px double rgb(209, 206, 206);
}
#instructions{
  position: fixed;
  right: 0%;
  bottom: 5%;
  width: 300px;
  box-shadow: none;
  border: none;
  border-radius: none;
  height: 45px;
  text-align: center;
  background-color: rgb(7, 2, 56);
color: blanchedalmond;
border: 2px solid white;
border-right: 4px solid black;
border-top-left-radius: 50%;
border-bottom-left-radius: 50%;
border-left: 30px double rgb(184, 182, 182);

font-size: 18px;
}
@media (max-width: 850px) {
  #information{
    width: 100px;
    font-size: 9px;
    border-right: 10px double rgb(209, 206, 206);

  }
  #instructions{
    width: 100px;
    left: 0%;
    bottom: 15%;
    font-size: 9px;
    border: 2px solid white;
    border-top-right-radius: 50%;
border-bottom-right-radius: 50%;
border-left: 4px solid black;
border-right: 10px double rgb(209, 206, 206);
border-top-left-radius: 0%;
border-bottom-left-radius: 0%;

  }
  #myinformation{
    width: 50px;
  }
  
}

#myinformation{
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 1; /* Sit on top */
   /* Location of the box */
  left: 0;
  top: 0;
   /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: rgb(0,0,0); /* Fallback color */
  background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
  animation-name: example;
  animation-duration: 3s;  
color: black;
  animation-fill-mode: both;
  text-align: left;
}

#myinstructions{
 
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 1; /* Sit on top */
   /* Location of the box */
  right: 0;
  top: 0;
   /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: rgb(0,0,0); /* Fallback color */
  background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
  animation-name: example1;
  animation-duration: 3s;  
  animation-fill-mode: both;
  text-align: left;
  color: black;
}
@keyframes example {
  from {top: 0px; background-color: rgb(30, 1, 97); width: 0%;border-top-right-radius: 15px; border: 3px solid black; }
  to {top: 220px; background-color: rgb(144, 226, 247);width: 370px;border-top-right-radius: 15px;border-bottom-right-radius:15px; border: 3px solid black;}
}
@keyframes example1 {
  from {top: 0px; background-color: rgb(30, 1, 97); width: 0%;border-top-left-radius: 15px; border: 3px solid black; }
  to {top: 220px; background-color: rgb(152, 232, 252);width: 370px;border-top-left-radius: 15px;border-bottom-left-radius:15px; border: 3px solid black;}
}
.information-content{
  top: 0%;
}
div#myinstructions.instructions_content{
  padding: 10px 10px 10px;
  font-family: 'Times New Roman', Times, serif;
  color: black;
}
div#myinformation.information_content{
  padding: 10px 10px 10px;
  width: 10px;
  font-family: 'Times New Roman', Times, serif;
  color: black;

}
/* used for animating titles in cipher pages */
.outsideScreen{
  transform: translateX(-80%);

}


/* centers controls in their container and adds margin at the top */
.inOut{
 display: flex;
  justify-content: center;
  margin-top: 20px;
}

/* style for all textareas used in the project */
textarea{
  color: white;
  background-color: rgba(247, 247, 248, 0.959);
  padding: 10px;
  border-radius: 5px;
  border: 4px outset rgba(255, 255, 255, 0.6);
  font-size: 20px;
  border-radius: 15px;
  width: 30%;
  outline: none;
  background-color:rgb(1, 37, 78);
  height: 300px;
  box-shadow:20px 20px 50px 10px rgb(8, 8, 8) inset;
  display: inline-block;
  
}
@media (max-width: 850px) {
  textarea{
    width: 100%;
  }
  .inOut{
    display: inline-table;
     justify-content: center;
     margin-top: 20px;
   }
 
}
@media (min-width: 851px)
{
  .textleft{
    margin-right: 100px;
  }
  .textright{
    margin-left: 100px;
  }
}


/* class adding extra margin */
.extraMargin{
  margin-top: 70px;
}

/* a class dividing a containter into 2 sections used in cipher pages */
/*.wrapper{
  display: grid;
  grid-template-columns: 2fr 1fr;
}*/

/* extra margin for cipher description */
.description{
  margin-right: 50px;
}

/* style for all inputs used in the project */
/* input{
  color: rgb(10, 10, 10);
  background-color: white;
  border-radius: 5px;
  outline: none;
  font-size: 20px;
  border: 2px solid rgba(7, 7, 7, 0.979);
  width: 300px;
  padding: 5px;
  
} */

/* footer styling */
.footer {
  background-color: #111;
  overflow: hidden;
  position: fixed;
  bottom: 0;
  width: 100%;
  height: 65px;

}

/* animation for hovering over manu options in the navbar */
a.options:hover{
  border-radius: 5px;
  background-color: rgba(255, 255, 255, 0.1);
  transition-duration: 1s;
}

/* underline effect for a span opening a modal */
.underlined{
  text-decoration: underline;
}

/* overwrites the inherited text color from white to black. used in modal */
p a{
  color: black;
}

/* style for animated logo */
.fly-in-text{
  list-style: none;
  position: absolute;
  left: 50%;
  top: 40%;
  transform: translateX(-50%) translateY(-50%);
}
/* style for animated logo  */
.fly-in-text li{
  display: inline-block;
  font-size: 100px;
  text-shadow: 3px 3px rgba(255, 255, 255, 0.2);
  opacity: 1.0;
  transition: all 2.5s ease;
}


/* a series of locations for the animated logo */
/* .fly-in-text.hidden li:nth-child(1){
  transform: translateX(-200%) translateY(-200%) rotate(270deg);
  opacity: 0.0;

}
.fly-in-text.hidden li:nth-child(2){
  transform: translateX(20%) translateY(100%) rotate(-270deg);
  opacity: 0.0;
}
.fly-in-text.hidden li:nth-child(3){
  transform: translateX(-150%) translateY(-80%) rotate(220deg);
  opacity: 0.0;
}
.fly-in-text.hidden li:nth-child(4){
  transform: translateX(10%) translateY(-200%) rotate(300deg);
  opacity: 0.0;
}
.fly-in-text.hidden li:nth-child(5){
  transform: translateX(-300%) translateY(200%) rotate(-250deg);
  opacity: 0.0;
}
.fly-in-text.hidden li:nth-child(6){
  transform: translateX(20%) translateY(-60%) rotate(220deg);
  opacity: 0.0;
}
.fly-in-text.hidden li:nth-child(7){
  transform: translateX(30%) translateY(200%)rotate(270deg);
  opacity: 0.0;
}
.fly-in-text.hidden li:nth-child(8){
  transform:  translateX(-80%) translateY(100%) rotate(-170deg);
  opacity: 0.0;
} */

/* adds extra margin to M letter in logo */
#mInLogo{
  margin-left: 40px;
}
/* style for the text in the index page. used in animation */
.indexText{
  transition: all 4.5s ease;
  margin-top: 450px;
  margin-left: 10%;
  margin-right: 10%;
  font-size: 20px;
}

/* used in animation  */
.invisible{
  opacity: 0.0;
}


/* style for modals */
.modal {
  display: none; /* Hidden by default */
  position: fixed;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0,0,0,0.4);
  transform: translateY(-11%);
}
/* The Modal Example for design document */
.modalExample {

  position: fixed;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0,0,0,0.4);
  transform: translateY(-11%);
}

/* Modal Content/Box */
.modal-content {
  background-color: #fefefe;
  color: black;
  margin: 15% auto; /* 15% from the top and centered */
  padding: 20px;
  border: 1px solid #888;
  width: 80%; /* Could be more or less, depending on screen size */
}

/* The Close Button */
.close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
  top: 0;
}
.close1{
float: right;
font-size: 30px;
right: 0;
position: absolute;
top: 0;
padding: 3px;


}
.close2{
  float: left;
  font-size: 30px;
  left: 0;
position: absolute;
top: 0;
padding: 3px;
  
  }

.close:hover,
.close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}



/*NEW*/
* {
  box-sizing: border-box;
}

.flex-container {
  display: flex;
  flex-direction: row;
  font-size: 30px;
  text-align: center;
  margin-top: 15%;
}

.flex-item-left {
  background-color: #04040a;
  padding: 10px;
  flex: 50%;
  margin-right: 150px;
  font-size: 20px;
  font-family: 'Times New Roman', Times, serif;
  color: rgb(255, 254, 254);
  padding-right: 70px;
  padding-top: 60px;
  padding-bottom: 40px;
  border-top-right-radius: 50%;
  border-bottom-right-radius: 50%;
  border: 1.5px solid white;
  border-left: 1.5px solid black;
 
}

.flex-item-left p{
text-align: center;
 position: relative;
 word-wrap: break-word;
}

.text-align{
	/* vertical centering technique */
	position : relative;
  border-radius: 50%;
  float: left;
  margin-left: 0px;
  padding: 0px;

}


.flex-item-right {
  background-color: #04040a;
  padding: 15px;
  flex: 50%;
  margin-left: 150px;
  font-size: 20px;
  font-family: 'Times New Roman', Times, serif;
  color: rgb(248, 248, 248);
  padding-left: 70px;
  padding-top: 60px;
  padding-bottom: 40px;
  border-top-left-radius: 50%;
  border-bottom-left-radius: 50%;
  border: 1.5px solid white;
  border-right: 1.5px solid black;
  
}
.flex-item-right p{
  text-align: center;
   position: relative;
   word-wrap: break-word;
  }

/* Responsive layout - makes a one column-layout instead of two-column layout */
@media (max-width: 850px) {
  .flex-container {
    flex-direction: column;
  }
  .flex-item-left {
    margin-right: 0px;
    font-size: medium;
  }
  .flex-item-right {
    margin-left: 0px;
    font-size: medium;
  }
}
.mybutton{
  top: 20%;
  height: 90px;
  width: 300px;
  font-family: Georgia, 'Times New Roman', Times, serif;
  background-color: rgb(32, 2, 80);
  box-shadow: 0px 0px rgba(0, 0,0, 0);
  font-size: large;
  padding: 5px;
  margin-left: 10%;
  margin-right: 10%;
  border-radius: 10000px/9000px;
  border-color: white;
  color: turquoise;
  cursor: pointer;
}
.mybutton:hover{
  top: 20%;
  box-shadow: 0px 0px rgba(0, 0,0, 0);
  background-color: rgba(3, 3, 100, 0.664);
  color: rgb(255, 255, 255);

 

}
/* acrive effect for button */
.mybutton:active{
  top: 20%;
}


/*CIPHER.HTML CSS*/
.btn-group-ciphers{
 
/*   width: 50%;
  padding: 10px; */
  text-align: center;
  align-content: center;
  align-items: center;
}
.btn-group-ciphers .ciphers_button{
  line-height: 1.5;
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;

}
.btn-group-ciphers .ciphers_button:hover,.btn-group-ciphers .ciphers_button:focus, .btn-group-ciphers .ciphers_button:active{
  -webkit-transform: scale(1.1) rotate(4deg);
  transform: scale(1.1) rotate(4deg);
  background-color: #231a6f;
  color: white;
  border: 1px solid white;
}
.ciphers_button{
  background-color: #ccc;
  color: black;
  width: 350px;
  height: 60px;
  box-shadow: 0px 0px rgba(0, 0,0, 0);
  font-size: 20px;
  
  border: 3px solid black;
  
}
@media (max-width: 850px) {
  div.btn-group-ciphers {
  
    position: absolute;
    width: 0px 0px;
    vertical-align: middle;
    display: inline-block;
    left: 15%;
    
  }
  .ciphers_button{
    width: 250px;
    font-size: 15px;
  }
}

