/* 
   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 V5" responsive HTML5 site, updated 04.12.2025
   
   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:14px; 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:16px; color:#222; 
  line-height:120%;
  margin:4px 6px 4px 8px; padding:0;
}
p.p4 {
  font-family:'PT Sans',verdana,helvetica,sans-serif; font-size:18px; color:#222;
  line-height:130%; letter-spacing:1px; 
  margin:2px 2px 2px 8px;
}  
p.p5,
blockquote,
ul li,
dl.alist,
.blogpost p {
  font-family:'PT Sans',verdana,helvetica,sans-serif; font-size:18px; color:#222;
  line-height:160%; letter-spacing:1px;
  margin:2px 2px 2px 8px; padding:0;
} 
dl.alist dt {
  font-size:22px;
}

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:2px 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 12px 0 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:14px;
}

.upp {
  text-transform:uppercase;
}
  
#footer p {
  font-size:16px; line-height:160%; color:#aaa;
  text-align:right; margin:0; padding:0 0 0 4px;
}
#footer p.xnav {
  font-size:18px; line-height:190%; 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; 
  font-size:16px; text-transform:uppercase; font-weight:bold; color:#000;
  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;
}

span.note { /* comment replies 04.12.2025 */
  display:block;
  padding:0 12px 0 12px; color:#000;
  line-height:130%;
  border-left:8px solid #0088ed;
}

.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;
  text-decoration:none;
}

/* 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; text-decoration:underline; font-weight:bold; 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
   ----------------------------------------------------------------------------- 
*/

/* for #some-section links, use <div id="some-section" syle="paglink>&nbsp;</div> */
.paglink {
  padding-top:100px; margin-top:-80px;
} 

/* 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 {
  display:inline-block;
  margin:4px 0 6px 0; padding:0 0 0 20px;
  background:transparent url(004/folder.gif) 0 4px 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 6px 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,
ul li img,
div.C_fullad 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 6px; padding:1px 0 0 16px; width:90%;
  background:transparent url(004/bullet.gif) 0 12px no-repeat;
}
  
ul.blist {
  margin:4px 0 0 0; padding:0;
}
ul.blist li {
  margin:2px 0 2px 6px; padding:1px 0 0 12px; width:98%;
  background:transparent url(004/bullet.gif) 0 10px no-repeat;
}

/* 2023 for long articles / marketing pages */  
ul.plist {
  margin:4px 0 0 4px; padding:0;
}
ul.plist li {
  margin:2px 0 24px 0; padding:1px 0 0 16px; width:90%;
  background:transparent url(004/bullet.gif) 0 8px 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;
}
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="number"],
input[type="password"] {
  vertical-align:top;
  margin-bottom:8px;
  /* max-width:60%; */
}
textarea {
  max-width:90%;
}
  
.boxBlur,
.boxBlurDisable,
.boxBlur:focus,.boxFocus,
.boxBlurR,
.boxBlurR:focus,.boxFocusR,
.boxError,
.boxRequired,.boxRequired:focus,
.boxClear {
  font-family:verdana,helvetica,sans-serif; font-size:22px; 
  padding:8px;
}
  
.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:#000; background:#eee; 
  }
  .boxRequiredR {
    text-align:right; 
  }
  .boxRequired:focus,.boxRequiredR:focus {
    border:1px solid #ff0000; color:#000; background:#ffffcc; 
  }
  .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%;
  }

/* contact form "required" */
p.cfreq {
  font-size:95%;
  padding:0 0 0 8px; margin:0;
}
span.cfreq {
  position:relative;
  font-weight:bold; color:#f00; 
}
/* contact/guestbook forms */
#cf1,
#cf2,
#cf6,
#cf7,
#cf15,
#cf17 {
  width:80%; max-width:420px;
}
#cf12 {  /* textarea */
  width:96%; max-width:600px;
} 
  

/* 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;
}
p.charcount {
  position:absolute; width:80px; top:0px; right:4px;
  text-align:right; margin:0; padding:0;
}

.cfmsg { /* div.formfield on contact forms */
  margin:0 2px 15px 8px !important; 
  width:90%; max-width:600px;
}

div.formfield label,
div.formfield p,
div.formfield p b {
  font-weight:normal; color:#222;
}

#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:24px;
  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:18px;
  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:28px;
  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#box1,
textarea#box2,
textarea#text1,
textarea#text2 {
  width:95%; 
}
input#flines {
  width:250px;
}
.results {
  width:90%;
}

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

