/* 
   IMPORTANT NOTICE
   This HTML5/CSS layout is COPYRIGHT 2012-2018 Design215 Inc. 
   
   It MAY NOT be copied or used for any other web site without the express
   written permission of Design215 Inc. 954-630-3695 www.design215.com

   Design215.com HTML5 stylesheet 
   
   "Design215 V4" responsive HTML5 site, 08.03.2020
   
   Container layout of each page:

   body
     #pagehead
       .navbar
       .navlinks
       .navlinks2
     #menu1
     #menu2
     #menu3...
     #container
       #pagebody
         #titlebar
         #contentbg
           #contentbox
             #contenthead
             .L_xxlarge (or other column classes)
             .minheight
             .R_xxsmall (or other column classes)
             .xclearline
           #endcap
     #footer
      
   -----------------------------------------------------------------------------

   
   Page Defaults and CSS Fixes
   ----------------------------------------------------------------------------- 
*/
html {
  line-height: 1.15; 
  -webkit-text-size-adjust: 100%; 
}
html,body {
  text-align:center; margin:0; padding:0; height:100%;
  box-sizing:border-box;
}

::-moz-selection {
  background: #222; color:#ffffcc;
  text-shadow: none;
}
::selection {
  background: #222; color:#ffffcc;
  text-shadow: none;
}

/*
   Fonts
   ----------------------------------------------------------------------------- 
   Define all fonts for the entire site in this section. 

*/
body {
  font-family:'PT Sans',verdana,helvetica,sans-serif; font-size:12px; color:#222;
  background:#fff;
}
p,dl,ul,ol,table td,pre.p2,.xtitle,div.navlinks {
  font-family:'PT Sans',verdana,helvetica,sans-serif; font-size:16px; color:#222;
}
p {
  font-family:'PT Sans',verdana,helvetica,sans-serif; line-height:120%;
  margin:0 10px 0 6px; padding:0;
}
p.p1 {
  margin:4px; font-size:12px; color:#222;
}
p.p2 {
  font-family:'PT Sans',verdana,helvetica,sans-serif; font-size:14px; color:#222; 
  line-height:120%;
  margin:4px 6px 4px 6px; padding:0;
}
p.p4,
ul li,
dl.alist dt {
  font-family:'PT Sans',verdana,helvetica,sans-serif; font-size:16px; color:#222;
  line-height:130%; letter-spacing:1px; 
  margin:2px 2px 2px 6px;
}  
p.p5,
blockquote,
.blogpost p {
  font-family:'PT Sans',verdana,helvetica,sans-serif; font-size:16px; color:#222;
  line-height:140%; letter-spacing:1px;
  margin:2px 2px 2px 6px; padding:0;
} 
h3,
span.h3,
span.h4 {
  font-family:'Josefin Sans',arial,helvetica,sans-serif; 
  font-size:18px; color:#000; font-weight:normal;
  margin:2px 2px 4px 6px; padding:0;
  text-transform:uppercase; letter-spacing:1px;
}
  h3 a:link,
  h3 a:visited,
  h3 a:hover {
    font-weight:normal;
  }
  span.h3 {
    display:block;
  }
  #footer h3 {
    color:#fff;
  }

h2 {
  font-family:'Josefin Sans',arial,helvetica,sans-serif; 
  font-size:22px; color:#000; font-weight:normal;
  margin:0 2px 2px 6px; padding:0;
  text-transform:uppercase; letter-spacing:0px;
  line-height:100%;
}
  h2 span,
  h2.blog,
  h3 span {
    text-transform:none;
  }
  #menu h2 {
    font-size:30px; color:#e4701e; margin:2px 2px 2px 0;
    font-variant:small-caps;
  }

h1 {
  font-family:'Josefin Sans',arial,helvetica,sans-serif; 
  font-size:28px; color:#000; font-weight:normal;
  margin:2px 0 2px 6px; padding:0; 
  text-transform:uppercase; letter-spacing:1px;
}
  h1.workbox {
    margin:10px 0 4px 0;
  }
  h1 span {
    font-size:16px;
  }
  .center {
    text-align:center;
  }
  
p.p3 { /* normal right margin */
  line-height:150%;
  margin:4px 10px 0 6px; padding:0;
}
p.n1 { /* justified column like a newspaper */
  font-size:10px;
  margin:4px 2px 0 6px; padding:0; text-align:justify;
}
p.n2 { /* right column with vertical dashed line */
  font-size:10px;
  margin:0; padding:4px 2px 0 4px; border-left:1px dashed #aaaaaa;
}
p.r1 { /* used for the last updated date on links.php */
  text-align:right;
  font-size:14px; line-height:normal;
  margin:-16px 12px 0 0; padding:0;
}
p.r2 {
  text-align:right;
  line-height:150%;
  margin:4px 4px 4px 4px; padding:0;
}
p.wordfind {
  font-family:'Josefin Sans',arial,helvetica,sans-serif; 
  font-size:18px; color:#000; font-weight:normal;
  margin:0 2px 2px 6px; padding:0;
  text-transform:uppercase; letter-spacing:0px;
  line-height:150%;
}

  
pre.p2 {
  line-height:150%;
  margin:4px 4px 0 6px; padding:0;
}
pre,code,.ckBox,.formula {
  font-family:'Courier New',courier,monospace; font-size:16px; color:#009900;
}
.code {
  font-family:'Courier New',courier,monospace; font-size:18px; color:#006000;
}
.code2 {
  font-family:verdana,helvetica,sans-serif; font-size:24px; color:#005000;
  line-height:30px;
}
.code3 {
  font-family:verdana,helvetica,sans-serif; font-size:16px; color:#005000;
  line-height:30px;
}
table.gray1 td {
  font-family:arial,helvetica,sans-serif; font-size:12px;
}
  
