@font-face {
    font-family: cp-icon;
    src: url(./fonts/icnfnt.woff) format("woff");
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(359deg);
  }
}
.spnmt {
    animation: spin 2s infinite linear;
    display: inline-block;
}
/*[disabled] {cursor: not-allowed;}*/
* {box-sizing: border-box;}
html, body {
    padding: 0;
    margin: 0;
    height: 100%;
    width: 100%;
    min-width: 400px;
    min-height: 150px;
    font-family: Times, serif;
    font-weight: 400;
    font-size: 10pt;
    font-display: optional;
    color: rgb(77,77,77);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-overflow-scrolling: touch;
}
html {overflow: auto;}
body {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: stretch;
    align-content: stretch;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    /*touch-action: none; -webkit-overflow-scrolling: touch; auto*/
    z-index: -5;
}

g, circle, path, line, polyline, polygon, ellipse, rect, text, textPath, tspan {
    pointer-events: inherit;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

path, text, textPath:hover {
    cursor: pointer;
}

::-webkit-scrollbar {width: 9px; height: 9px;}
::-webkit-scrollbar-track {border-radius: 3px;
                           -webkit-box-shadow: inset 0 0 3px rgba(0,0,0,0.35);}
::-webkit-scrollbar-thumb {border-radius: 3px;
                           background-color: rgba(65,143,205,0.35);
                           -webkit-box-shadow: inset 0 0 3px rgba(0,0,0,0.5);}

.hdr {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: stretch;
    align-content: space-around;
    width: 100%;     
    height: 39px;            /*56px; auto min-width: 100%; center*/
    position: fixed;
    margin: 0;
    padding: 0 0 0 calc(2% + 15px);
    border: 0;
    box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 1px rgba(0, 0, 0, 0.11), 0 3px 2px -2px rgba(0, 0, 0, 0.17);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14pt;    /*20px;*/
    font-weight: normal;
    background-color: rgba(255,255,255,0.8);
    will-change: transform;
    user-select: none;
    z-index: 21;
}
.hdr-ttl {
    font-weight: normal;
    letter-spacing: 2px;
    margin: auto;
    cursor: pointer;            /*margin-left: 1.7em;*/
    flex: 1;
    background-color: transparent;
}
.hdr .hdr-btn {
    width: 38px;
    height: auto;
    margin: auto;           /*margin-left: 1em; margin-right: 0.5em;*/
    overflow: hidden;
    border: none;
    outline: none;
    cursor: pointer;
}
.hdr-btn {
    background-color: transparent;
}
.pp-bx {
    position: fixed;
    left: 50%;
    top: 25%;
    width: 248px;
    height: auto;
    min-width: 155px;
    min-height: 99px; 
    transform: translate(-50%, 0);
    border:2px solid rgb(99,99,99); 
    border-radius: 7px;
    overflow: hidden;
    font-family: Gill Sans; 
    box-sizing: border-box;
    pointer-events: auto; 
    z-index: 15;
    opacity: 0.2;
    transition: opacity .55s;
    -webkit-transition: opacity .55s;
}
.pp-btn {
    width: auto;
    height: auto;
    min-width: 81px;
    max-height: 48px;
    margin: 0.7em;
    padding: 5px 12px 5px 12px;
    border: none;
    border-radius: 5px;
    background-color: lightgray
    color: black;
    font-size: 12px;
    font-weight: normal;
    letter-spacing: 1px;
    text-align: center;
    user-select: none;
    outline: none;
    pointer-events: auto;
}
.pp-btn:hover {
    cursor: pointer;
    opacity: 0.8;
}
.cnt-sts {
    display: inline;
    position: relative;
    height: auto;
    margin: auto;
    width: auto;
    min-width: 99px;
    text-align: center;
    padding: auto;
    background-color: transparent;
}
.nctd {
    position: relative;
    bottom: 0.5em;
    overflow: hidden;
    margin: auto;
    margin-left: 0.5em;
    vertical-align: middle;
    border: none;
    outline: none;
    text-align: center;
    font-size: 13px; 
    font-family: Helvetica, Arial, sans-serif;
    letter-spacing: 1px;
    background-color: transparent;
}
.npntrvts, .pvntsn {pointer-events:none;}
.usn {user-select: none;}

.chkblk {
    vertical-align: middle;         /*padding-left: var(--chkmrkw); line-through;*/
    text-decoration: line-through var(--cp-crstclr) solid;      
    -webkit-text-decoration: line-through var(--cp-crstclr);
    color: var(--cp-tmclr);
    background-color: var(--cp-tmbkclr);
}

.chkblk:before {
    content: attr(data-chkmrk); /*"\2610"; "\2713"*/ 
    position: absolute;
    vertical-align: middle; 
    width: var(--cp-chkw);
    left: 0;
    text-align: center;
    font-size: inherit;
}

.hbx {
    resize: none;
    /*letter-spacing: normal;*/
}
.hbx:hover {
    resize: both;
}
.rsz {
    border-bottom-right-radius: 0;
    resize: both;
}

.lftd {
    box-shadow: 2px 2px 3px 2px rgba(77, 77, 77, 0.5);
}

.hdn {
    position:	absolute;
	bottom:		0;
	left:		0;
	width:		10px;
	height:		10px;
	display:	block;
	font-size:	1;
	z-index:	-1;
	color:		transparent;
	background:	transparent;
	overflow:	hidden;
	border:		none;
	padding:	0;
	resize:		none;
	outline:	none;
	-webkit-user-select: text;
	user-select: text;
}

.stl, circle {
    cursor: pointer;
}
/*circle:hover {
    cursor: pointer;
}*/

.mn {
  /*padding-top: 60px;*/
  flex: 1;
  overflow-x: hidden;
  overflow-y: auto;
}
.svglr {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0px; 
    padding: 0px;
    font-family: Times, serif;
    font-size: 12pt;
    z-index: 6;
}

.mdl {
    display: block; /* Hidden by default */
    position: fixed; /* Stay in place */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgba(1, 1, 1, 0.7);
    z-index: 22; /* Sit on top */
    opacity: 0.2;
    transition: opacity 0.33s ease-in-out;
}
.clsmdl {
    position: absolute;
    right: 1em;
    top: 1em;
    font-size: 35pt;
    font-weight: bold;
    color: rgba(199, 199, 199, 1);
    cursor: pointer;
}
.clsmdl:hover {
    color: rgba(233, 233, 233, 1);
}
a, .btn:hover {cursor: pointer}
.txt, .txtbt, .txttp {
    margin: 1em 0 0 0;
    background-color: inherit;
    border: none;
    border-radius: 0;
    border-bottom: 2px solid black;
    font-size: 11pt;
    text-align: inherit;
    display: inline-block;
}
.txttp, .txtbt {
    font-size: 11pt;
    font-family: "Gill Sans";
    letter-spacing: 0.7px;
    margin: 0 0 0 0;
}
.txtbt {
    border-bottom: none;
}
input, textarea, [contenteditable] {
    -webkit-user-modify: read-write;
    -webkit-user-select: text;
    user-select: text;
}

input[type='range'] {
    -webkit-appearance: none;
    background:gray;
    height:3px;
}
input[type='range']::-webkit-slider-thumb {
    -webkit-appearance: none;
    background:steelblue;
    height:15px;
    width:15px;
    border: 1px solid rgb(77,77,77);
    border-radius: 2px;
    cursor: pointer;
}

.slct {
    position: relative;
}
.slct select, .slct-hd{
    display: none;
}
.slct-slctd {
    background-color: #fff;
    width: 148px;
    height: 23px;
    border: none;
    border-radius: 4px;
    padding: 8px 11px 8px 9px;
    line-height: 55%;
    text-align: left;
    font-size: 12px;
    font-family: Tahoma, sans-serif;
    letter-spacing: 0.5px;
}
.slct-slctd:after {
    position: absolute;
    content: "";
    top: 8px;           /*calc(50% - 3px);*/
    right: 6px;
    width: 0;
    height: 0;
    border: 5px solid transparent;
    border-width: 8px 5px;
    border-color: #373737 transparent transparent transparent;
    }
.slct-slctd.slct-rrw-ctv:after {
    border-color: transparent transparent #373737 transparent;
    top: 0;
}
.slct-tms div, .slct-slctd {
    color: #373737;
    text-align: left;
    cursor: pointer;
    user-select: none;
}
.slct-tms div {
    border: 2px solid transparent;
    padding: 1px 0 1px 6px;
}
.slct-tms {
    position: absolute;
    background-color: #fff;
    border: 1px solid lightgray;
    top: 100%;
    left: 0;
    right: 0;
    max-height: 270px;
    overflow-y: auto;
    z-index: 88;
}
.slct-tms div:hover {
    border-color: rgb(65,143,205);
}
.slct-slctdtm {
    background-color: #dcdcdc;       /*DodgerBlue*/
}

.bx {
    box-sizing: border-box;
    border-radius: 7px;
    transition: border-radius 0.33s, opacity 0.33s ease-in-out;
    user-select: none;
    -webkit-user-select: none;
    white-space: normal;
    cursor: auto;
}
.bx:hover {
    border-bottom-right-radius: 0;
    /*resize: both;*/
    cursor: pointer;
    box-shadow: 0 0 2px 1px rgba(222, 222, 255, 0.5);
}
.bx:focus {
    user-select: auto;
    pointer-events: auto;
    cursor: auto;
}
.bxrsz {
    border-radius: var(--bdrbr);
    /*border-bottom-right-radius: 0;*/
}

#acnt, #npg:hover {
    cursor: pointer;
}

