/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 *   
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

body {
margin-top: 0px; margin-bottom: 2px; margin-left: 2px; margin-right: 2px;
font-family: "Helvetica Neue", Helvetica; font-style: normal; font-variant: normal; font-size: 13px;
-webkit-text-size-adjust: none;
-webkit-touch-callout: none;
-webkit-tap-highlight-color: rgba(0,0,0,0);
-webkit-user-select: none;
}

.delayed {
visibility: hidden;
}

.devicewidth {
position: absolute; top: 0px; left: 0px; width: 100%; height: 5000px; overflow: hidden;
}

.mainbodydiv {
position: absolute; top: 0px; left: 0px; width: 100%; height: 5000px; overflow: hidden;
}

.bodydiv {
position: absolute; top: 0px; left: 0px; width: 100%; height: 5000px; overflow: hidden;
}

.viewcontainer3dm {
-webkit-perspective: 1000;
}

.viewcontainer3d {
}

.leftviewloading3dm {
position: absolute; top: 0px; left: 0px; width: 100%; height: 5000px; overflow: visible;
-webkit-transform: translate3d(100%, 0px, 0) rotateY(0deg);
-webkit-backface-visibility: hidden; background-color: #ffffff;
-moz-transform: translate(100%, 0px);
-ms-transform: translate(100%, 0px);
transform: translate(100%, 0px);
}

.rightviewloading3dm {
position: absolute; top: 0px; left: 0px; width: 100%; height: 5000px; overflow: visible;
-webkit-transform: translate3d(-100%, 0px, 0) rotateY(0deg);
-webkit-backface-visibility: hidden; background-color: #ffffff;
-moz-transform: translate(-100%, 0px);
-ms-transform: translate(-100%, 0px);
transform: translate(-100%, 0px);
}

.flipviewloading3dm {
position: absolute; top: 0px; left: 0px; width: 100%; height: 5000px; overflow: visible;
-webkit-transform: translate3d(0px, 0px, 0) rotateY(180deg);
-webkit-backface-visibility: hidden; background-color: #ffffff;
-moz-transform: translate(100%, 0px);
-ms-transform: translate(100%, 0px);
transform: translate(100%, 0px);
}

.viewloading3d {
position: absolute; top: 0px; left: 0px; width: 100%; height: 5000px; overflow: visible;
visibility: hidden;
-webkit-transform: translate3d(100%, 0px, 0) rotateY(0deg);
-webkit-backface-visibility: hidden; background-color: #ffffff;
-moz-transform: translate(100%, 0px);
-ms-transform: translate(100%, 0px);
transform: translate(100%, 0px);
}

.viewloaded3dm {
position: absolute; top: 0px; left: 0px; width: 100%; height: 5000px; overflow: visible;
-webkit-transition: -webkit-transform 0.5s ease-in-out;
-moz-transition: -moz-transform 0.5s ease-in-out;
-ms-transition: -ms-transform 0.5s ease-in-out;
transition: transform 0.5s ease-in-out;
-webkit-transform: translate3d(0px, 0px, 0) rotateY(0deg);
-webkit-backface-visibility: hidden; background-color: #ffffff;
-moz-transform: translate(0px, 0px);
-ms-transform: translate(0px, 0px);
transform: translate(0px, 0px);
}

.viewloaded3d {
position: absolute; top: 0px; left: 0px; width: 100%; height: 5000px; overflow: visible;
-webkit-transform: translate3d(0px, 0px, 0) rotateY(0deg);
-webkit-backface-visibility: hidden; background-color: #ffffff;
-moz-transform: translate(0px, 0px);
-ms-transform: translate(0px, 0px);
transform: translate(0px, 0px);
}

.viewunloading3dm {
position: absolute; top: 0px; left: 0px; width: 100%; height: 5000px; overflow: visible;
-webkit-transform: translate3d(0px, 0px, 0) rotateY(0deg);
-webkit-backface-visibility: hidden; background-color: #ffffff;
-moz-transform: translate(0px, 0px);
-ms-transform: translate(0px, 0px);
transform: translate(0px, 0px);
}

.leftviewunloaded3dm {
position: absolute; top: 0px; left: 0px; width: 100%; height: 5000px; overflow: visible;
-webkit-transition: -webkit-transform 0.5s ease-in-out;
-moz-transition: -moz-transform 0.5s ease-in-out;
-ms-transition: -ms-transform 0.5s ease-in-out;
transition: transform 0.5s ease-in-out;
-webkit-transform: translate3d(-100%, 0px, 0px) rotateY(0deg);
-webkit-backface-visibility: hidden; background-color: #ffffff;
-moz-transform: translate(-100%, 0px);
-ms-transform: translate(-100%, 0px);
transform: translate(-100%, 0px);
}