#footer p {
  font-size:14px; line-height:160%; color:#aaa;
  text-align:right; margin:0; padding:0 0 0 4px;
}
#footer p.xnav {
  font-size:16px; line-height:180%; color:#fff;
  text-align:left; margin:0; padding:8px 0 0 6px;
}
#footer a.w3 {
  font-family:verdana,helvetica,sans-serif; font-size:12px; font-weight:bold; color:#262626 !important;
}

div.navlinks {
  font-family:'Josefin Sans',arial,helvetica,sans-serif; 
  font-size:18px; color:#fff; font-weight:normal;
  margin:2px 2px 4px 4px; padding:0;
  text-transform:uppercase; letter-spacing:1px;
}

span.req,
span.req2 {
  font-family:'PT Sans',verdana,helvetica,sans-serif; font-size:12px; font-weight:bold; color:#ff0000;
}
span.req2 {
  background:transparent url('images/reqicon.png') left center no-repeat; 
  padding-left:30px; font-weight:normal; color:#ccc;
}

span.divider {
  display:block; background:#333; color:#ccff66;
  font-family:'Josefin Sans',arial,helvetica,sans-serif; 
  font-size:18px; font-weight:normal;
  padding:10px 4px 8px 8px;
  text-align:left;
}

span.hdate { /* dates under H2 headings (articles, etc) */
  position:relative; display:inline-block;
  font-family:'PT Sans',verdana,helvetica,sans-serif; text-transform:uppercase; font-size:14px; color:#222;
  margin:0 10px 4px 2px; padding:2px;
}
span.active {color:#ccff66;}

span.result {
  font-family:'PT Sans',verdana,helvetica,sans-serif; font-size:18px; color:#ccff66;
}

span.smallscreen {
  display:none;
}

.boxBlur,
.boxBlurDisable,
.boxBlur:focus,.boxFocus,
.boxBlurR,
.boxBlurR:focus,.boxFocusR,
.boxError,.boxErrorR,
.boxRequired,.boxRequiredR,
.boxRequired:focus,.boxRequiredR:focus,
.boxClear { 
  font-family:'Courier New',courier,monospace; font-size:14px;
  padding:4px 6px 4px 6px;
}

a.del,
a.btn2,
a.btnfade {
  line-height:20px;
  font-size:16px; font-weight:400;
  vertical-align:middle;
}

/* drop-down menus */
div.dropx,div.dropx a {
  font-family:arial,helvetica,sans-serif; font-size:16px; color:#fff;
}

.sm {position:relative; top:-4px; font-size:9px; font-weight:normal;} /* service mark (sm) */
.super {position:relative; top:-4px; font-size:11px;} /* superscript */
.subscript {position:relative; bottom:-2px; font-size:11px;} /* subscript */

.xred {color:#ff4400;}
.xhlight {color:#ffcc00;}
.xgo {color:#008000;} /* confirmation messages */
.xword {font-weight:bold; color:#ddd;}

.xcourier {font-family:'Courier New',courier; font-size:11px;}

div.obox h1,.hh2 {
  font-family:arial,helvetica,sans-serif; font-size:16px; font-weight:bold; color:#000;
}

input.fbig {font-size:36px;}
input.fbig2 {font-size:48px; text-align:center;}

/* 
  "font-family" should not be used below this line. 
  Of course, there may be exceptions. 


   HTML Element Defaults
   ----------------------------------------------------------------------------- 
*/

a {color:#0077ff; cursor:pointer;}

a:link,
a:visited {text-decoration:underline; font-weight:bold; color:#0077ff;}
a:hover {text-decoration:underline; font-weight:bold; color:#444;}

a.menub {
  position:relative; display:inline-block; height:16px; 
  margin:0; padding:8px 3px 10px 10px;
}

h1 a:hover {text-decoration:none;}

acronym {
  font-weight:bold; color:#888;
  border-bottom:dashed 1px #000; cursor:help; 
}
blockquote {
  color:#000; line-height:130%;
  margin:4px 60px 0 20px; padding:0;
}
embed { 
  margin:0 0 0 6px;
}
form {
  margin:0; padding:2px 0 0 6px;
}
img {
  margin:0; padding:0; border:0;
}
ol li {
  padding:2px 0 4px 0;
}
p {
  margin:2px 6px 2px 0; padding:0;  /* default is no left margin */
}
pre {
  margin:0; padding:0;
  overflow:scroll;
}

/* defaults for tables */  
table {
  margin:2px 6px 2px 6px; padding:0;
}
table td {  /* eliminates the need for valign="top" */
  line-height:130%;
  vertical-align:top;
  padding:2px 2px 2px 0; margin:0;
}
table td.rt {  /* eliminates the need for align="right" */
  text-align:right;
}
table td.ct {  /* eliminates the need for align="center" */
  text-align:center;
}
.nwrap {
  white-space:nowrap;
}

table.navorder td {
  vertical-align:middle;
}

/* Fix Internet Explorer 11 word wrap */
textarea {
  white-space:pre-wrap;
}

/* this tag is used to hide text that should be visible when no stylesheet is available */
tt {display:none;} 

ul {
  list-style:none;
  margin:4px 0 0 6px; padding:0;
}
ul li {
  margin:2px 0 6px 0; padding:1px 0 0 12px; width:95%;
}

iframe {
  border:0; margin:4px;
}
label {
  white-space:nowrap;
}
option {
  padding:2px;
}

form table { /* no left margin for tables inside forms */
  margin:2px 6px 2px 0; padding:0;
}


/* 
   Custom Styles
   ----------------------------------------------------------------------------- 
*/

/* Mobile Menu button */
a.mobile {
  display:block; line-height:20px; margin:0; padding:0 6px 0 0; 
  width:40px; height:40px; font-size:10px; color:#000;
  background:transparent url(images/mobilemenu.png) 1px 0px no-repeat;
  cursor:pointer;
}
a.mobile:link,
a.mobile:visited {text-decoration:none; font-weight:bold; color:#000;}
a.mobile:hover {text-decoration:none; font-weight:bold; color:#000;}

a.mobile span {visibility:hidden;}


/* menu bar links */
div.navlinks a {
  display:block; position:absolute; line-height:24px; margin:0; padding:0;
  width:90px; height:24px; font-size:18px;
  text-shadow: 2px 2px 4px #000;
}
div.navlinks a:link,
div.navlinks a:visited {text-decoration:none; font-weight:normal; color:#fff;}
div.navlinks a:hover {text-decoration:none; font-weight:normal; color:#fff;}

/*
  positions must be set using id, not class
  left=width of preceding button + 26px (menu buttons are 26px apart) 
*/
a#a1 {width:75px; left:22px;}
a#a2 {width:100px; left:132px;}
a#a3 {width:68px; left:268px;}
a#a4 {width:96px; left:370px;}
a#a5 {width:90px; left:504px;}

/* footer links */
#footer a:link,
#footer a:visited {text-decoration:none; color:#aaa;}
#footer a:hover {text-decoration:underline; color:#fff;}
  
/* W3C validation links */
#footer a.w3:link,
#footer a.w3:visited {text-decoration:none; color:#363636;}
#footer a.w3:hover {text-decoration:none; color:#fff;}


/* links with a folder icon */
a.f1 {
  font-size:14px; margin:0; padding:2px 0 2px 20px;
  background:transparent url(004/folder.gif) 0 2px no-repeat;
}
a.f1:link,
a.f1:visited {text-decoration:none; font-weight:bold; color:#0077ff;}  
a.f1:hover {
  text-decoration:underline; font-weight:bold; color:#000;
  background:transparent url(004/folder2.gif) 0 2px no-repeat;
}

  /* Style for link "buttons" like "Delete", etc */
  a.del {
    margin:0 20px 0 0; padding:10px 24px 10px 24px;
    background:#111 url('images/trash-icon.png') center center no-repeat;
    border-radius:4px;
    cursor:pointer;
  }
  a.del:link,
  a.del:visited {text-decoration:none; font-weight:400; color:#fefefe;}
  a.del:hover   {
    text-decoration:none; font-weight:400; color:#fff; 
    background:#aa0000 url('images/trash-icon.png') center center no-repeat;
  }
  a.del span {display:none;}

  /* Style for link "buttons" like "Save", "Go", etc */
  input.btn2 {
    line-height:20px; vertical-align:middle;
    letter-spacing:1px; color:#fff; font-weight:400;
    margin:0 1px 0 4px; padding:10px 14px 10px 14px; background:#0088ed;
    border-radius:4px; border:0;
    cursor:pointer;
  }

  a.btn2 {
    letter-spacing:1px; color:#fff;
    margin:0 1px -4px 4px; padding:10px 14px 10px 14px; background:#0088ed;
    border-radius:4px;
    cursor:pointer;
  }
  a.btn2:link,
  a.btn2:visited {text-decoration:none; font-weight:400; color:#fdfdfd;}
  a.btn2:hover   {
    text-decoration:none; font-weight:400; color:#fff; background:#00cc00;
  }

  /* Style for button once submitted */
  a.btnfade {
    letter-spacing:1px; color:#444;
    margin:0 1px 0 4px; padding:10px 14px 10px 14px; background:#2c2c2c;
    border-radius:4px;
  }
  a.btnfade:link,
  a.btnfade:visited {text-decoration:none; font-weight:400; color:#444;}
  a.btnfade:hover   {
    text-decoration:none; font-weight:400; color:#444; background:#2c2c2c;
  }

  a.copybtn {
    margin:0 0 0 40px;
  }

br.clr {
  clear:both;
}
br.nb { /* use on mobile */
  display:none; 
}
  
code.bx {  /* outlined code like an input box */
  border:1px solid #999999; background:#eeeeee;
  padding:1px;
}
code.t2 {  /* indented block of example code */
  display:block;
  margin:4px 0 2px 8px; padding:0;
}     

/* Separators to clear column floats */
div.xclear {
  position:relative; clear:both; height:1px; line-height:1px; 
  margin:0; padding:0;
}
div.xclearline { /* content under columns */
  position:relative; clear:both; width:90%; line-height:3px;
  margin:0; padding:0;
}

div.postlink {
  position:relative; width:95%;
  padding:12px 10px 12px 10px; margin:4px 0 6px 2px;
  background:rgba(245,245,245,1);
}

div.xline { /* accent line */
  height:1px; line-height:1px;
  margin:3px; padding:0 0 3px 0;
  border-top:solid 1px #aaaaaa;
}
div.xbox1 { /* forms boxes */
  width:90%; padding:4px 8px 4px 8px; border:solid 1px #aaaaaa;
  background:#ffffff url(/images/pencil01.jpg) right top no-repeat;
}
div.xbox2 { /* outline box */
  width:90%;
  margin:0 0 0 12px; padding:8px 2px 8px 2px; 
  border:solid 1px #aaaaaa; background:#ffffff;
}
div.xbox_scroll { /* outline scroll box */
  width:400px; height:300px; overflow:scroll;
  margin:0 0 0 12px; padding:8px 2px 8px 2px; 
  border:solid 1px #aaaaaa; background:#ffffff;
}

div.gadvert { /* Google ads */
  margin:0 0 0 12px;
}
div.gsearch { /* Google search box */
  position:absolute; width:500px; right:10px; top:2px;
}

/* Social media buttons, tweet, like, pinit */
div.social {
  position:relative; display:inline-block; vertical-align:top;
  height:35px; min-width:60px;
  margin:0 10px 0 10px; padding:0;
}
div.social2 {
  position:relative; display:inline-block; vertical-align:top; 
  height:35px; width:120px;
  margin:0; padding:0;
}


dl.alist {
  margin:0; padding:4px 0 0 0;
}
dl.alist dt {
  color:#000099; line-height:150%;
  margin:0; padding:0 0 0 12px;
}
dl.alist dd {
  line-height:120%;
  margin:0; padding:0 0 16px 20px;
}
dl.t2 {  /* lists used inside table td's */
  margin:0; padding:0;
}
dl.t2 dt {margin:0; padding:0;}
dl.t2 dd {margin:0; padding:4px 0 2px 8px;}
  
dl.links {
  margin:0; padding:4px 0 0 0;
}
dl.links dt {
  line-height:150%;
  margin:0; padding:0 4px 0 20px;
}
dl.links dd {
  line-height:120%;
  margin:0; padding:0 10px 4px 28px;
}
  
h1.m1 {
  margin:2px 2px 0 12px;
}

img.xpic {
  margin:0; padding:0;
}
img.npic {
  width:80%; border:6px solid #fff;
  margin:4px 0 0 15%; padding:0;
}
img.xthumb {
  margin:2px; padding:0;
  border:solid 1px #888888;
}
img.menu {
  width:300px; border:4px solid #fff;
  margin:10px 0 0 12px; padding:0;
}
img.xleft {  /* left aligned image */
  float:left; margin:2px 12px 0 0;
}
img.xright {  /* right aligned image */
  float:right; margin:2px 0 2px 10px;
}
img.dleft {  /* left aligned image for use with ul.dlist */
  float:left; margin:2px 10px 2px 12px;
  border:1px solid #666666;
}
img.social {
  margin:4px 10px 0 0;
}
img.avatar {
  float:left; margin:2px 10px 20px 4px;
  width:64px; height:64px;
}
img.tinyimg {
  display:inline-block;
  height:45px; margin:0 8px 0 0;
  cursor:pointer;
}
.blogpost img,
p.p2 img,
p.p5 img {
  max-width:100%;
}


/* stackable thumbnail blocks that wrap */
table.xthumb {
  position:relative;
  width:170px; height:170px;
  float:left;
  padding:0px; margin:0 4px 4px 0;
  background:#000000;
  border-radius:4px; 
}
/* facebook covers */
table.xthumb2 {
  position:relative;
  width:340px; height:120px;
  float:left;
  padding:0px; margin:0 4px 4px 0;
  background:#000000;
}
/* media */
table.xthumb3 {
  position:relative;
  width:290px; height:170px;
  float:left;
  padding:0px; margin:0 4px 4px 0;
  background:#000000;
}
/* categories */
table.xthumb4 {
  position:relative;
  width:190px; height:190px;
  display:inline-block; vertical-align:top;
  padding:0px; margin:0 0 5px 5px;
}
table.xthumb td,
table.xthumb2 td,
table.xthumb3 td,
table.xthumb4 td {
  text-align:center;
  vertical-align:middle;
}
table.xthumb td span,
table.xthumb2 td span,
table.xthumb3 td span {
  position:relative;
  display:inline-block;  /* this has no effect in IE7 */
  background:#000000;
  padding:4px; margin:0;
}

img.zthumb {
  height:110px;
  margin:2px 0 4px 8px; padding:0;
  border:4px solid #fff;
  box-shadow:2px 2px 5px rgba(0,0,0,0.50);
}
img.cthumb {
  margin:0 0 4px 0; padding:0;
  border:4px solid #ffffff;
}

img.art {
  padding:1px; background:#666666;
  border:solid 20px #000000;
}
   
iframe.noshow {visibility:hidden;}

h1.noshow,
h2.noshow,
label.noshow,
span.noshow,
span.tt {display:none;}

object.p1 {
  margin:2px 6px 2px 12px; padding:0;
}


table.t1 { /* no left margin */
  margin:2px 6px 2px 0; padding:0;
}
table.t2 { /* no left margin */
  margin:2px 6px 2px 0; padding:0;
  width:80%;
}
table.gsearch { /* Google Search box */
  width:480px;
  border:0; margin:0; padding:0;
}
table.gsearch table {
  margin:0; padding:0;
}
  
ul.alist {
  margin:4px 0 0 4px; padding:0;
}
ul.alist li {
  margin:2px 0 10px 0; padding:1px 0 0 16px; width:90%;
  background:transparent url(004/bullet.gif) 0 8px no-repeat;
}
  
ul.blist {
  margin:4px 0 0 0; padding:0;
}
ul.blist li {
  margin:2px 0 2px 0; padding:1px 0 0 12px; width:98%;
  background:transparent url(004/bullet.gif) 0 4px no-repeat;
}
  
/* left aligned image with bullet list on the right */
ul.dlist {
  margin:4px 0 0 0; padding:0;
}
ul.dlist li {
  margin:2px 0 2px 0; padding:1px 0 0 12px; width:250px;
  background:transparent url(004/bullet.gif) 0 4px no-repeat;
}
#pagehead ul {
  display:none;
}

/* Form fields */
.ckBox { /* checkboxes */
  margin:1px; padding:0;
}
  
.boxBlur {
  border:1px solid #aaa; color:#000; background:#eee;
}
.boxBlurDisable {
  border:1px solid #555; color:#444; background:#aaa;
}
.boxBlur:focus,.boxFocus {
  border:1px solid #aaa; color:#000; background:#ffffcc;
}
.boxBlurR {
  border:1px solid #555; color:#ccff66; background:#212121;
  text-align:right;
}
.boxBlurR:focus,.boxFocusR {
  border:1px solid #ccff66; color:#fff; background:#003300;
  text-align:right;
}
  .boxError,.boxErrorR {
    border:1px solid #ff0000; background:#ffcccc; 
  }
  .boxErrorR {
    text-align:right;
  }
  .boxRequired,.boxRequiredR {
    border:1px solid #ff0000; color:#fff; background:#212121; 
  }
  .boxRequiredR {
    text-align:right; 
  }
  .boxRequired:focus,.boxRequiredR:focus {
    border:1px solid #ff0000; color:#fff; background:#000; 
  }
  .boxRrequiredR:focus {
    text-align:right;
  }
  .boxDisable {
    display:none;
  }
  .boxHidden {
    visibility:hidden;
  }
  .boxClear {
    text-align:right;
    border:1px solid #000; color:#fff; background:#212121;
  }
  
  .projDesc,
  .projInfo,
  .profileImg {
    width:95%;
  }
  
span.st2,
span.st7 {
  display:none;
}

/* hide "spinners" on input type="number" */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance:none;
  margin:0;
}
input[type=number] {
  -moz-appearance:textfield;
} 

/* Form fields generated by makeFormField()  */
div.formfield {
  position:relative; display:inline-block; vertical-align:top;
  text-align:left; min-width:50px;
  margin:0 10px 15px 0; padding:0;
}
div.formfield label,
div.formfield p,
div.formfield p b {
  font-weight:normal; color:#222;
}
p.charcount {
  position:absolute; width:80px; top:0px; right:4px;
  text-align:right; margin:0; padding:0;
}

#mshortdes {height:172px;}

/* Radio Buttons */
label.radio {
  display:block; margin:6px 0 10px 0;
  font-size:16px;
  cursor:pointer;
}
input[type="radio"]:not(old) {
  display:none;
}
input[type="radio"]:not(old)+span:before {
  display:inline-block;
  content: url('images/radio-unselected.png');
  width:30px; height:20px;
  margin:0; padding:0;
  vertical-align:bottom;
}
input[type="radio"]:not(old):checked+span:before {
  content: url('images/radio-selected.png');
}

/* Checkboxes */
label.ckbox {
  display:block; margin:6px 0 10px 0;
  font-size:16px;
  cursor:pointer;
}
input[type="checkbox"]:not(old) {
  display:none;
}
input[type="checkbox"]:not(old)+span:before {
  display:inline-block;
  content: url('images/checkbox.png');
  width:36px; height:24px;
  margin:0; padding:0;
  vertical-align:bottom;
}
input[type="checkbox"]:not(old):checked+span:before {
  content: url('images/checkbox-checked.png');
}
  
/* forms on toolbox pages */
textarea#textcount {
  width:95%;
}
textarea#compress1,
textarea#text1,
textarea#text2 {
  width:95%; 
}
input#flines {
  width:250px;
}
.results {
  width:95%;
}

select#drop3 {
  max-width:90%;
}
  
/* Misc Classes */

.border1 {  /* used for images instead of border="1" */
  border:1px solid #666;
}

.counter {color:#aaa;}

.dash2 {
  position:relative; display:block; color:#000; font-weight:bold;
  margin:0 10px 4px 12px; padding:0 0 2px 0;
  border-bottom:1px dashed #888888;
}
.dash3 {  /* p2 paragraph separator, extra right margin */
  position:relative; display:block; line-height:4px;
  margin:0 80px 4px 20px; padding:0;
  border-bottom:1px dashed #888888;
}
.dash4 {  /* p3 paragraph separator */
  position:relative; display:block; line-height:4px;
  margin:0 20px 4px 20px; padding:0;
  border-bottom:1px dashed #888888;
}


/* 
   Containers for this layout
   -----------------------------------------------------------------------------
   For this site, #container needs a fixed width so all of the backgrounds and other
   divs inside it line up. Otherwise there are some 1px rounding issues depending on the 
   size of the browser window.
*/

/* debug div */
#xdebug {
  position:fixed; left:10px; top:10px; height:180px; width:120px;
  text-align:left; margin:0; padding:4px;
  background:#fff; color:#000; border:1px solid #000;
  overflow:visible; z-index:200; /* must be less than drop menu z-index */
}

/* Page Header, full width of page */
#pagehead {
  position:fixed; left:0; top:0; height:80px; width:100%;
  text-align:left; margin:0; padding:0;
  background:transparent url(images/header.png) 0px -50px repeat-x;
  overflow:visible; z-index:96; /* must be less than drop menu z-index */
}
  #headerbox {
    position:relative; width:100%; height:100px;
    text-align:center; margin:0 auto 0 auto; padding:0;
  }
    #pagehead div.navbar {  /* width and height necessary for image replacement */
      position:absolute; top:6px; left:10px; width:240px; height:80px;
      text-align:left; margin:0; padding:0;
    }
  /* DIVs for navigation links */
  div.navlinks {
    position:absolute; top:25px; right:40px; width:600px; height:40px;
    text-align:left; margin:0; padding:0;
  }
  div.mobilemenu {
    position:absolute; top:26px; left:15px; width:44px; height:44px; 
    margin:0; padding:0; overflow:hidden; display:none;
  }

#container {
  position:relative; display:flex; justify-content:center;
  text-align:center; margin:0; padding:0;
}

  /* Page body, full width of container */
  #pagebody {
    position:relative; 
    width:100%; /* needed for flex mode */
    min-height:500px;
    text-align:left; margin:80px 0 0 0; padding:0;
  }
    /* Full width container CLASS for full width backgrounds */
    div.contentbg {
      position:relative; width:100%;
      text-align:left; margin:10px 0 100px 0; padding:0; /* bottom padding needed for flex mode?? */
    }
      /* Inner content box for centered, fixed width content */
      div.contentbox {
        position:relative; max-width:1000px;
        text-align:left; margin:0 auto 0 auto; padding:0;
      }
      div.contentbox2 {
        display:flex; flex-flow:row wrap; justify-content:center; 
        margin:0; padding:0;
      }

          /* Columns, Total width must be <= 750px */
          div.L_full {width:100%;}
          div.R_full {width:900px;}
          
          div.L_full2 {
            position:relative;
            width:100%; max-width:1000px; 
            margin:0 auto 60px auto; padding:0;
          }
          
/* Footer, new HTML5 */
#footer {
  display:flex; flex-wrap:wrap; justify-content:center;
  margin:0; padding:10px 0 0 0;
  border-top:2px solid #222; background:#363636;
}
  div.L_footer {
    flex:1 1 180px;
    margin:4px; padding:4px;
    text-align:left;
  }
  div.R_footer {
    flex:1 1 100%;
    margin:4px; padding:8px;
    text-align:right;
  }
  div.xsocial {
    text-align:right;
  }
    div.xsocial a {
      margin:0 0 0 10px;
    }
      

/* 
   Page specific styles
   -----------------------------------------------------------------------------
   Define styles and style groups that are only used on certain pages
*/

div.ctitle,
div.ctitle2 {
  position:relative; text-align:center;
  margin:0; padding:0 0 20px 0; overflow:hidden;
}
  div.ctitle img {max-width:100%; height:auto;}
  
div.C_inline,
div.C_small2,
div.C_small3,
div.C_med { /* centered column that wraps @ min-width */
  position:relative; display:inline-block; vertical-align:top;
  text-align:left; max-width:620px; min-width:460px;
  margin:0; padding:0; overflow:hidden;
}

/* equal to flex groups */
div.C_large {
  position:relative; text-align:left;
  width:100%; max-width:1012px; margin:0 0 4px 0;
}
div.C_title {
  position:relative; flex:70%; align-self:flex-start;
  max-width:900px; margin:0 0 4px 0; padding:0;
}

/* flex group 2 - 70%, 1000px + 12px between */
div.C_small {
  position:relative; flex:45%; align-self:flex-start;
  max-width:750px; margin:0 0 4px 0; padding:0;
}
div.C_flex2 {
  position:relative; flex:25%; align-self:flex-start;
  max-width:250px; margin:4px 0 4px 0;
}

/* flex group 2 - 70%, 1000px + 12px between */
div.C_small2 {
  position:relative; flex:40%; align-self:flex-start;
  max-width:650px; margin:0 0 4px 0;
}
div.C_flex3 {
  position:relative; flex:30%; align-self:flex-start;
  max-width:350px; margin:4px 0 4px 0;
}

/* flex group 3 - this with two C_flex2 */
div.C_flex4 {
  position:relative; flex:40%; align-self:flex-start;
  max-width:490px; margin:4px 0 4px 0;
}

/* order flex columns */
div.column1 {
  order:1;
}
div.column2 {
  order:2;
}

div.scroll2,
table.scroll2 {
  overflow-x:scroll;
}

div.C_inline {
  max-width:440px; min-width:440px;
  margin:0;
}
div.C_flex {
  position:relative; flex:0 1 470px; align-self:flex-start;
}
      
/* homepage */
#fullphoto {
  position:relative; width:100%;
  margin:0; padding:70px 0 0 0; 
  text-align:center;
  background:#000;
  overflow:hidden;
}
#pag_index #pagebody {
  margin:10px 0 0 0;
}
#fullphoto img.leafpic {
  width:100%; margin:0; padding:0;
}
#photocredit {
  position:absolute; width:100%;
  left:0px; top:70px; margin:0; padding:0;
  z-index:95;
}
#photocredit img.slidecover {
  width:100%;
}