span.st2,
span.st7 {
  display:none;
}

/* 
   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:64px 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?? */
    }
      div.contentbox {
        display:flex; flex-flow:row wrap; max-width:1000px; justify-content:left; 
        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; gap:10px;
      }

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

div.C_full {
  position:relative;
  width:100%; margin:0; padding:0;
  z-index:9999;
}

/* equal to flex groups */
div.C_fullad {
  position:relative; text-align:left;
  width:100%; max-width:1000px; margin:0; padding:0;
}
div.C_title,
div.C_large {
  position:relative; text-align:left;
  width:100%; max-width:1000px; margin:30px 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:30px 0 4px 0; padding:0;
}
div.C_flex2 {
  position:relative; flex:25%; align-self:flex-start;
  max-width:240px; margin:30px 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:30px 0 4px 0;
}
div.C_flex3 {
  position:relative; flex:30%; align-self:flex-start;
  max-width:350px; margin:30px 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/
check.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,
  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, 
  a.sg:link,
  a.sg:visited,
  a.sg:hover {text-decoration:none; font-weight:bold; color:#00aa00;}

/* 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:16px;
  background:transparent url(images/tooltip.png);
  border-radius:2px; 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) 240px top no-repeat;
}
#menu5 { /* toolbox */
  width:700px;
  background:transparent url(images/menu_pointer.png) 530px top no-repeat;
}

#menu10 { /* on /toolbox/index.php only */
  display:none;
  text-align:left; background:#000; color:#fff; padding:6px 2px 6px 2px;
}

#menu2 p,#menu3 p {
  width:100%; /* necessary for IE7 or menu height bug */
  background:rgba(0,0,0,0.9);
  border-radius:4px; border:2px solid #000000;
  margin:0; padding:10px 20px 12px 20px;
}
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:rgba(0,0,0,0.9);
  border-radius:4px; border:2px solid #000000;
  margin:0; padding:20px;
}
  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:rgba(0,0,0,0.9);
  border-radius:4px; border:2px solid #000000;
  margin:0; padding:20px;
}
  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:12px 3px 14px 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;
}


/*
   PCart Shopping Cart Styles v2.5.9, modified for Design215
   ----------------------------------------------------------------------------- 
   Merged here to prevent caching issues with mobile devices 

*/
p.pcart {
  position:relative; max-width:620px;
  font-size:16px; color:#222;
  line-height:130%; letter-spacing:1px;
  margin:2px 2px 2px 4px; padding:0;
}
  /* keep this default */
  div.pcbox1 p.pcart {
    line-height:normal; letter-spacing:normal;
    margin:2px 6px 2px 12px; padding:0;
  }

div.pclear {
  position:relative; clear:both;
  margin:0; padding:0;
}

ul.pclist {
  width:90%;
}
ul.pclist li {
  margin:2px 0 10px 0; padding:1px 0 4px 28px; width:98%;
  background:transparent url(images/bullet2.png) 0 4px no-repeat;
}

iframe#pcframe1 {
  border:1px solid #ddd;
  margin:0 0 0 12px;
  display:none;
}

iframe#pcframe2 {
  position:relative;
  margin:0; padding:0; border:0;
  display:none;
}

iframe#pcframe3 {
  position:relative;
  margin:0; padding:0; border:0;
  width:98%; min-width:450px; height:500px; 
}

/* iframe box for adding items to cart */
div#cartbox {
  position:fixed; left:50%; top:50%;
  width:460px; min-height:240px;
  background:#fff;
  border:1px solid #888;
  margin:-120px 0 0 -235px; padding:8px 2px 2px 2px;
  text-align:left;
  visibility:hidden;
  z-index:999;
  border-radius:4px;
  box-shadow:2px 2px 16px rgba(0,0,0,0.4);
}

#pcartItemCount {
  position:relative; 
  text-align:center;
  margin:0; 
}
#pcartItemCount a {
  text-decoration:none; font-weight:bold;
  background-color:transparent;
  padding:0; margin:0 0 0 -4px;
  border-radius:0;
}
#pcartItemCount a:hover {
  text-decoration:none; font-weight:bold; color:#000;
}
img.pccarticon {
  vertical-align:middle;
}

