html {

    --accent-color: rgb(0, 114, 170);
    --accent-color-muted: rgba(0, 114, 170, 0.4);
    --breakout-color-muted: rgba(0, 114, 170, 0.3);
    --accent-color-very-muted: rgba(0, 114, 170, 0.15);

    --option-background-color: #FFFFFF;

    --main-text-color: #222222;
    --strong-text-color: #111111;
    --super-strong-text-color: #000000;



    --header-background-color: rgba(255,255,255,0.8);
    --main-background-color: rgba(255,255,255);
    --main-fade_to-background-color: rgb(210, 210, 210);


    --nav-burger-line-color: #000000;
    --nav-burger-menu-bg-color: #FFFFFF;
}

@media (prefers-color-scheme: dark) {
  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);
    --accent-color-very-muted: rgba(0, 195, 239, 0.15);

    --option-background-color: #000000;

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

    --header-background-color: rgba(0,0,0,0.8);
    --main-background-color: rgba(0,0,0);
    --main-fade_to-background-color: #282828;

    --nav-burger-line-color: #FFFFFF;
    --nav-burger-menu-bg-color: #000000;

  }
}


html {

    --content-panel-width: 1200px;
    --over-photo-text-color: #FFFFFF;
}


.showOnDark {
    display: none;
}
.showOnLight {
        display: unset;
    }
@media (prefers-color-scheme: dark) {
    .showOnLight {
        display: none;
    }
    .showOnDark {
        display: unset;
    }
}


* {
    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: var(--main-background-color);
    background-image: linear-gradient(var(--main-background-color), var(--main-fade_to-background-color));
    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: 1200px) {
    #idContentFrame {
        width: auto;
        padding: 20px;
    }
    #idFooterContentFrame {
        width: auto;
    }

}


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

h1 {
    font-weight:bold;
    margin-top:80px;
    margin-bottom:20px;
    line-height:1.3em;
    color: var(--accent-color);
    font-size: 2em;
    text-align: center;
    /* background-color: var(--accent-color-very-muted); */
    border-bottom: 2px solid var(--accent-color-muted);
}
h1:first-child {
    margin-top:0px;
}

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); */
}

h3 {
    margin-top:15px;
    margin-bottom:15px;
    line-height:1.3em;
    font-size: 1.2em;
}


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;
    background-color: var(--header-background-color);

}
.top_banner_container {
    width:var(--content-panel-width);
    margin:0 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    position: relative;
    padding-top: 10px;
}

.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: 1200px) {
    .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: var(--nav-burger-line-color);
      padding: 5px;
    }
    .burger hr {
      margin-top: 18%;
      width: 70%;
      height: 3px;
      border: none;
      background-color: var(--nav-burger-line-color);
    }
    .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: var(--nav-burger-menu-bg-color);
      /* 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(--over-photo-text-color);
    background-color: unset;
    border: none;
}

#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 {
    width: 100%;
}
.centered-section h1 {
    padding-right: 6%;
    padding-left: 6%;
    text-align: center;
}


.home #hero {
    background-image: url("/images/landing page.jpg");
    background-position: 70% center;
}


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

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

.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;
    }
    .home #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;
    align-items: center;;
}

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

.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: 100%;
        height: 400px;
    }
    .two-panel .photo-panel:first-child {
        order: 1
    }

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

}
/* ------------------------------------------------------------------------------------ */

.options-section {
    display: flex; 
    flex-direction: row;
    gap: 20px;
    flex-wrap: nowrap;
    margin-top: 40px;
    margin-bottom: 40px;
}

.option-panel {
    padding: 20px;
    background-color: var(--option-background-color);
    /* border-radius: 10px; */
    flex-grow:1;
    width: 100px;
    box-shadow: #22222233 0px 0px 10px 0px;
}

.option-panel h3 {
    margin-top:0;
    color: var(--accent-color);
}

.option-panel .photo-panel {
    height: 200px;
    margin-bottom: 15px;
}
@media screen and (max-width: 700px) {
   .options-section {
        flex-direction: column;
    }
    .options-section .option-panel {
        width: auto;
        flex-grow: unset;
    }
}  

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

.sectors-section {
    display: flex; 
    flex-direction: row;
    gap: 20px;
    flex-wrap: nowrap;
    margin-top: 40px;
    margin-bottom: 40px;
}

.sectors-panel {
    padding: 20px;
    background-color: var(--option-background-color);
    /* border-radius: 10px; */
    flex-grow:1;
    width: 20px;
    box-shadow: #22222233 0px 0px 10px 0px;
}
.sectors-panel img {
    width: 100%;
}
.sectors-panel h3 {
    margin-top:0;
    text-align: center;
}

@media screen and (max-width: 700px) {
    .sectors-section {
        margin-top: 20px;
        margin-bottom: 20px;
    }
    .sectors-section .sectors-panel {
        background-color: unset;
        box-shadow: none;
        padding: 0px;
    }
    .sectors-panel h3 {
        font-size: 1em;
    }
}  
@media screen and (max-width: 400px) {
    .sectors-panel h3 {
        font-size: 0.9em;
    }
}

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

.standalone-image {
    width: 50%;
    margin-left:25%;
}
@media screen and (max-width: 700px) {
   .standalone-image {
        width: 100%;
        margin-left:0;
    }
} 
/* ------------------------------------------------------------------------------------ */

.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;
}