/* 2018 photo galleries */
#pag_image #pagebody {
  margin:60px 0 0 0;
}
#mainphoto {
  position:relative;
  margin:0; padding:0; 
  text-align:center;
  overflow:hidden;
}
  #mainphoto img {
    width:auto; height:auto; max-height:95vh; max-width:100%; margin:0; padding:0;
  }
  #mainphoto img.port {
    width:auto; height:auto; max-height:92vh; max-width:100%; margin:0; padding:0;
  }

#imgprev {
  position:fixed; left:15px; top:50%; width:50px; height:100px; margin:-50px 0 0 0;
  z-index:98;
}
#imgnext {
  position:fixed; right:15px; top:50%; width:50px; height:100px; margin:-50px 0 0 0;
  z-index:98;
}
#imgprev a,
#imgnext a {
  display:block; padding:30px 20px 30px 10px;
  border-radius:4px; font-size:30px;
}
#imgprev a:link,
#imgprev a:visited,
#imgnext a:link,
#imgnext a:visited {
  text-decoration:none; font-weight:bold; color:rgba(255,255,255,0.8); background:rgba(0,0,0,0.2);
  border:1px solid rgba(0,0,0,0.2);
}
#imgprev a:hover,
#imgnext a:hover {
  text-decoration:none; font-weight:bold; color:rgba(255,255,255,1); background:rgba(0,0,0,0.6); 
  border:1px solid rgba(255,255,255,1);
}