.posrel {
    position: relative;
}
.ttp:before {
    visibility: hidden;
    position: absolute;
    right: 0;
    top: 150%;
    margin: 0 0 0 0;
    padding: 0px 11px;
    font-family: Helvetica;
    font-size: 11pt;
    letter-spacing: 1px;
    text-transform: lowercase;
    text-align: center;
    vertical-align: center;
    color: gold;
    background-color: RoyalBlue;
    border-radius: 3px;
    opacity: 0;
    transition: opacity 0.5s ease-out;
    content: attr(tptxt);
    z-index: 5
}
.ttp:hover:before {
    visibility: visible;
    opacity: 1;
}
.tip {
    display: none;
    visibility: hidden;
    position: absolute;
    padding: 5px 11px 5px 11px;
    font-family: Helvetica;
    font-size: 10pt;
    letter-spacing: 1px;
    text-align: center;
    color: gold;
    background-color: RoyalBlue;
    border-radius: 3px;
    transition: opacity 0.5s ease-out;
    z-index: 5
}
.tip:before {
    width: 0; 
    height: 0;
    border: 11px solid transparent;
    border-bottom-color: royalblue;
    color: gold;
}
.frmttl {
    display: none;
    position: relative;
    top: -0.5em;
    text-align: center;
    letter-spacing: 1.5pt;
}
.frmtxt {
    display: block; 
    margin: 1em; 
    padding: 0.7em; 
    background-color: white; 
    border: 1px solid rgb(77,77,77); 
    border-radius: 0.25em; 
    box-sizing: border-box;
    font-size: 11pt; 
    letter-spacing: .5pt;
}
.frmbtn {
    display: block; 
    cursor: pointer; 
    margin: 1em; 
    padding: 0.7em; 
    border: none; 
    border-radius: 0.25em;
    box-sizing: border-box;
    background-color: rgb(65,135,235); 
    color: white; 'text-align: center; 
    vertical-align: middle; width: 91%; 
    font-size: 12pt; 
    text-transform: uppercase; 
    letter-spacing: 1.5pt;
    transition: all 0.05s ease-in-out;
}
.frmbtn:hover {
     background-color: rgb(70,140,240);
}
.frmbtn:active {
    background-color: rgb(60,130,230);
    transform: scale(0.995);
}
.frmbtn:disabled {
    background-color: rgb(65,135,235);
    opacity: 0.8;
}
.frmlbl {
    display: inline-block;
    cursor: pointer; 
    user-select: none;
    margin: .2em 1em .2em 1em;
    text-align: center;
}
.prmlbl {
    text-align: right;
    font-family: Helvetica, sans-serif;
    font-size: 13px;
}
.ctrl {
    display: inline-block;
    margin: 1px 3px;
    padding: 1px 2px 2px 2px;
    font-size: 13px;
    text-align: center;
    box-sizing: border-box;
}
.ctrl[type=color] {
    padding: 0;
    margin: 0;
    width: 70px;
    text-align: center;
    border: none;
}
.ctrl:checked ~ .chkbx {
    background-color: #90a4be;
}
.ctrl:disabled ~ .chkbx {
    background-color: #a1b9d1;
    opacity: 0.3;
    cursor: default;
}