.rightviewunloaded3dm {
position: absolute; top: 0px; left: 0px; width: 100%; height: 5000px; overflow: visible;
-webkit-transition: -webkit-transform 0.5s ease-in-out;
-moz-transition: -moz-transform 0.5s ease-in-out;
-ms-transition: -ms-transform 0.5s ease-in-out;
transition: transform 0.5s ease-in-out;
-webkit-transform: translate3d(100%, 0px, 0) rotateY(0deg);
-webkit-backface-visibility: hidden; background-color: #ffffff;
-moz-transform: translate(100%, 0px);
-ms-transform: translate(100%, 0px);
transform: translate(100%, 0px);
}

.flipviewunloaded3dm {
position: absolute; top: 0px; left: 0px; width: 100%; height: 5000px; overflow: visible;
-webkit-transition: -webkit-transform 0.5s ease-in-out;
-moz-transition: -moz-transform 0.5s ease-in-out;
-ms-transition: -ms-transform 0.5s ease-in-out;
transition: transform 0.5s ease-in-out;
-webkit-transform: translate3d(0px, 0px, 0) rotateY(-180deg);
-webkit-backface-visibility: hidden; background-color: #ffffff;
-moz-transform: translate(0px, 0px);
-ms-transform: translate(0px, 0px);
transform: translate(0px, 0px);
}

table {
border: 0px; border-collapse: collapse; border-color: #a2bae7; border-style: solid;
font-family: "Helvetica Neue", Helvetica; font-style: normal; font-variant: normal; font-size: 13px;
overflow: visible;
}

.trb {
border-bottom: 1px; border-bottom-style: solid; border-color: #dcdcdc;
}

th {
font-weight: bold; background-color: #d4e6fc; color: #000000; height: 18px;
text-align: left; padding-left: 2px; padding-right: 8px; padding-top: 0px; padding-bottom: 0px; vertical-align: middle; white-space: nowrap;
border-top: 1px; border-bottom: 1px; border-left: 1px; border-right: 1px; border-style: solid; border-top-color: #a2bae7; border-bottom-color: #d1d3d4; border-left-color: #a2bae7; border-right-color: #a2bae7;
overflow: hidden;
}

.section {
font-weight: bold; background-color: #d4e6fc; color: #000000; height: 24px; padding-top: 1px; padding-bottom: 0px; padding-left: 2px; padding-right: 2px;
border-top: 1px; border-bottom: 1px; border-left: 0px; border-right: 0px; border-style: solid; border-top-color: #a2bae7; border-bottom-color: #d1d3d4; border-left-color: #a2bae7; border-right-color: #a2bae7;
overflow: hidden;
}

.hsection {
width: 100%; height: 50px;
border-top: 0px; border-bottom: 0px; border-left: 0px; border-right: 0px; border-style: solid; border-bottom-color: #000000; background-color: #ffffff;
padding: 0px; margin-bottom: 0px; margin-left: auto; margin-right: auto; text-align: center;
}

.fsection{
width: 100%; height: 50px; border-top: 0px; border-bottom: 0px; border-left: 0px; border-right: 0px; border-style: solid; border-top-color: #a2bae7;
padding: 0px; margin-top: 0px; margin-left: auto; margin-right: auto; text-align: center;
}

.text {
padding-top: 3px; padding-bottom: 4px; vertical-align: middle; white-space: nowrap;
}

.thl {
border-left: 0px;
}

.thr {
border-right: 0px;
}

.ths {
padding: 0px;
}

td {
padding-left: 2px; padding-top: 2px; padding-right: 8px; white-space: nowrap; vertical-align: middle; border: 0px;
}

.tdl {
border-right: 1px; border-style: solid; border-color: #a2bae7; width: 10px;
}

.tdr {
border-left: 1px; border-style: solid; border-color: #a2bae7;
}

.tdw {
padding-left: 2px; padding-top: 2px; padding-right: 8px; white-space: normal; vertical-align: middle;
}

.datatd {
border-top: 1px; border-bottom: 1px; border-style: solid; border-color: #dcdcdc; width: 10px; vertical-align: middle;
}