#xthumb1 {
  padding:0 0 0 10px;
}
#thumbbar {
  position:relative; max-height:150px; 
  overflow-x:auto; overflow-y:hidden;
  text-align:center;
  padding:4px;
  white-space:nowrap;
}


      
#pag_colorpicker div.L_xxsmall {
  width:180px; 
}

#pag_altcodes textarea#text2 {
  font-size:30px;
}

/* grayscale chart */
img.gb {width:12%; height:160px; border:0; margin:0; padding:0;}
img.gc {width:6%; height:160px; border:0; margin:0; padding:0;}

img#megapixels,
img#screensizes {width:720px;}

/* sitemap.php */
#pag_sitemap div.L_small {width:320px;}
          

/* links.php */
div.linkgroup {
  display:none;
}
    
/* code box, used in toolbox/spellcheck.php */
div.xbox3 {
  width:94%; min-height:120px;
  color:#000; line-height:normal;
  border:1px solid #aaaaaa; background:#eeeeff;
  margin:0 0 0 12px; padding:4px; 
}
  /* spellcheck links (red) */
  span.sp,
  a.sp:link,
  a.sp:visited,
  a.sp:hover {text-decoration:underline; font-weight:normal; color:#ff0000;}

  /* spellcheck suggestions (green), also used in wordfind.php */
  span.sg,  
  a.sg:link,
  a.sg:visited,
  a.sg:hover {text-decoration:none; font-weight:bold; color:#006600;}

/* philosophy.php */
div.mousebg {
  width:580px; 
  margin:0 0 0 12px; padding:1px 0 1px 0;
  background:#ffffff url(/images/mouse_large01.jpg) 0px 0px no-repeat;
}
  
/* bg for film sizes boxes in filmsize.php, color swatch tables in colorpicker.php */
.xblue1 {
  margin:2px 6px 2px 0; padding:0; background:#888899;
  border:1px solid #444444;
} 

/* used in toolbox/ascii.php  */
.xtitle {  
  position:relative; text-align:center;
  font-size:20px; color:#999; letter-spacing:3px;
} 
.formula {
  font-size:16px; font-weight:bold; color:#000; 
}

/* Tables used for charts */
table.gray1 {
  background:#aaaaaa; width:95%;
}
table.gray1 td {
  background:#fff; padding:6px 2px 6px 2px;
  width:56px; max-width:60px;
}
table.gray1 td.ht1 {background:#eeeeee;}  /* td highlight */
table.gray1 td.ht2 {background:#eeeeff;}  /* td highlight */
table.gray1 td.ht3 {background:#ffee66;}  /* td highlight */
table.gray1 h2 {}

/* Word Finder Results */
table.wfresults td {padding:3px 24px 3px 3px; white-space:nowrap;}

/* Design215 Guestbook/Comments v01.26.06 */
table.xguest {  /* outside table */
  width:520px; margin:0;
}
table.xguest table {margin:0;}

.gbox {  /* remaining characters field, guestbook */ 
  text-align:right; width:250px;
  border:0; color:#000; background:transparent;
}
.cbox {  /* remaining characters field, comments */ 
  width:250px;
  border:0; color:#000; background:transparent;
}
.guestErr {
  font-weight:bold; color:#ff0000; 
}
.gline { /* user entries separator */
  position:relative; display:block; line-height:4px;
  margin:0 20px 4px 20px; padding:0;
  border-bottom:1px dashed #888888;
}
.xquote1,.xquote2 {display:none;}

h2.cmttot,
h2.gstbk {margin:2px 2px 2px 12px; padding:0; background-image:none;}

p.gst1 {margin:0 0 8px 12px}
p.gst1 span {font-weight:bold;}
p.gst2 {margin:0 60px 0 12px}

/* _getcomments.php */
input#gname,
input#gemail {
  width:240px;
}
textarea#gtext {
  width:95%; max-width:600px;
}

/* Design215 Slideshow, index.php */
#pag_index #xssw1,
#pag_index #xssw2 {
  /* 2012 update: opacity set with css on slideshow page */
  position:absolute; visibility:hidden; 
  background:transparent;
  margin:0; padding:70px 0 0 0;
  text-align:center; /* slideshow image will be centered in the div */
  width:100%; /* div will be the full width of its container */ 
}
#pag_index #xssw1 img,
#pag_index #xssw2 img {
  width:100%;
}
#pag_index #xslidetext {
  display:none;
}
#pag_index #xslidenum {
  display:none;
}
#pag_index #slidecontrols {
  display:none;
}

