html {
    --accent-color: rgb(0, 195, 239);  /*rgb(0, 195, 239);*/
    --accent-color-muted: rgba(0, 195, 239, 0.4);

    --breakout-color-muted: rgba(0, 195, 239, 0.3);

/* 
    --main-text-color: #CFCFCF;
    --strong-text-color: #DDDDDD;
    --super-strong-text-color: #EEEEEE; */


    --main-text-color: #DDDDDD;
    --strong-text-color: #E2E2E2;
    --super-strong-text-color: #EEEEEE;

    --content-panel-width: 1000px;
}


* {
    padding: 0;
    margin: 0;
}

a:active
{
    outline: none;
}

a:focus
{
    outline: none;
}

img{
    border:0;
}
/* ------------------------------------------- */

html {
    height: 100%;
}

body {
    font-family: Arial, Helvetica, sans-serif; 
/* mac should use Lucida Grange and PC's should use Verdana */
    font-size: 16px;
    line-height:1.4em;
    color:var(--main-text-color);
    letter-spacing:0.02em;
    
    height: 100%;
}


#idBackFrame {
    margin:0 auto;
    width:100%;
    height: 100%;
    background: #000;
    background-image: linear-gradient(#000, #282828);
    overflow: auto;
    position: relative;
}

/* ------------------------------------------- */

#idContentFrame {
    margin:0 auto;
    width:var(--content-panel-width);
    position:relative;
    padding:20px 0;
}


#idFooterFrame{
    width:100%; 
    padding:0;
    margin-top:70px;    
    padding-top:10px;
    border-top: 3px solid var(--accent-color);
}

#idFooterContentFrame {
    width:var(--content-panel-width);
    margin:0 auto;
    text-align:center;
    margin-top:6px;
    font-size: 12px;
}

@media screen and (max-width: 1000px) {
    #idContentFrame {
        width: auto;
        padding: 20px;
    }
    #idFooterContentFrame {
        width: auto;
    }

}


/* ------------------------------------------- */

h1 {
    font-weight:bold;
    margin-top:20px;
    margin-bottom:20px;
    line-height:1.3em;
    color: var(--accent-color);
    font-size: 1.8em;
}

h2 {
    margin-top:20px;
    margin-bottom:20px;
    line-height:1.3em;
    font-size: 1.4em;
    /* padding-bottom: 10px;
    border-bottom: 3px solid var(--accent-color); */
}


p {
    margin-bottom:10px;   
}

strong {
    color:var(--strong-text-color);
}

a {
    color: var(--main-text-color);
    text-decoration:none;
}

a:hover {
    text-decoration:underline;
}


.highlight{
    background:yellow;
}


.character_bullet {
    text-indent: -2.1em; margin-left: 2.1em;
}









a.fade_link:hover img {
        -moz-opacity:0.70; filter:alpha(opacity=70); opacity:0.70;
}


ol {
    margin-bottom: 20px;
}

ol li {
    margin-left:30px;
    line-height: 1.8em;;
}

.greenTick {
    color: lightgreen;
    margin-right:10px;
}

/* li{
    list-style-type:none;
    padding:0;
    margin:0;
} */


/* ------------------------------------------------------------------------------------ */
.top_banner {
    --nav-selected-bg-color: var(--accent-color-muted);
    --nav-selected-text-color: var(--main-text-color);
    --nav-text-color: var(--main-text-color);
    
    gap: 40px;
    margin-bottom: 30px;
    width: 100%;
    position: absolute;
}
.top_banner_container {
    width:var(--content-panel-width);
    margin:0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    background-color: rgba(0,0,0,0.8);
    position: relative;
}

.nav {
    /* padding-bottom: 20px;
    padding-left: 20px; */
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 30px;
    flex-grow: 1;

    border-bottom: 3px solid var(--accent-color);
    padding-top: 13px;
    padding-bottom: 10px;
    margin-right: 18px;
    margin-left: 8px;

  }
  
  .nav a {
    display: block;
    /* width: 120px; */
    /* height: 30px; */
    line-height: 30px;
    padding: 0 30px;
    padding-top: 2px;
    font-size: 18px;
    color: var(--nav-text-color);
    text-decoration: none;
    text-align: center;
    /* border-radius: 5px; */
  }
 

  .nav a.selected,
  .nav a:hover {
    background-color: var(--nav-selected-bg-color);
    color: var(--nav-selected-text-color);
  }

  .nav_open a.selected,
  .nav_open a:hover {
    color: var(--nav-selected-bg-color);
  }



  .burger,
  .burger_open {
    display: none;
  }
