@import url('https://fonts.googleapis.com/css?family=Lato:400');

/* common reset */
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
body { line-height: 1; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
table { border-collapse: collapse; border-spacing: 0; }
/* END: common reset */

/* html, body {
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    overflow: hidden;
    font-family: 'Lato', sans-serif;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.25);
} */
.logo {
  
  height: auto;
  position: absolute;
  top:20px;
  left: 20px;
  z-index: 999;
  max-width: 100px;
  width: 100%;
  margin-left: 0;
}

.logo2 {
  
  height: auto;
  position: absolute;
  top:100px;
  left: 50%;
  margin-left: -110px;
  z-index: 999;
  max-width: 220px;

}


body {
  font-family: 'Lato', sans-serif;
  background: #000033;
 
}
.slidecontainer {
width: 100%; /* Width of the outside container */
text-align: center;
margin: 3px 0;
}

/* .page-content {
  position:absolute;
  z-index: 1;
  
} */
.bg {
  position: absolute;
  top:0;
  left:0;
  bottom:0;
  right: 0;
  background-image:url('./background.jpg');
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2%;
  width:100%;
  height: 100%;
  flex-direction: row;
  z-index: 667;
  pointer-events: all;
}
div.select {
  display: inline-flex;
  align-self: center;
  width: 25%;
  aspect-ratio: 4/3;
  overflow: hidden;
  max-width: 400px;
  border: 4px white solid;
  border-radius: 12px;
  background-size: cover;
  cursor:pointer;
}
.navigation {
  background-image: url('./navigation2.jpg');
  
}		
.trawl {
  background-image: url('./trawl2.jpg');
  
}		
.purse {
  background-image: url('./purse2.jpg');
  
}
div.select p {
  text-decoration: none;
  text-transform: uppercase;
  margin-top:40%;
  color:white;
  width: 100%;
  font-weight: bold;
  text-align: center;
}
.backButton {
  height: 4%;
  width: 4%;
  cursor: pointer;
  pointer-events: all;
  position: fixed;
  right: 60px;
  top: 20px;

}
.is-hidden{
    display: none !important;
    visibility: hidden !important;
}




.naviContainer {
display: flex;
flex-wrap: wrap;
width: 100%;
max-width: 300px;
position: absolute;
right: 3%;
top: 3%;
margin-left: 0px;
font-family: 'Lato', sans-serif;
font-size:  10px;
color: #f7f6e7;
font-weight: bold;
line-height: 25px;
gap:2%;
pointer-events: all;
}
.naviContainer p {
margin:2px 0 0 0;
padding: 0;
}
.full {
flex-grow: 2;
min-width: 100%;

}
.half {
flex-grow: 1;
max-width: 49%; 
}


.button{
  display: block;
  border-radius: 4px;
  /* width: 130px; */
  height: 28px;
  font-size: 14px;
  text-align: center;
  line-height: 28px;
  color: #f7f6e7;
  background-color: rgba(247, 246, 231, .2);
  pointer-events: all;
  cursor: pointer;
}
.button:hover {
  color: #1a4a64;
}
.clicked {
  color: #1a4a64;
  background-color: #f7f6e7;
}


/* Customize the label (the container) */
.checkcontainer {
text-align: left;
display: block;
position: relative;
padding-left: 0px;
margin-bottom: 11px;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
text-align: center;
}



/* Hide the browser's default checkbox */
.checkcontainer input {
position: absolute;
opacity: 0;
cursor: pointer;
height: 0;
width: 0;
}

/* Create a custom checkbox */
.checkmark {
position: absolute;
top: 0;
left: 0;
height: 25px;
width: 25px;
background: rgba(200,200,200,.5);
border-radius: 6px;
border: white 1px solid;
}

/* On mouse-over, add a grey background color */
.checkcontainer:hover input ~ .checkmark {
background: rgba(200,200,200,.5);
}

/* When the checkbox is checked, add a blue background */
.checkcontainer input:checked ~ .checkmark {
background: rgba(200,200,200,.5);
}

/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
content: "";
position: absolute;
display: none;
}