/* Design215 Drop Menu, v11.22.2012 */
#xtooltip {
  position:absolute; left:-200px; top:5px; z-index:98;
  margin:0; padding:0 0 7px 0;
  background:transparent url(images/tooltip_pointer.png) 14px bottom no-repeat;
}
#xtooltip p.tt1,
#xtooltip p.tt2 {
  color:#fff; text-align:left; margin:0; padding:6px 8px 8px 8px;
  font-family:verdana,helvetica,sans-serif; font-size:11px;
  background:transparent url(images/tooltip.png);
  border-radius:4px; border:2px solid #000000;
}

#menu1 {  /* mobile menu */
  position:fixed; visibility:hidden; z-index:99;
  width:420px; left:-999em; /* removes the extra vertical space from the long menu */
  text-align:left; background:#000; color:#fff; padding:6px 2px 6px 2px;
  border-radius:2px; border:1px solid #666;
  box-shadow:8px 8px 24px rgba(0,0,0,0.5);
}
  #menu1 p {
    font-size:18px;
    width:100%; /* necessary for IE7 or menu height bug */
    margin:0; padding:4px 4px 2px 0; 
  }
  #menu1 p span {
    display:none;
  }
  #menu1 a {
    font-family:'PT Sans',arial,sans-serif; font-size:18px; 
    position:relative; display:block; height:22px;
    font-weight:bold; color:#fff; text-transform:uppercase;
    margin:0 12px 0 2px; padding:12px 3px 12px 8px;
    border-bottom:1px solid #333;
  }
  #menu1 a:link,
  #menu1 a:visited {text-decoration:none; color:#ccc;}
  #menu1 a:hover {text-decoration:none; color:#000; background:#ddd;}


