/*
Theme Name: Jujuba Software
Author: Jujuba Software
Author URI: http://jujubasoftware.com/
Description: jujubasoftware.com theme
Version: 1.0
*/

/* --------------------------------------------------------------

   Reset default browser CSS.

   Based on work by Eric Meyer:
   http://meyerweb.com/eric/tools/css/reset/index.html

-------------------------------------------------------------- */

/* v1.0 | 20080212 */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}

/* Keep keyboard focus visible throughout the site. */
:focus-visible {
    outline: 2px solid #a34e00;
    outline-offset: 2px;
}

/* remember to highlight inserts somehow! */
ins {
    text-decoration: none;
}
del {
    text-decoration: line-through;
}

/* tables still need 'cellspacing="0"' in the markup */
table {
    border-collapse: collapse;
    border-spacing: 0;
}

a img { border: none; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}
/* --------------------------------------------------------------

   Rebuild the default browser styles

   Based on work by Blueprint CSS
   http://code.google.com/p/blueprintcss/

-------------------------------------------------------------- */


body {
    background: #fff;
}
body, input, textarea {
    color: #111;
    font: 12px Arial,sans-serif;
    line-height: 1.5;
}


/* Headings
-------------------------------------------------------------- */

h1,h2,h3,h4,h5,h6 {
    font-weight: normal;
    clear: both;
}
hr {
    background-color: #999;
    border:0;
    height: 1px;
    margin-bottom: 1.5em;
}


/* Text elements
-------------------------------------------------------------- */

p {
    margin-bottom: 1.5em;
}
ul {
    margin: 0 0 1.5em 2.5em;
}
ol {
    margin: 0 0 1.5em 2.5em;
}
ul {
    list-style:disc;
}
ol {
    list-style-type: decimal;
}
ol ol {
    list-style:upper-alpha;
}
ol ol ol {
    list-style:lower-roman;
}
ol ol ol ol {
    list-style:lower-alpha;
}
ul ul, ol ol, ul ol, ol ul {
    margin-bottom:0;
}
dl	{
    margin:0 1.5em;
}
dt {
    font-weight: bold;
}
dd {
    margin-bottom: 1.5em;
}
strong {
    font-weight: bold;
}
cite, em, i {
    font-style: italic;
}
blockquote {
    margin: 0 3em;
}
blockquote em, blockquote i, blockquote cite {
    font-style: normal;
}
pre {
    font: 11px Monaco, monospace;
    line-height: 1.5;
    margin-bottom: 1.5em;
}
code {
    font: 11px Monaco, monospace;
}
abbr, acronym {
    border-bottom: 1px dotted #666;
    cursor: help;
}
ins {
    text-decoration: none;
}
sup,
sub {
    height: 0;
    line-height: 1;
    vertical-align: baseline;
    position: relative;

}
sup {
    bottom: 1ex;
}
sub {
    top: .5ex;
}


/*

Adapt the following for use in your Child Themes when using
different font-sizes and line-heights

body, input, textarea {
    font: --px Arial,sans-serif;
    line-height:--;
}
p, ul, ol, dd, pre {
    margin-bottom:--em;
}
pre, code {
	font:--px Monaco, monospace;
	line-height:--;
}

All other styles can be overridden--or ignored!--in Child Theme stylesheets

*/

body{
    background:url('img/body-bg.png') #d8d8d8 repeat-x;
}

h1{
    font-size:20px;
    font-weight:bold;
    padding: 68px 0px 0px 7px;
    color: DarkOrange;
    margin-top:10px;
}

h1 a{
    color: darkorange;
    text-decoration:none;
}

h1 a:hover{
    text-decoration:underline;
}

#content header.page-header h1 {
   color: black;
   font-size:30px;
   border-bottom: thin solid black;
   margin-top:10px;
}

h2{
    font-size:15px;
    font-weight:bold;
    display:block;
    border-bottom:thin DarkOrange solid;
    margin-bottom:3px;
}

.entry-meta {
    font-style:italic;
    font-size:70%;
    margin: 5px 0 5px 0;
}

article {
    border-bottom: thin solid gray;
    padding-bottom: 10px;
    margin-bottom:10px;
}

.clear{
    clear:both;
}

#container{
    width:960px;
    margin: 10px auto;
}

#header{
    background-image:url('img/headerfooter-bg.png');
    height: 100px;
}

#logo_image{
    position:absolute;
    border:none;
}