.prmstp, .prmslft, .prmsrt, .prmsbtm {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    padding: 9px 15px 27px 15px;
    text-align: center;
    background-color: #a1b9d1;
    border: 0px solid #dedede;
    border-radius: 2px;
    border-right: none; border-bottom: none;
    box-sizing: border-box;
    box-shadow: 0 0 5px #888888;/*1px 2px 5px #888888;*/
    color: #0f0f0f;
    font-family: Helvetica;
    font-size: 11pt;
    transition: opacity 0.22s ease-out;
    z-index: 8;
}
.prmstp::before {
    position: absolute;
    bottom: 100%;
    left: 50%;
    margin-left: -17px;
    width: 0; height: 0;
    border: 17px solid transparent;
    border-bottom-color: #a1b9d1;
    content: " ";
    z-index: 7;
}
.prmslft::before {
    position: absolute;
    top: 50%;
    right: 100%;
    margin-top: -17px;
    width: 0; height: 0;
    border: 17px solid transparent;
    border-right-color: #a1b9d1;
    content: " ";
    z-index: 7;
}
.prmsrt::before {
    position: absolute;
    top: 50%;
    left: 100%;
    margin-top: -17px;
    width: 0; height: 0;
    border: 17px solid transparent;
    border-left-color: #a1b9d1;
    content: " ";
    z-index: 7;
}
.prmsbtm::before {
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -17px;
    width: 0; height: 0;
    border: 17px solid transparent;
    border-top-color: #a1b9d1;
    content: " ";
    z-index: 7;
}
.inptxt{
    position: relative;
    background-color: inherit;
    border: 0;
    top: -3px;
    text-align: right;
    font-family: Helvetica, sans-serif;
    font-size: 11pt;
}
.clrblk {
    display: flex;
    align-items: baseline;
    margin: 0;
    border: 0;
    padding: .7em .4em .4em .2em;
}