#menu2,#menu3,#menu4,#menu5 {
  position:fixed; visibility:hidden; z-index:99;
  margin:0; padding:9px 0 0 0;
}
#menu2 { /* about */
  width:200px;
  background:transparent url(images/menu_pointer.png) 40px top no-repeat;
}
#menu3 { /* services */
  width:240px;
  background:transparent url(images/menu_pointer.png) 50px top no-repeat;
}
#menu4 { /* work */
  width:525px;
  background:transparent url(images/menu_pointer.png) 250px top no-repeat;
}
#menu5 { /* toolbox */
  width:725px;
  background:transparent url(images/menu_pointer.png) 530px top no-repeat;
}

#menu2 p,#menu3 p {
  width:100%; /* necessary for IE7 or menu height bug */
  background:rgb(0,0,0,0.9);
  border-radius:4px; border:2px solid #000000;
  margin:0; padding:10px 0px 12px 0px;
}
div#menu4 div.menubody { /* it was necessary to specify div#menu3 */
  position:relative;
  width:100%; /* it was necessary to specify a width for IE7 or DIV was invisible */
  background:rgb(0,0,0,0.9);
  border-radius:4px; border:2px solid #000000;
  margin:0; padding:10px 0px 12px 0px;
}
  div.menucat2,
  div.menucat3 {
    position:relative; width:48%; margin:0; padding:0;
    display:inline-block; vertical-align:top;
  }
    div.menucat p,div.menucat2 p {
      margin:0; padding:0; 
    }