.datatdl {
border-right: 1px; border-top: 1px; border-bottom: 1px; border-style: solid; border-color: #dcdcdc; width: 10px; vertical-align: middle;
}

.datatdltop {
border-right: 1px; border-top: 1px; border-bottom: 1px; border-style: solid; border-color: #dcdcdc; width: 10px; vertical-align: top;
}

.datatdr {
border-left: 1px; border-top: 1px; border-bottom: 1px; border-style: solid; border-color: #dcdcdc; vertical-align: middle;
}

.datatable {
border-top: 1px; border-bottom: 1px; border-style: solid; border-color: #dcdcdc;
overflow: visible;
}

.databg {
opacity: .6;  
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
filter: alpha(opacity=60);
}

.guide {
border: 1px; border-style: solid; border-color: #c0c0c0;
}

iframe {
border: 0px; margin: 0px; padding: 0px;
}

.fakeframe {
padding: 3px; background-color: #dcdcdc; color: #000000;
}

input {
vertical-align: middle;
font-family: "Helvetica Neue", Helvetica; font-style: normal; font-variant: normal; font-size: 13px;
-webkit-text-size-adjust: 100%;
}

textarea {
font-family: "Helvetica Neue", Helvetica; font-style: normal; font-variant: normal; font-size: 13px;
overflow: auto; resize: none;
}

.editable {
background-color: transparent;
font-family: inherit; font-style: inherit; font-variant: inherit; font-size: inherit; font-weight: inherit;
padding: 0px; margin: 0px;
overflow: auto; resize: none;
outline: none; -webkit-appearance: none; -moz-outline-style: none;
-webkit-text-size-adjust: 100%;
border: 0px;
}

a:link {
color: #598edd; text-decoration: none; white-space: nowrap;
}

a:visited {
color: #598edd; text-decoration: none; white-space: nowrap;
}

.amenu {
color: #598edd; text-decoration: none; white-space: nowrap;
}

.smenu {
font-weight: bold; color: #000000; text-decoration: none; white-space: nowrap;
}

h1 {
font-size: 150%; font-weight: bold; vertical-align: middle; margin-top: 5px; margin-bottom: 5px; margin-left: 2px; margin-right: 2px; white-space: nowrap;
}

h2 {
font-size: 120%; font-weight: bold; vertical-align: middle; margin-top: 5px; margin-bottom: 5px; margin-left: 2px; margin-right: 2px; white-space: nowrap;
}

.hd1 {
font-size: 150%; font-weight: bold; white-space: nowrap;
}

.hd2 {
font-size: 120%; font-weight: bold; white-space: nowrap;
}

img {
border: 0px;
}

.imgbutton {
width: 142px; height: 64px; margin-left: 20px; margin-right: 20px; padding: 0px; border: 1px; cursor: pointer;
}

.toolbutton {
font-weight: bold; font-size: 16px;
display: inline-block; width: 24px; height: 20px; padding: 0px;
vertical-align: middle; text-align: center; margin-left: 0px; margin-right: 0px;
padding-left: 0px; padding-right: 0px; padding-top: 0px; padding-bottom: 0px;
}