#header_menu{
    background:url('img/content-bg.png') transparent repeat-y fixed center;
    height: 25px;
    border:#999999 thin solid;
    border-right:#999999 thin solid;
    position: relative;
    z-index: 10;
}

#content{
    background:url('img/content-bg.png') transparent repeat-y;
    min-height:400px;
    padding: 10px;
}

#footer{
    height:30px;
    background:url('img/headerfooter-bg.png') no-repeat 0 -270px;
    text-align:center;
}

.header_menu {
    margin:0px;
    font-size:17px;
    font-weight:bold;
    height:100%;
}

.header_menu li > .sub-menu {
    border-top:#999999 thin solid;
    position:absolute;
    top:25px;
    left:0;
    z-index:20;
    display:none;
    height:auto;
    margin:0;
}

.header_menu li li{
    border-left:#999999 thin solid;
    border-bottom:#999999 thin solid;
    clear:both;
    float:none;
    width: 300px;
    height:auto;
    min-height:25px;
    position:relative;
}

.header_menu li li > .sub-menu {
    top:-1px;
    left:300px;
}

.header_menu li:hover > .sub-menu,
.header_menu li:focus-within > .sub-menu {
    display:block;
}

.header_menu li{
    background:url('img/content-bg.png') transparent repeat-y fixed center;
    float:left;
    width:175px;
    list-style-type:none;
    text-align:center;
    border-right:#999999 thin solid;
    height:100%;
    position:relative;

}

.header_menu a, .header_menu a:visited{
    display:block;
    text-decoration:none;
    color:black;
    white-space:nowrap;
    min-height:25px;
    line-height:25px;
    touch-action:manipulation;
}

.header_menu a:hover{
    background-color:#dddddd;
}

.header_menu a:focus-visible {
    background-color:#dddddd;
    outline:2px solid DarkOrange;
    outline-offset:-2px;
}

.header_menu .current-menu-item>a,
.header_menu .current-menu-ancestor>a{
    color:DarkOrange;
}

.header_menu .sub-menu li.menu-item a {
    text-align:left;
    padding-left: 20px;
}

#footer_menu{
    background:url('img/content-bg.png') transparent repeat-y;
    text-align:center;
    width:100%;
    height:20px;
}

.footer_menu{
    margin:0px;
    height:100%;
    display: inline-block;
}

.footer_menu a, .footer_menu a:visited{
    color:gray;
}

.footer_menu li{
    float:left;
    margin-left:15px;
    list-style-type:none;
}

a.downloadlink {
  font-size:120%;
  font-weight:bold;
  color:darkorange;
  text-decoration:none;
}

a.downloadlink:hover {
   text-decoration:underline;
}


/************************/

.img_float_right{
    float:right;
    margin-left:5px;
}

.info_img{
    display:block;
}

.info_button{
    display:block;
    width:90px;
    border:#999999 thin solid;
    text-align:center;
}

a.large_button{
    font-size:250%;
    font-weight:bold;
    width:auto;
    padding:0px 10px 0px 10px;
    text-decoration:none;
    border:#999999 2px solid;
}

.info_button:hover{
    background-color:DarkOrange;
    color:white;
}

.float_left{
    float:left;
}

.float_right{
    float:right;
}

.thin_border{
    border:#999999 thin solid;
}

.full_width_block{
    width:918px;
    border:#999999 thin solid;
    padding:10px;
    text-align:justify;
}

.product_description{
    font-size:125%;
    text-align:justify;
}

.news_header{
    color:DarkOrange;
    font-weight:bold;
}

.thumb_list li{
    list-style-type:none;
    float:left;
    margin:10px;
    padding:10px;
    border:#999999 thin solid;
}

.thumb_list li>div{
    width:200px;
    height:200px;
    display:table;
    #position:relative;
    overflow:hidden;
}


.thumb_list li>div>div{
    #position:absolute;
    display:table-cell;
    vertical-align:middle;
    #top:50%;
}

.thumb_list li>div>div>div{
    display:block;
    #position:absolute;
    #top:-50%;
}



/* Wordpress improvements
-------------------------------------------------------------- */

.product_description h1 {
    padding-top: 0;
}

.comment-form-comment textarea {
    display: block;
    width: 100%;
}

.social_buttons {
    position:absolute;
    left:780px;
    top:10px;
    width:180px;
}

.social_buttons td {
    vertical-align: top;
}