div#menu5 div.menubody { /* it was necessary to specify div#menu3 */
  position:relative;
  width:100%; /* it was necessary to specify a width for IE7 or DIV was invisible */
  background:rgb(0,0,0,0.9);
  border-radius:4px; border:2px solid #000000;
  margin:0; padding:10px 0px 12px 0px;
}
  div.menucat {
    position:relative; width:32%; margin:0; padding:0;
    display:inline-block; vertical-align:top;
  }

div.dropx {
  text-align:left;
  margin:0; padding:0;
}
  div.dropx a {
    position:relative; display:block; height:16px; 
    font-weight:bold; color:#fff;
    margin:0; padding:8px 3px 10px 10px;
  }
  div.dropx a:link,
  div.dropx a:visited {text-decoration:none; color:#ccc;}
  div.dropx a:hover {
    text-decoration:none; color:#000; background:#ddd;
  }
  div.dropx h2 {
    color:#fff;
  }
  div.dropx span {
    display:none;
  }
div.xclearmenu { /* content under columns */
  position:relative; clear:both; width:400px; 
  margin:0; padding:0;
}

  
/* gallery page, images.php */
#xpic {  
  position:relative;
}

/* replace or resize images */
img.rp50 { /* small footer logo v12.29.2009 */
  position:relative; margin:-12px 0 0 0; top:12px;
}