/* Show the checkmark when checked */
.checkcontainer input:checked ~ .checkmark:after {
display: block;
}

/* Style the checkmark/indicator */
.checkcontainer .checkmark:after {
left: 9px;
top: 5px;
width: 5px;
height: 10px;
border: solid white;
border-width: 0 3px 3px 0;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}
.winch {
  display:flex;
  justify-content: space-between;
}
.trawlPosition {
  display: flex;
flex-wrap: wrap;
width: 100%;
max-width: 300px;
position: absolute;
left: 50%;
bottom: 60px;
margin-left: -150px;
font-family: 'Lato', sans-serif;
font-size:  10px;
color: white;
font-weight: bold;
line-height: 25px;
gap:2%;
pointer-events: all
}
.trawlPosition p {
margin:2px 0 0 0;
padding: 0;
}


/* Controller */
#controller, #controller2, #controller3 {
  position: absolute;
  /* background-color: rgba(0,0,0,.3);
  border: 1px solid rgba(255,255,255,0.50);
  border-radius: 4px;
  box-shadow: 4px 4px 4px 4px rgba(0,0,0,.2); */
  color: #ffffff;
  font-size:12px;
  pointer-events: all;
  font-family: 'Lato', sans-serif;
  -webkit-user-select: none; /* Safari */
  -ms-user-select: none; /* IE 10 and IE 11 */
  user-select: none; /* Standard syntax */
}
#controller {
  right: 50px;
  margin-right: 0;
  bottom: 100px;
  width: 240px;
  /* width: 250px; */
  height: 210px;
  
}
#graph {
  height: 100px;
  position: absolute;
  top:50px;
  left: 80px;
  pointer-events: none;
  opacity:.8;
}
#graph-counter {
  text-align: center;
  width: 100px;
  left: 50%;
  margin-left: -50px;
  position: absolute;
  top:30px;
}
#graph-arrow {
  position: absolute;
  z-index: 1;
  height: 100%;
  width: auto;
  transform: rotate(-25deg); 
  -webkit-transform-origin: 0 0;
  -moz-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  -o-transform-origin: 0 0;
  transform-origin: 0 0;
}
#graph-bgr {
  position: absolute;
  z-index: 0;
  height: 100%;
  width: auto;
}
.slidecontainer {
  width: 100%; /* Width of the outside container */
  pointer-events: all;
  position: absolute;
  bottom: 10px;
}


input {
  --c: #D30F32; /* active color */
  --g: 8px; /* the gap */
  --l: 5px; /* line thickness*/
  --s: 20px; /* thumb size*/
  
  width: 180px;
  height: var(--s); /* needed for Firefox*/
  --_c: color-mix(in srgb, var(--c), #000 var(--p,0%));
  -webkit-appearance :none;
  -moz-appearance :none;
  appearance :none;
  background: none;
  cursor: pointer;
  overflow: hidden;
} */

input:focus-visible,
input:hover{
  --p: 25%;
}
input:active,
input:focus-visible{
  --_b: var(--s)
}
/* chromium */
input[type="range" i]::-webkit-slider-thumb{
  height: var(--s);
  aspect-ratio: 1;
  border-radius: 50%;
  box-shadow: 0 0 0 var(--_b,var(--l)) inset var(--_c);
  border-image: linear-gradient(90deg,var(--_c) 50%,#ababab 0) 0 1/calc(50% - var(--l)/2) 100vw/0 calc(100vw + var(--g));
  -webkit-appearance: none;
  appearance: none;
  transition: .3s;
}
/* Firefox */
input[type="range"]::-moz-range-thumb {
  height: var(--s);
  width: var(--s);
  background: none;
  border-radius: 50%;
  box-shadow: 0 0 0 var(--_b,var(--l)) inset var(--_c);
  border-image: linear-gradient(90deg,var(--_c) 50%,#ababab 0) 0 1/calc(50% - var(--l)/2) 100vw/0 calc(100vw + var(--g));
  -moz-appearance: none;
  appearance: none;
  transition: .3s;
}
@supports not (color: color-mix(in srgb,red,red)) {
  input {
    --_c: var(--c);
  }
}

#controller2 {
  left: 50px;
  bottom: 100px;
  width: 120px;
  /* width: 250px; */
  height: 200px;
}
#controller3 {
  right: 50px;
  bottom: 100px; 
  padding: 0 10px 10px 10px;
}
#controller3 img {
  height: 200px;
  width: auto;
  margin: 10px 2px 2px 2px;
  border: 1px solid #ffffff;
  cursor:pointer;
}
#controller3 .is-selected >img {
  border: 1px solid #D30F32;  
}