.alignright {
float:right;
margin: 5px 0px 5px 10px;
}

/* Contact form */
.contact-section { clear: both; max-width: 36em; }
.contact-form label { display: block; font-weight: bold; margin-bottom: .35em; }
.contact-form input, .contact-form textarea { box-sizing: border-box; width: 100%; padding: .6em; font: inherit; border: 1px solid #777; background: #fff; color: #222; }
.contact-form textarea { resize: vertical; }
.contact-form button { padding: .65em 1.2em; font: inherit; font-weight: bold; cursor: pointer; background: #a94400; color: #fff; border: 1px solid #863600; }
.contact-form button:disabled { opacity: .6; cursor: wait; }
.contact-honeypot { display: none; }
.contact-notice { font-size: .9em; }
.contact-error { color: #9a1b12; }
#contact-status { min-height: 1.5em; }

.contact-preview-notice { border-left: 4px solid #a94400; padding: .6em .8em; background: #fff3df; }
.contact-security-placeholder { box-sizing: border-box; max-width: 300px; padding: 1em; border: 1px dashed #777; background: #f5f5f5; color: #555; text-align: left; }
.contact-form button[type="button"]:disabled { cursor: default; }


/* Responsive navigation and page layout. Without JavaScript, links stay visible. */
.nav-toggle, .submenu-toggle { display: none; }

@media (max-width: 960px), (pointer: coarse) {
    html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
    body { font-size: 16px; }
    #container { width: calc(100% - 20px); max-width: 960px; }
    #header, #footer { background-size: 100% 300px; }
    #logo_image { left: 8px; top: 0; max-width: calc(100% - 16px); height: auto; }
    #content, #header_menu, #footer_menu { background-size: 100% auto; background-attachment: scroll; }
    #header_menu { height: auto; min-height: 44px; }
    .header_menu { display: block; height: auto; }
    .header_menu li {
        box-sizing: border-box;
        display: flex;
        flex-wrap: wrap;
        float: none;
        width: 100%;
        height: auto;
        min-height: 44px;
        border-right: 0;
        border-bottom: 1px solid #999;
    }
    .header_menu a, .header_menu a:visited {
        box-sizing: border-box;
        display: flex;
        align-items: center;
        flex: 1;
        min-width: 0;
        min-height: 44px;
        padding: 8px 12px;
        line-height: 1.4;
        text-align: left;
        white-space: normal;
    }
    .header_menu li > .sub-menu {
        display: block;
        position: static;
        flex-basis: 100%;
        width: 100%;
        margin: 0;
    }
    .header_menu li li { width: 100%; border-left: 0; }
    .header_menu .sub-menu > li.menu-item > a { padding-left: 24px; }
    .header_menu .sub-menu .sub-menu > li.menu-item > a { padding-left: 36px; }
    #header_menu.nav-ready > .header_menu,
    #header_menu.nav-ready .header_menu li > .sub-menu { display: none; }
    #header_menu.nav-ready > .nav-toggle[aria-expanded="true"] + .header_menu,
    #header_menu.nav-ready .submenu-toggle[aria-expanded="true"] + .sub-menu { display: block; }
    #header_menu.nav-ready .nav-toggle,
    #header_menu.nav-ready .submenu-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 44px;
        border: 0;
        background: transparent;
        color: #111;
        font: inherit;
        font-weight: bold;
        cursor: pointer;
        touch-action: manipulation;
    }
    #header_menu.nav-ready .nav-toggle {
        justify-content: flex-start;
        gap: 8px;
        width: 100%;
        padding: 8px 12px;
        font-size: 17px;
    }
    #header_menu.nav-ready .submenu-toggle { flex: 0 0 44px; border-left: 1px solid #999; }
    .submenu-toggle[aria-expanded="true"] > span { transform: rotate(180deg); }
    #content .full_width_block { box-sizing: border-box; width: 100%; }
    .product_description { font-size: 1rem; }
    .product_description, .full_width_block { text-align: left; overflow-wrap: anywhere; }
    #content img { max-width: 100%; height: auto; }
    .alignright, .img_float_right, .float_right, .float_left { float: none; max-width: 100%; margin: 0 0 12px; }
    #footer_menu { height: auto; }
    .footer_menu { display: flex; flex-wrap: wrap; justify-content: center; }
    .footer_menu li { float: none; margin: 0 4px; }
    .footer_menu a { display: block; padding: 8px; }
    #footer { font-size: 12px; }
}