@media only screen and (max-width:900px) {
  /* Style adjustments for viewports that meet the condition */

  h1 {font-size:24px;}
  p.p2 {font-size:14px;}
    
  .boxBlur,
  .boxBlurDisable,
  .boxBlur:focus,.boxFocus,
  .boxBlurR,
  .boxBlurR:focus,.boxFocusR,
  .boxError,.boxErrorR,boxErrorR:focus,
  .boxRequired,.boxRequiredR,
  .boxRequired:focus,.boxRequiredR:focus,
  .boxClear {
    font-size:20px;
    font-family:'PT Sans',arial,helvetica,sans-serif !important;
  }

  input[type="number"],
  input[type="password"],
  input[type="search"],
  input[type="tel"],
  input[type="text"],
  select:focus,
  textarea {
    font-size:20px;
  }
    
  a.selectx {
    font-size:20px; height:24px; padding:8px 24px 3px 8px;
  }
  a.droplink { 
    font-size:20px; height:24px; padding:8px 28px 3px 4px;
  }
  a.droplink2 { 
    font-size:20px; height:24px; padding:8px 8px 3px 28px;
  }
  
  a.m1,
  a.del,
  a.btn2,
  a.btnfade {
    position:relative;
    font-size:16px;
    margin-right:10px; top:4px;
  }
  textarea {
    width:98%;
    font-family:'PT Sans',arial,helvetica,sans-serif !important;
  }
  iframe.youtube {
    max-width:100%; margin:0; padding:0;
  }

  div.formfield {
    max-width:95%;
  }
  
  #pagehead {
    height:80px;
    background:transparent url(images/header.png) 0px -50px repeat-x;
  }
  #pagehead div.navbar {
    position:relative; display:block; 
    width:150px; left:0; top:10px;
    margin:0 auto 0 auto; padding:0;
  }
    div.navlinks {
      display:none;
    }
    div.navbar img {
      width:200px;
    }
  div.mobilemenu {
    display:block; top:14px;
  }
  
  #pagebody {
    margin:80px 0 0 0;
    min-width:480px;
  }
  #container {  /* let content expand container down to height of page, not just the window */
    height:auto; 
  }

  div.contentbox {
    margin:0; text-align:left;
  }
  div.contentbox2 {
    /* flex-flow:column nowrap; justify-content:center; */
  }
  div.C_large {
    width:99%; max-width:770px; margin:0 0 2px 0;
  }
  div.C_med {
    width:96%;
    min-width:96%; max-width:800px; 
    padding:0;
  }
  div.C_small,
  div.C_flex2,
  div.C_flex3 {
    width:80%;
    min-width:470px; max-width:760px;
  } 
  div.C_small2 {
    min-height:40px; max-width:none; width:420px;
    padding:0;
  }
  div.C_small3 {
    min-width:420px; max-width:460px;
  }
    #edit-projlist {
      display:none;
    }
    
  div.sidebar2 {
    display:none;
  }
  
  /* homepage */
  #pag_index #pagebody {
    margin:0;
  }
  #fullphoto {
    padding:70px 0 0 0; 
  }
  #photocredit {
    top:70px;
  }
  #pag_index #xssw1,
  #pag_index #xssw2 {
    margin:0; padding:70px 0 0 0;
  }
  #homepics {
    display:none;
  }

  div.pthumb {
    width:200px;
  }
    div.pthumb img {
      max-width:192px; height:auto; max-height:96px;
    }
  img.zthumb {
    height:110px;
  }
  div.art img {
    background:none; padding:0;
  }
  #mainphoto {
    height:100%;
  }
  #imgprev {
    display:none;
    position:absolute; left:5px; top:30%; width:50px;
  }
  #imgnext {
    display:none;
    position:absolute; right:5px; top:30%; width:50px;
  }

  span.smallscreen {
    display:initial;
  }  
  br.nb {display:block;}
}
@media all and (orientation:landscape) and (max-width:640px) {
  #pagehead,#menu1 {
    position:absolute;
  }
}