/* - mobile nav -------------------------------------------------------------------------- */
  
  @media screen and (max-width: 1000px) {
    .top_banner_container {
        width: auto;
    }
    .nav {
      display: none;
    }
  
    .burger,
    .burger_open {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
  
      /* border: 1px solid grey; */
      width: 50px;
      height: 50px;
        color: var(--nav-selected-text-color);
      border-radius: 5px;
      margin-right: 20px;
    }
    .burger_open hr {
      display: none;
    }
    .burger_open p {
      font-size: 35px;
      margin-top: 8px;
      font-weight: bold;
      color: #fff;
      padding: 5px;
    }
    .burger hr {
      margin-top: 18%;
      width: 70%;
      height: 3px;
      border: none;
      background-color: #fff;
    }
    .burger p {
      display: none;
    }
    .burger:hover,
    .burger_open:hover {
      background-color: var(--nav-selected-bg-color);
    }
    .burger hr:first-child {
      margin-top: 0%;
    }
  
    .nav_open {
      top: 0;
      left: 0;
      position: absolute;
      width: calc(100% - 100px);
      border: 2px solid grey;
  
      background-color: #000;
      /* box-shadow: 0 2px 5px 2px #00000080; */
    }
    .nav_open a {
      display: block;
      font-size: 2em;
      line-height: 2em;
      margin-left: 40px;
      text-decoration: none;
    }
  
    .nav a {
      display: none;
    }
  }


/* ------------------------------------------------------------------------------------ */


#hero {
    background-attachment: fixed;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    margin-bottom: 40px;
}
@media (pointer:none), (pointer:coarse) {
    #hero {
        background-attachment:scroll;
    }
}

#hero .overlay {
    padding-top: 250px;
    padding-bottom: 250px;
    
    color: #fff;
    text-shadow: 1px 1px 3px #000;
    background-color: rgba(0, 0, 0, 0.3);
}

#hero h1 {
    line-height:1.3em;
    font-size:30px;
    margin-top:20px;
    margin-bottom:40px;
    font-weight:bold;
    color: var(--super-strong-text-color);
}

#hero .hero-container {
    display: flex;
    flex-direction: column;
    align-items:end;
}


#hero .breakout {
    background-color: var(--breakout-color-muted);
    width: 40%;
    padding: 20px;
}
#hero .breakout h1 {
    margin:0;
}

.centered-section {
    padding-right: 6%;
    padding-left: 6%;
    text-align: center;
}



.home #hero {
    background-image: url("/images/boats.png");
}


.home #hero .overlay {
    padding-top: 450px;
    padding-bottom: 0px;
}

.home #hero .breakout {
    margin-top: 40px;
}

.how #hero {
    background-image: url("/images/jpx - waitingroom.png");
}

.why #hero {
    background-image: url("/images/building.png");
}

.contact #hero {
    background-image: url("/images/cnc-machine.png");
}

@media screen and (max-width: 700px) {
    #hero .breakout {
       width: auto;
    }
}

/* ------------------------------------------------------------------------------------ */

.breakout {
    background-color: var(--breakout-color-muted);
    padding: 40px;
}

.breakout h2:last-child {
    margin: 0;
}

.breakout.width-30 {
    width: 30%;
}
.breakout.width-45 {
    width: 45%;
}
@media screen and (max-width: 700px) {
    .breakout.width-30, .breakout.width-45 {
       width: auto;
    }
    .breakout {
        padding: 25px;
    }
}


.two-panel {
    display: flex; 
    flex-direction: row;
    gap: 40px;
}

.photo-panel {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.two-panel .photo-panel {
    width: 35%;
}
.photo-panel.width-45 {
    width: 45%;
}

.two-panel  .text-panel {
    width: 100px; flex-grow: 1;
}

@media screen and (max-width: 700px) {
    .two-panel {
        flex-direction: column;
    }
    .two-panel .photo-panel {
        width: auto;
        height: 400px;
    }
    .photo-panel.width-45 {
        width: auto;
    }
    .two-panel .text-panel {
        width: auto;
    }

}

/* ------------------------------------------------------------------------------------ */


.std_form {
    padding:0px;
}

.std_form p {
    text-align:left;
}

.std_form .element {
    margin-bottom:10px;
}

.std_form label {
    float:left;
    display:block;
    width:100px;
}
.std_form .field {
    float:left;
}


.std_form .field p {
    font-size:10px;
    color:#888;
    margin-bottom:0;
}

.std_form .spacer{
    margin-left:10px;
}

.std_form .radio {
    font-size:12px;
}

.std_form .selection {
    margin-left:15px;
}

.std_form .selection:first-child{
    margin-left:0px;
}

.std_form .selection input {
    margin-right:3px;
}

.std_form .vertical .selection {
    display:block;
    margin-left:0px;
    
}

.main_error_box {
    background:pink;
    color:darkred;
    padding:10px;
    margin-bottom:20px;
}

.std_form .question{
    margin-bottom:5px;
    margin-left:100px;
    margin-top:15px;
}

.element .error {
    color:darkred;
    background-color:pink;
    padding:1px 5px;
    font-size:11px;
}

table.contact{
    font-size:14px;
}

table.contact th{
    padding-bottom:0px;
    vertical-align:top; 
    text-align:left;
}

table.contact td{
    padding-left:15px;
    padding-bottom:0px;
    vertical-align:top;
    text-align:left;
}