label.title {
  padding: 10px 0 0 10px;
  display:block;
}

#switch {
  position: absolute;
  left: 158px;
  top: 150px;
  display: none;
}
#birdseye {
  position: absolute;
  left: 142px;
  top: 157px;
  /* display: none; */
}

#setup {
  position: absolute;
  left: 10px;
  
}#beams {
  position: absolute;
  left: 10px;
  
}
#signals {
  position: absolute;
  right: 10px;
  
}
  
.toggle-button{
  position: relative;
  display: inline-block;
  width: 72px;
  height: 24px;
}
.toggle-button input{
  opacity: 0;
  width: 0;
  height: 0;
}
.toggle-button .knob{
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0,0,0,.5);
  transition: .2s;
  border-radius: 32px;
}
.toggle-button .knob:before{
  background-color: #ffffff;
  color: #000000;
  position: absolute;
  font-size:10px;
  font-weight: bold;
  /* content: 'hor'; */
  height: 16px;
  width: 30px;
  left: 4px;
  bottom: 4px;
  transition: .2s;
  border-radius: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#switch .toggle-button .knob:before{
  content: 'hor';
}
#switch .toggle-button input:checked + .knob:before{
  content: 'spt';
}
#birdseye .toggle-button .knob:before{
  content: 'cam';
}
#birdseye .toggle-button input:checked + .knob:before{
  content: 'brd';
}
.toggle-button input:checked + .knob{
  background-color: #000000;
}
.toggle-button input:focus + .knob{
  box-shadow: 0 0 1px #2196F3;
}
.toggle-button input:checked + .knob:before{
  color: #000000;
  /* content: 'spt'; */
  background-color: #ffffff;
  -webkit-transform: translateX(34px);
  -ms-transform: translateX(34px);
  transform: translateX(34px);
}
  
.radio-button{
  width: 100%;
  display:flex;
  align-items: center;
  justify-content: flex-end;
  flex-direction: row-reverse;
  margin: 12px;
  font-size: 10px;
  cursor: pointer;
  pointer-events: all;
}
.radio-button input{
  display:none;
  width: 0;
  height: 0;
}
.radio-button span{
  width: 24px;
  height: 24px;
  position: relative;
  margin-right: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: #000000b0;
}
.radio-button:has(input:disabled) {
  display:none;
}
.radio-button input:checked + span:after{
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: #ffffffd6;
}
.radio-button input:checked + span {
  background-color: #00000091;
}
.radio-button input:disabled + span {
  background-color: #e5e5e5;
}
.radio-button span:before{
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  opacity: 0;
  border-radius: 50%;
  background-color: #2166a8;
}
.radio-button input:checked + span:before {
  animation: growAndFade 0.2s ease-out;
} 

input.radio{pointer-events: all;}
@keyframes growAndFade {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.5;
    transform: scale(1.5);
  }
  100% {
    opacity: 0;
    transform: scale(2);
  }
}
  


/* EO: Controller */




















@media only screen and (max-width: 600px) {
  .naviContainer {
    top: 75px;
    width: 300px;
    left: 50%;
    margin-left: -150px;
  }
  .logo {
    
    top: 25px;
    left: 50%;

    width: 100px;
    margin-left: -50px;
}
   .backButton{
    height: 10%;
    width: 10%;
    right: 20px;

   } 

   #controller {
    right: 50%;
    margin-right: -120px;
    bottom:40px;
    /* width: 250px; */
    height: 200px;
    
  }
   #controller2 {
    display: none;
    visibility: hidden;
   }
    
}