.mrkrs:hover {
    background: linear-gradient(var(--grdr), #c0d4ee, lightsteelblue, lightsteelblue);
}
.mrkritm:hover {
    background: linear-gradient(lightsteelblue, steelblue);
}
.btc, .rdc {
    display: inline-block;
    box-sizing: border-box;
    cursor: pointer;
}
.rdb {
    display:inline;
    width: 1px;
    opacity:0;
}
.rdo {
    display: inline-block;
    user-select: none;
    box-sizing: border-box;
    padding: 0.3em;
    padding-top: 0.4em;
    padding-bottom: 0.1em;
    width: 3em;
    cursor: pointer;
}
.rdb:checked ~ .rdo {
    background-color: #90a4be;
}
.rdb:disabled ~ .rdo {
    background-color: #a1b9d1;
    opacity: 0.3;
}
.rdb:disabled ~ .bti1 {
    background-color: #a1b9d1;
    opacity: 0.3;
}

.bti, .bjbti, .pgbti, .bti1 {
    display: inline-block;
    user-select: none;
    box-sizing: border-box;
    margin-top: 0.3em;
    cursor: pointer;
}
.bti, .pgbti, .bti1 {width: 2.5em;}
.bjbti {width: 2em;}

.chkbx {
    display: inline;
    padding: 5px;
    background-color: #a1b9d1;
    text-align: center;
    color: black;
}
.rdb:hover, .rdo:hover, .chkbx:hover {
    background-color: #c0d4ee;
    cursor: pointer;
}
button {
    margin:0 0.2em 0 0.2em;
}
.btn {
    background-color: steelblue;
    outline: 0;
    user-select: none;
    box-sizing: border-box;
    vertical-align: middle;
    font-size: 11pt;
    cursor: pointer;
}
.bti:hover, bti1:hover, .btn:hover {
    color: #c0d4ee;
    cursor: pointer;
    opacity: 0.8;
}
.bti:active, .btn:active {
    color: #c0d4ee;
    cursor: pointer;
    transform: scale(0.95) translateY(1px);
}
.btn:disabled, .bti:disabled {
    color: #c0d4ee;
    opacity: 0.5;
    cursor: default;
}

.blkmsvr:hover {
    box-shadow: 1px 0 0 1px lightgray;
    cursor: default;
}
.lnkcntxt:hover {
    cursor: context-menu;
}
.npntrevts {
    pointer-events: none; /**/
}
fieldset {
    border: 1px solid gray;
}
.ccsstm::after {
    content: attr(data-ccss); /*"\2610"; "\2713"*/ 
    position: absolute;
    vertical-align: middle; 
    /*width: var(--cp-chkw);*/
    right: 0.5em;
    text-align: center;
    font-family: Gill Sans, sans-serif;
    font-size: 11px;
    color: var(--cp-mrkclr);
}
.ccsstm:hover::after {
    cursor: pointer;
}
[data-braintree-id="toggle"] {
    width: 90%;
    margin:auto;
    padding: 5px 12px;
    background-color: transparent;
    color: #418fcd;
    border: 1.5px solid #636363;
    border-radius: 5px;
    font-family: Gill Sans, sans-serif;
    font-size: 15px;
    text-align: center;
    letter-spacing: 0.55px;
    text-decoration-line: none;
}
/*  transform-origin: top right;
    transform: rotate(30deg);*/
.tpntr::before, .tpntr::after, .rtpntr::before, .rtpntr::after, .btmpntr::before, .btmpntr::after, .lftpntr::before, .lftpntr::after {
    position: absolute;
    width: 0; 
    height: 0;
    content: " ";
    border: var(--cp-pntrsz) solid transparent; 
    transform-origin: var(--cp-rgn);
    transform: var(--cp-trnsfrm);
}
.tpntr::before, .rtpntr::before, .btmpntr::before, .lftpntr::before {
    border-style: var(--cp-bdrstl);
    z-index: -2;
}
.tpntr::after, .rtpntr::after, .btmpntr::after, .lftpntr::after {
    z-index: -1;
}
.tpntr::before, .tpntr::after {
    left: var(--cp-pntrfst);
    bottom: calc(100% - var(--cp-bdrw));
    margin-left: calc(0px - var(--cp-pntrmrgn));
    border-left-width: calc(var(--cp-pntrw)*var(--cp-pntrsz));
    border-right-width: calc(var(--cp-pntrw)*var(--cp-pntrsz));
    border-bottom-color: var(--cp-bkclr);
}               /*calc(0.5*var(--cp-pntrsz)); border-top-width: var(--cp-pntrsz);*/
.tpntr::before {
    bottom: 100%;
    border-bottom-color: var(--cp-bdrclr);
}
.rtpntr::before, .rtpntr::after {
    top: var(--cp-pntrfst);
    left: calc(100% - var(--cp-bdrw));
    margin-top: calc(0px - var(--cp-pntrmrgn));
    border-top-width: calc(var(--cp-pntrw)*var(--cp-pntrsz));
    border-bottom-width: calc(var(--cp-pntrw)*var(--cp-pntrsz));
    border-left-color: var(--cp-bkclr);
}
.rtpntr::before {
    left: 100%;
    border-left-color: var(--cp-bdrclr);
}
.btmpntr::before, .btmpntr::after {
    left: var(--cp-pntrfst);
    top: calc(100% - var(--cp-bdrw));
    margin-left: calc(0px - var(--cp-pntrmrgn));
    border-left-width: calc(var(--cp-pntrw)*var(--cp-pntrsz));
    border-right-width: calc(var(--cp-pntrw)*var(--cp-pntrsz));
    border-top-color: var(--cp-bkclr);
}
.btmpntr::before {
    top: 100%;
    border-top-color: var(--cp-bdrclr);
}
.lftpntr::before, .lftpntr::after {
    top: var(--cp-pntrfst);
    right: calc(100% - var(--cp-bdrw));
    margin-top: calc(0px - var(--cp-pntrmrgn));
    border-top-width: calc(var(--cp-pntrw)*var(--cp-pntrsz));
    border-bottom-width: calc(var(--cp-pntrw)*var(--cp-pntrsz));
    border-right-color: var(--cp-bkclr);
}
.lftpntr::before {
    right: 100%;
    border-right-color: var(--cp-bdrclr);
}