.greenbutton {
-webkit-border-radius: 4px;
border-radius: 4px;
background: #96d333;
background: -moz-linear-gradient(top, #f8f8f8 0%, #96d333 80%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f8f8f8), color-stop(80%,#96d333));
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f8f8f8', endColorstr='#96d333',GradientType=0 );
background: -o-linear-gradient(top, #f8f8f8 0%,#96d333 80%);
border: 1px outset #dcdcdc;
padding-left: 4px; padding-right: 4px; padding-top: 2px; padding-bottom: 2px; margin: 2px;
cursor: pointer;
}

.tgreenbutton {
-webkit-border-radius: 4px;
border-radius: 4px;
background: #96d333;
background: -moz-linear-gradient(top, #f8f8f8 0%, #96d333 80%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f8f8f8), color-stop(80%,#96d333));
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f8f8f8', endColorstr='#96d333',GradientType=0 );
background: -o-linear-gradient(top, #f8f8f8 0%,#96d333 80%);
border: 1px outset #dcdcdc;
padding-left: 4px; padding-right: 4px; padding-top: 2px; padding-bottom: 2px; margin: 2px;
cursor: pointer;
}

.bluebutton {
-webkit-border-radius: 4px;
border-radius: 4px;
background: #598edd;
background: -moz-linear-gradient(top, #f8f8f8 0%, #598edd 80%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f8f8f8), color-stop(80%,#598edd));
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f8f8f8', endColorstr='#598edd',GradientType=0 );
background: -o-linear-gradient(top, #f8f8f8 0%,#598edd 80%);
border: 1px outset #dcdcdc;
padding-left: 4px; padding-right: 4px; padding-top: 2px; padding-bottom: 2px; margin: 2px;
cursor: pointer;
}

.redbutton {
-webkit-border-radius: 4px;
border-radius: 4px;
background: #d03f41;
background: -moz-linear-gradient(top, #f8f8f8 0%, #d03f41 80%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f8f8f8), color-stop(80%,#d03f41));
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f8f8f8', endColorstr='#d03f41',GradientType=0 );
background: -o-linear-gradient(top, #f8f8f8 0%,#d03f41 80%);
border: 1px outset #dcdcdc;
padding-left: 4px; padding-right: 4px; padding-top: 2px; padding-bottom: 2px; margin: 2px;
cursor: pointer;
}

.orangebutton {
-webkit-border-radius: 4px;
border-radius: 4px;
background: #ffbb00;
background: -moz-linear-gradient(top, #f8f8f8 0%, #ffbb00 80%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f8f8f8), color-stop(80%,#ffbb00));
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f8f8f8', endColorstr='#ffbb00',GradientType=0 );
background: -o-linear-gradient(top, #f8f8f8 0%,#ffbb00 80%);
border: 1px outset #dcdcdc;
padding-left: 4px; padding-right: 4px; padding-top: 2px; padding-bottom: 2px; margin: 2px;
cursor: pointer;
}

.graybutton {
-webkit-border-radius: 4px;
border-radius: 4px;
background: #dcdcdc;
background: -moz-linear-gradient(top, #f8f8f8 0%, #dcdcdc 80%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f8f8f8), color-stop(80%,#dcdcdc));
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f8f8f8', endColorstr='#dcdcdc',GradientType=0 );
background: -o-linear-gradient(top, #f8f8f8 0%,#dcdcdc 80%);
border: 1px outset #dcdcdc;
padding-left: 4px; padding-right: 4px; padding-top: 2px; padding-bottom: 2px; margin: 2px;
margin: 2px;
cursor: pointer;
}

.tbar {
margin: 0px; width: 100%; padding-top: 0px; padding-left: 0px; padding-right: 0px; padding-bottom: 0px; border-collapse: separate;
background-color: #2c2c2c;
}

.ltbar {
padding-left: 2px; padding-right: 6px; padding-top: 3px; padding-bottom: 4px; white-space: nowrap; vertical-align: middle;
}

.dtbar {
padding-left: 0px; padding-right: 0px; padding-top: 3px; padding-bottom: 4px; white-space: nowrap; vertical-align: middle; text-align: right;
}

.rtbar {
padding-left: 6px; padding-right: 2px; padding-top: 3px; padding-bottom: 4px; white-space: nowrap; vertical-align: middle; text-align: right;
}

.tbaramenu {
color: #cccccc; text-decoration: none; white-space: nowrap; vertical-align: middle;
}

.tbarsmenu {
font-weight: bold; color: #ffffff; text-decoration: none; white-space: nowrap; vertical-align: middle;
}

.suggest {
background-color: #d4e6fc; color: #598edd;
border-top: 1px; border-bottom: 1px; border-left: 1px; border-right: 1px; border-style: solid; border-top-color: #a2bae7; border-bottom-color: #d1d3d4; border-left-color: #d1d3d4; border-right-color: #d1d3d4;
position: absolute; overflow: auto; overflow-x: hidden; padding: 0px; margin: 0px;
cursor: default;
}

.suggestTable {
border: 0px; border-collapse: separate; padding-left: 5px; padding-right: 5px; padding-top: 2px; padding-bottom: 2px; margin: 0px;
}

.suggestItem {
padding-left: 2px; padding-top: 0px; padding-bottom: 0px; padding-right: 2px; vertical-align: middle; background-color: #d4e6fc; color: #598edd;
}

.suggestHilighted {
padding-left: 2px; padding-top: 0px; padding-bottom: 0px; padding-right: 2px; vertical-align: middle; background-color: #598edd; color: #d4e6fc;
}

.svgtitle {
margin: 0px; padding: 0px; font-family: "Helvetica Neue", Helvetica; font-style: normal; font-variant: normal; font-size: 10px; cursor: default;
}