/* 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;
}
p.charcount {
  position:absolute; width:80px; top:0px; right:4px;
  text-align:right; margin:0; padding:0;
}

form.pcartAddBtn {
  width:100%;
  margin:2px; padding:0;
}
div.pcaddopt {
  position:relative;
  min-width:460px; max-width:640px;
  margin:0; padding:0 0 10px 0;
}
  div.pcaddopt p {
    font-family:verdana,helvetica,sans-serif; font-size:16px;
  }
  
/* add to cart button 2020 */
div.pcaddbtn {
  display:flex; flex-flow:row nowrap; 
  justify-content:flex-end; align-items:flex-end;
  min-width:300px; 
  margin:0 4px 0 0; padding:0;
}
  div.pcquanbox {
    position:relative;
    text-align:center;
    margin:0 30px 0 0; padding:0;
  }
    div.pcquanbox p {
      font-weight:bold;
      padding:4px;
    }
  div.pcaddbox {
    position:relative;
    text-align:right;
  }
  /* overwrite any styles set in main site stylesheet */
  input[type="number"].addBtnQuan {
    font-size:24px; font-weight:bold; width:30px; height:32px;
    text-align:center;
    border:1px solid #c9c9c9; color:#181818; background:#fcfcfb;
    margin:0 12px 0 12px; padding:5px; 
  }
  input[type="number"].addBtnQuan:focus {
    font-size:24px; font-weight:bold; width:30px; height:32px;
    text-align:center;
    border:1px solid #8fd700; color:#181818; background:#ffffdd;
    margin:0 12px 0 12px; padding:5px;
  }

  a.pcadjQuan {
    display:inline-block;
    line-height:30px; width:20px; text-align:center;
    font-family:arial,san-serif; font-size:30px; font-weight:bold; 
    vertical-align:middle; color:#fff; background:#555;
    margin:0; padding:7px 12px 7px 12px;
    border:0; border-radius:0;
    cursor:pointer;
    user-select:none;
  }
  a.pcadjQuan:link,
  a.pcadjQuan:visited {text-decoration:none; font-weight:bold; color:#fff;}
  a.pcadjQuan:hover   {text-decoration:none; font-weight:bold; background:#777; color:#fff;}


/* select boxes */
.pcitemdrop {
  font-family:arial,helvetica,sans-serif; font-size:20px; min-width:250px;
  border:1px solid #000; color:#000; background:#ffffee;
  margin:8px 0 8px 0; padding:4px;
}
  .pcitemdrop option {
    padding:4px;
  }
.pcdatedrop {
  font-family:arial,helvetica,sans-serif; font-size:20px; min-width:120px;
  border:1px solid #000; color:#000; background:#ffffee;
  margin:4px 0 8px 0; padding:4px;
}
  .pcdatedrop option {
    padding:4px;
  }
.pcyeardrop {
  font-family:arial,helvetica,sans-serif; font-size:20px; min-width:90px;
  border:1px solid #000; color:#000; background:#ffffee;
  margin:4px 0 8px 0; padding:4px;
}
  .pcyeardrop option {
    padding:4px;
  }
  
.pcSubGroup {
  margin:0 0 0 10px; padding:0 0 0 20px;
  border-left:1px solid #ccc;
}  


/* Option Quantity fields 2020 */
div.optQuan {  
  display:block; margin:8px 0 12px 0;
  font-size:18px;
}
  /* overwrite any styles set in main site stylesheet */
  input[type="number"].addOptQuan {
    font-size:20px; font-weight:bold; width:26px; height:28px;
    text-align:center;
    border:1px solid #c9c9c9; color:#181818; background:#fcfcfb;
    margin:0 12px 0 12px; padding:5px; 
  }
  input[type="number"].addOptQuan:focus {
    font-size:20px; font-weight:bold; width:26px; height:28px;
    text-align:center;
    border:1px solid #8fd700; color:#181818; background:#ffffdd;
    margin:0 12px 0 12px; padding:5px;
  }

  a.pcoptQuan {
    display:inline-block;
    line-height:28px; width:18px; text-align:center;
    font-family:arial,san-serif; font-size:28px; font-weight:bold; 
    vertical-align:middle; color:#fff; background:#555;
    margin:0; padding:6px 12px 6px 12px;
    border:0; border-radius:0;
    cursor:pointer;
    user-select:none;
  }
  a.pcoptQuan:link,
  a.pcoptQuan:visited {text-decoration:none; font-weight:bold; color:#fff;}
  a.pcoptQuan:hover   {text-decoration:none; font-weight:bold; background:#777; color:#fff;}


p.pcitemprice {
  padding:0 0 8px 0;
  font-family:arial,helvetica,sans-serif; font-size:30px; 
  font-weight:bold; color:#e4701e;
}
p.pcitemprice span.pcitemtxt { /* text appended to price */
  font-size:14px;
}
p.pcpricetxt { /* text if no price */
  font-size:16px; font-weight:bold; color:#000;
}

div.pcartlogin {
  width:100%; padding:0; margin:0;
}
div.pcartlogin p {
  padding:2px 0 2px 4px; margin:0 0 4px 4px;
  font-size:20px;
}
div.pcartlogin p.rt {
  text-align:right;
  margin:0;
}

form#pcartForm p {
  font-size:16px;
}

div#pcartLogin {
  position:relative;
  width:100%; max-width:400px; min-height:400px;
  padding:0; margin:0;
}
div#pcartAccount {
  position:relative;
  width:100%; max-width:480px; min-height:400px;
  padding:0; margin:0;
}
div#errmsg h2,
div#errmsg p {
  color:#ff0000;
}

div.pcbox1 {
  position:relative; display:inline-block;
  padding:5px 0 8px 0; margin:0 5px 5px 12px;
  min-width:300px; min-height:180px;
  background:#ffffee;
  border:1px solid #aaa;
  vertical-align:top;
}
  p.topr {
    position:absolute; top:4px; right:4px;
  }

img.pcprodimg {
  margin:0; padding:4px 0 8px 0;
  width:120px; height:auto;
}  
img.pcplaceholder {
  margin:1px 3px 3px 1px; padding:0 20px 0 20px;
  border:solid 1px #dddddd;
}  
div#pcartDiv {
  position:relative;
  width:100%;
  padding:0; margin:0;
}
div.pcartrow {
  position:relative;
  margin:0 0 0 12px; padding:0;
  width:96%; min-width:480px; min-height:12px; 
}

div.pc1,
div.pc2,
div.pc3,
div.pc4,
div.pc5,
div.pc6,
div.pc7 {
  position:relative; display:inline-block; margin:0; text-align:left; vertical-align:top;
}
div.pc1 {
  width:10%; min-width:100px; padding:4px 4px 2px 4px;
}
div.pc2 {
  width:6%; min-width:60px; padding:4px 4px 2px 0;
}
div.pc3 {
  width:56%; padding:4px 4px 2px 0;
}
div.pc4 {
  width:10%; min-width:90px; padding:4px 4px 2px 0;
  text-align:right;
}
div.pc5 {
  width:47%; padding:4px 0 2px 0;
}
div.pc6 {
  width:50%; padding:4px 0 2px 0;
  text-align:right;
}
div.pc7 {
  width:50%; padding:4px 0 2px 0;
}

.pcbg1 {
  background:#eee;
}
.pcbg2 {
  background:#fff;
}
.pcdivline {
  border-bottom:1px solid #ccc;
}

/* View Cart table */
table.pcviewcart {
  width:96%; margin:0 0 0 4px; padding:0;
  border-collapse:collapse;
}
  table.pcviewcart td {
    vertical-align:top; border-bottom:1px solid #ccc;
    padding:2px 0 2px 0;
  }
  table.pcviewcart td.chd {
    text-transform:uppercase;
    border-bottom:1px solid #000;
  }
  table.pcviewcart td.c1 {
    width:40px!important; text-align:left;
  }
  table.pcviewcart td.c2 {
    width:80px!important; text-align:left;
  }
  table.pcviewcart td.c3 {
    text-align:left;
  }
  table.pcviewcart td.c4 {
    width:90px!important; text-align:right;
  }

.viewCartQuan {
  font-size:24px; font-weight:bold; width:36px; height:32px;
  border:1px solid #c9c9c9; color:#181818; background:#fcfcfb;
  text-align:center;
  padding:5px;
}
.viewCartQuan:focus {
  font-size:24px; font-weight:bold; width:36px; height:32px;
  border:1px solid #8fd700; color:#181818; background:#ffffdd;
  text-align:center;
  padding:5px;
}
  
/* Online Orders Chart */
h1.pcchart {
  font-family:arial,helvetica,sans-serif; font-size:20px; font-weight:bold; color:#000;
  margin:2px 2px 2px 4px; padding:0;
  text-shadow:none;
}
table.pcchart {
  width:98%; margin:0 0 0 4px; padding:0; min-width:476px; max-width:800px; overflow:scroll;
  border-collapse:collapse;
}
  table.pcchart td {
    vertical-align:top;
    padding:8px 4px 8px 4px;
  }
  /* alternating row backgrounds */
  table.pcchart tr.c4 {background:#fbfbfb;}
  table.pcchart tr.c5 {background:#e9e9e9;}

  /* xml transfer speed indicators */
  .fail4 {background:#e4d5b2;}
  .fail5 {background:#d0be94;}
  .speed1 {background:#aa0000; color:#fff; font-weight:bold;}
  .speed2 {background:#ff0000; color:#fff; font-weight:bold;}
  .speed3 {background:#eeab00;}
  .speed4 {background:#eee600;}
  .speed5 {background:#aaee00;}
    
/* Add to Cart popup */
table.pcaddpopup {
  width:96%; margin:0 0 0 4px; padding:0;
  border-collapse:collapse;
}
  table.pcaddpopup td {
    vertical-align:top; border-bottom:1px solid #ccc;
    padding:0;
  }
  table.pcaddpopup td.chd {
    text-transform:uppercase; font-size:12px;
    border-bottom:1px solid #000;
  }
  table.pcaddpopup td.c1 {
    width:80px!important; text-align:left;
  }
  table.pcaddpopup td.c2 {
    width:40px!important; text-align:center;
  }
  table.pcaddpopup td.c3 {
    text-align:left;
  }
  table.pcaddpopup td.c4 {
    width:70px!important; text-align:right;
  }

table.pctotal {
  position:relative; float:right;
  width:300px; margin:0 4px 0 0; padding:0;
}
  table.pctotal td {
    font-size:14px;
  }
  
table.pchistory {
  width:97%; max-width:720px;
  border:1px solid #888;
}
  table.pchistory td {
    vertical-align:top;
    padding:2px 8px 8px 2px;
    border-bottom:1px solid #ddd;
  }
  table.pchistory td:first-child {
    width:200px;
  }
  table.pchistory td p {
    padding:0 0 8px 0;
  }

.pcNavBtns {
  position:relative;
  text-align:right;
}

input.btn2 {
  line-height:20px;
  font-family:arial,helvetica,sans-serif; font-size:16px; font-weight:bold; 
  letter-spacing:1px; vertical-align:middle; color:#fff;
  margin:0 1px 0 4px; padding:6px 12px 6px 12px; background:#0088ed;
  border:0; border-radius:0; text-transform:uppercase;
  cursor:pointer;
  user-select:none;
}
input.btn2:hover {
  background:#00cc00;
}

a.pcBtn,
a.pcBtn2,
a.pcBtn3,
a.pcRemoveBtn {
  display:inline-block; 
  font-family:arial,helvetica,san-serif; font-weight:bold;
  letter-spacing:1px; vertical-align:middle; 
  text-transform:uppercase; text-decoration:none; 
  cursor:pointer; user-select:none;
}

a.pcUpdateBtn {
  color:#000099;
  font-weight:bold;
  cursor:pointer;
}

a.pcRemoveBtn {
  line-height:20px; font-size:30px; color:#ff0000;
  margin:8px 0 8px 4px; padding:6px 10px 6px 10px; background:#fff;
  border:2px solid #ff0000; border-radius:6px;
}
a.pcRemoveBtn:link,
a.pcRemoveBtn:visited {text-decoration:none; font-weight:bold; color:#ff0000;}
a.pcRemoveBtn:hover   {
  text-decoration:none; font-weight:bold; color:#fff; background:#ff0000;
}
  
a.pcBtn {
  line-height:30px; font-size:16px; color:#fff;
  margin:0 1px 0 4px; padding:8px 12px 8px 12px; background:#0088ed;
  border:0; border-radius:0;
}
a.pcBtn:link,
a.pcBtn:visited {text-decoration:none; font-weight:bold; color:#fdfdfd;}
a.pcBtn:hover   {
  text-decoration:none; font-weight:bold; color:#fff; background:#00cc00;
}

a.pcBtn2 {
  line-height:22px; font-size:16px; color:#fff;
  margin:0 1px 4px 4px; padding:6px 12px 6px 12px; background:#0088ed;
  border:0; border-radius:0;
}
a.pcBtn2:link,
a.pcBtn2:visited {text-decoration:none; font-weight:bold; color:#fdfdfd;}
a.pcBtn2:hover   {
  text-decoration:none; font-weight:bold; color:#fff; background:#00cc00;
}

a.pcBtn3 {
  line-height:60px; font-size:50px; color:#fff;
  margin:0 1px 4px 4px; padding:20px 30px 20px 30px; background:#0088ed;
  border:0; border-radius:0;
}
a.pcBtn3:link,
a.pcBtn3:visited {text-decoration:none; font-weight:bold; color:#fdfdfd;}
a.pcBtn3:hover   {
  text-decoration:none; font-weight:bold; color:#fff; background:#00cc00;
}

span.storeclosed {
  display:inline-block;
  line-height:30px;
  font-family:arial,helvetica,sans-serif; font-size:16px; font-weight:bold; 
  letter-spacing:1px; vertical-align:middle; color:#fff;
  margin:0 1px 0 4px; padding:8px 12px 8px 12px; background:#888;
  border:0; border-radius:0; text-transform:uppercase;
}

span.soonBtn {
  line-height:30px;
  font-family:arial,helvetica,sans-serif; font-size:16px; font-weight:bold; 
  letter-spacing:1px; vertical-align:middle; color:#000;
  margin:0 1px 0 0; padding:8px 12px 8px 12px; background:#ffee00;
  border:1px solid #aaa; border-radius:0; text-transform:uppercase;
}

div.topR {
  position:absolute; top:6px; right:8px;
  padding:0; margin:0; width:24px; height:24px;
}
a.boxClose {
  display:block; width:24px; height:24px;
  font-family:verdana,helvetica,sans-serif; font-size:16px; font-weight:bold; 
  text-align:center; vertical-align:middle; color:#666;
  margin:0; padding:0; background:#fff;
  border-radius:5px;
  cursor:pointer;
}
a.boxClose:link,
a.boxClose:visited {text-decoration:none; font-weight:bold; color:#666;}
a.boxClose:hover   {
  text-decoration:none; font-weight:bold; color:#fff; background:#cc0000;
}

span.req {
  font-family:verdana,helvetica,sans-serif; font-size:12px; font-weight:bold; color:#ff0000;
} 

div.rentDaysBox {
  width:94%; max-width:500px; border:1px solid #999999;
  background:#ffffee;
  margin:2px 2px 2px 12px; padding:4px 4px 20px 4px;
}

label.radio {
  display:block; margin:6px 0 10px 0;
  font-size:16px;
  cursor:pointer;
}

label.ckbox {
  display:block; margin:6px 0 10px 0;
  font-size:16px;
  cursor:pointer;
}


/* pcart field length defaults */
#pcacctemail {width:400px;}
#pczip {width:160px;}
input#pcart1,
input#pcart2 {width:300px;}

/* get rid of number spinners */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance:none;
}  
input[type=number] {
  -moz-appearance:textfield;
}


/* extra pcart styles for this site */
textarea#zdisablemsg {
  min-width:460px; max-width:97%;
}

.pcdatedrop {
  min-width:90px;
}

/* position:fixed add to cart button */
body.cartItemFixed div.pcaddbtn {
  position:fixed; flex:none; left:0; bottom:0; min-height:120px; width:100%;
  justify-content:center; align-items:flex-end;
  padding-bottom:40px;
  background:rgba(255,255,255,0.9); border-top:1px solid #ccc; 
  z-index:99;
}
body.cartItemFixed #footer,
body.cartItemFixed #locations {
  display:none;
}
body.cartItemFixed #container {
  padding-bottom:200px;
}

/* PCart Styles End */



/* 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:18px;}
        
  /* reset flex columns */
  div.column1 {order:initial;}
  div.column2 {order:initial;}

  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:95%;
    font-family:'PT Sans',arial,helvetica,sans-serif !important;
  }
  iframe.youtube {
    max-width:100%; margin:0; padding:0;
  }

  div.formfield {
    max-width:95%;
  }
  
  #menu10 {
    display:block;
  }
  
  #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 img {
    max-width:23%;
  }
  #clientlist img {
    max-width:30%;
  }

  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 print {
  #container {
    /* overall page width, not the columns, 900px = good readability, 1000px = magazine font size */
    width:900px;  
  }
  #pagehead,
  #footer {
    display:none;
  }
  #pagebody {
    margin:0;
  }
  
  a {color:#000 !important;}
  a:link,
  a:visited {text-decoration:underline; font-weight:bold; color:#000 !important;}
  
  ul {
    margin:4px 0 0 16px !important;
  }
  li {
    margin:2px 0 20px 0; padding:1px 0 0 4px !important;
    list-style-type:square; background:none !important;
  }
  .paglink {
    padding-top:10px; margin-top:0;
  } 
}

@media all and (orientation:landscape) and (max-width:640px) {
  #pagehead,#menu1 {
    position:absolute;
  }
}

