
body {
    font-family: 'Lato', sans-serif;
}

a.mailto, a.mailto:visited {
    color: #2288f9!important;
}

section {
    padding-bottom: 3em;
}

.navbar-nav .active>.nav-link {
    border-bottom: 1px solid rgba(0,0,0,0.9);
}

.skinny-header {
    font-family: 'Roboto', sans-serif;
    font-weight: 100;
}

.color-primary {
    color: #2288f9!important;
}

.bg-google-red {
    background-color: #EA4335;
}

.bg-dropbox-blue {
    background-color: #0061FF;
}

.bg-light.no-hover:hover {
    background-color: #f8f9fa!important;
}

.bg-light.no-focus:focus {
    background-color: #f8f9fa!important;
    outline: 0;
}

.c-pointer {
    cursor: pointer;
}

.contact-us-icon {
    font-size: 1.5em;
    line-height: 1.25em;
}

.ml-3px {
    margin-left: 3px;
}

.ptb-1px {
    padding-top: 1px;
    padding-bottom: 1px;
}

.right-0 {
    left: auto;
    right: 0;
}

.scrollable {
    overflow-y: scroll;
}

.text-black {
    color: #000000!important;
}

.toast-primary {
    position: fixed;
    top: 56px;
    left: 50%;
    transform: translate(-50%, 0px);
    z-index: 500;
}

.page-link:focus {
    box-shadow: none;
}

.document-search-button {
    color: #6c757d;
    border: none;
    padding: 4px 8px;
    cursor: pointer;
}

.document-search-button-active {
    border: 1px solid black;
    padding: 3px 7px;
    color: white;
    background-color: black;
}

/**
 * Footer
 *
 */
footer {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizelegibility;
    padding: 2rem 0;
    position: relative;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
    background-color: #FFFFFF;
}

footer a {
    color: #212529;
}

.import-document-menu {
    position: absolute;
    top: 36px;
    left: -131px;
    width: 174px;
    height: 120px;
    z-index: 1000;
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    background-color: #FFFFFF;
    border: 1px solid rgb(225, 225, 225);
}

.import-document-menu p {
    margin: 0;
    padding-top: 4px;
    padding-left: 8px;
}

.import-document-menu .menu-item-content button,
.signing-context-menu .menu-item-content button
{
    padding-top: 5px;
    padding-bottom: 6px;
    padding-left: 8px;
    padding-right: 8px;
    font-weight: 700;
    background-color: #FFFFFF;
}

.import-document-menu .menu-item-content button span.icon,
.signing-context-menu .menu-item-content button span.icon
{
    font-size: 22px;
    height: 22px;
    padding-left: 0;
    vertical-align: middle;
}

.import-document-menu .menu-item-content button span.description,
.signing-context-menu .menu-item-content button span.description
{
    color: rgba(0, 0, 0, 0.54);
    padding-left: 22px;
    vertical-align: middle;
}

.import-document-menu ul.from-dropbox .menu-item-content a {
    padding-top: 11px;
    padding-bottom: 11px;
    padding-left: 8px;
    padding-right: 8px;
    font-weight: 700;
}

.import-document-menu ul.from-dropbox .menu-item-content button span.description {
    color: #000000!important;
    padding-left: 3px!important;
    vertical-align: middle;
}

.import-document-menu ul.from-dropbox .menu-item-content a span.description {
    color: #000000!important;
    padding-left: 4px!important;
    vertical-align: middle;
}

.import-document-menu .menu-item-content button, .import-document-menu .menu-item-content a {
    border-radius: 0px!important;
    box-shadow: none!important;
}

.import-document-menu .menu-item-content button:focus,
.import-document-menu .menu-item-content a:focus,
.signing-context-menu .menu-item-content button:focus,
.signing-context-menu .menu-item-content a:focus
{
    outline: 0;
}

.signing-context-menu {
    position: absolute;
    top: 28px;
    left: -164px;
    width: 174px;
    z-index: 1000;
    background-color: #FFFFFF;
    border: 1px solid rgb(225, 225, 225);
}

/**
 * DOCUMENT UPLOAD
 */

div.file-upload-panel-container {
    background: #f8f9fa;
    border: 1px solid #666666;
    position: fixed;
    top: 0;
    right: -310px;
    width: 300px;
    height: 100%;
    z-index: 1000;
    -webkit-transition-duration: 0.3s;
    -moz-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    transition-duration: 0.3s;
}

div.file-upload-panel-container.expanded {
  right: 0;
}

.box
{
    font-size: 1.25rem; /* 20 */
    background-color: #c8dadf;
    position: relative;
    padding: 100px 20px;
}
.box.has-advanced-upload
{
    outline: 2px dashed #92b0b3;
    outline-offset: -10px;

    -webkit-transition: outline-offset .15s ease-in-out, background-color .15s linear;
    transition: outline-offset .15s ease-in-out, background-color .15s linear;
}
.box.is-dragover
{
    outline-offset: -20px;
    outline-color: #c8dadf;
    background-color: #fff;
}

.box__input {
    text-align: center;
}

.box__dragndrop,
.box__icon
{
    display: none;
}
.box.has-advanced-upload .box__dragndrop
{
    display: inline;
}
.box.has-advanced-upload .box__icon
{
    width: 100%;
    height: 80px;
    fill: #92b0b3;
    display: block;
    margin-bottom: 40px;
}

.box.is-uploading .box__input,
.box.is-success .box__input,
.box.is-error .box__input
{
    visibility: hidden;
}

.box__uploading,
.box__success,
.box__error
{
    display: none;
}
.box.is-uploading .box__uploading,
.box.is-success .box__success,
.box.is-error .box__error
{
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;

    -webkit-transform: translateY( -50% );
    transform: translateY( -50% );
}
.box__uploading
{
    font-style: italic;
    font-size: 1.5em;
    font-weight: 700;
    text-align: center;
}
.box__success, .box__error
{
    font-size: 1.5em;
    font-weight: 700;
    text-align: center;
    -webkit-animation: appear-from-inside .25s ease-in-out;
    animation: appear-from-inside .25s ease-in-out;
}
@-webkit-keyframes appear-from-inside
{
    from	{ -webkit-transform: translateY( -50% ) scale( 0 ); }
    75%		{ -webkit-transform: translateY( -50% ) scale( 1.1 ); }
    to		{ -webkit-transform: translateY( -50% ) scale( 1 ); }
}
@keyframes appear-from-inside
{
    from	{ transform: translateY( -50% ) scale( 0 ); }
    75%		{ transform: translateY( -50% ) scale( 1.1 ); }
    to		{ transform: translateY( -50% ) scale( 1 ); }
}

.box__restart
{
    font-weight: 700;
}
.box__restart:focus,
.box__restart:hover
{
    color: #39bfd3;
}

.js .box__file
{
    width: 0.1px;
    height: 0.1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1;
}
.js .box__file + label
{
    font-size: 1.5em;
    font-weight: normal;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
    display: inline-block;
    overflow: hidden;
}
.js .box__file + label:hover strong,
.box__file:focus + label strong,
.box__file.has-focus + label strong
{
    color: #39bfd3;
}
.js .box__file:focus + label,
.js .box__file.has-focus + label
{
    outline: 1px dotted #000;
    outline: -webkit-focus-ring-color auto 5px;
}
.js .box__file + label *
{
    /* pointer-events: none; */ /* in case of FastClick lib use */
}

.no-js .box__file + label
{
    display: none;
}

.no-js .box__button
{
    display: block;
}
.box__button
{
    font-weight: 700;
    color: #e5edf1;
    background-color: #39bfd3;
    display: none;
    padding: 8px 16px;
    margin: 40px auto 0;
}
.box__button:hover,
.box__button:focus
{
    background-color: #0f3c4b;
}

.document-page-canvas {
    box-shadow: 2px 2px 5px 0px;
}

.define-signature-controls-container, .signature-controls-container {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    padding-top: 12px;
    padding-bottom: 12px;
    text-align: center;
    z-index: 1000;
}

.signee-selector-container {
    position: fixed;
    bottom: 62px;
    left: 0;
    width: 100%;
    padding-top: 16px;
    padding-bottom: 16px;
    text-align: center;
    background-color: #ddd !important;
    z-index: 1000;
}

/**
 * Signature tools menu
 *
 */
.signature-tools-menu {
    position: fixed;
    right: 192px;
    bottom: 192px;
    z-index: 1000;
    transition: all linear 0.25s;
}

.signature-tools-menu.retracted {
    right: 0px;
    bottom: 192px;
}

.signature-tools-menu div.menu-toggle {
    color: white;
    background-color: #2288f9;
    border: 1px solid #2288f9;
    border-radius: 4px 0px 0px 4px;
    cursor: pointer;
    width: 64px;
    height: 64px;
}

.signature-tools-menu ul {
    margin: 0;
    padding: 0;
    position: absolute;
    left: 64px;
    bottom: 0px;
    width: 192px;
    color: white;
    background-color: #2288f9;
    border-radius: 4px 0px 0px 0px;
}

.signature-tools-menu ul li {
    font-size: 1.25em;
    cursor: pointer;
}

.signature-tools-menu ul li div.menu-item-content {
    padding-left: 16px;
    padding-top: 8px;
    padding-bottom: 8px;
    margin-top: 8px;
    margin-bottom: 8px;
}

.signature-tools-menu ul li div.menu-item-content:hover {
    color: black;
}

.signee-color {
    padding: 16px;
}

/**
 * Signature Pad
 *
 */
.signature-pad-container {
    text-align: center;
    width: 100%;
    margin-bottom: 12px;
}

.signature-pad-wrapper {
    height: 250px;
    margin: 0px auto;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.signature-pad {
    width: 100%;
    height: 100%;
    background-color: rgb(240, 240, 240);
}

/**
 * Pricing table
 *
 */

.pricing-table .item {
    background-color: #ffffff;
    box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.075);
    border-top: 2px solid #5ea4f3;
    padding: 30px;
    overflow: hidden;
    position: relative;
    height: 100%;
}

.pricing-table .item p {
    text-align: center;
    margin-top: 20px;
    opacity: 0.7;
}

.pricing-table .item p.description {
    min-height: 70px;
}

.pricing-table .heading {
    text-align: center;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.pricing-table .features h4 {
    text-align: center;
    font-size: 18px;
    padding: 5px;
}

.pricing-table ul {
    margin: 0;
    padding: 0 0 2.5em 3em;
    list-style: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.pricing-table ul li {
    padding: 0.5em 0;
    font-weight: 700;
}

.pricing-table div.features ul li div div:first-child {
    color: #2288f9;
}

.pricing-table .price h4 {
    margin: 0px 0;
    font-size: 45px;
    text-align: center;
    color: #2288f9;
}

div.signing-download-menu {
    position: relative;
}

div.signing-download-menu ul {
    position: absolute;
    top: 100%;
    right: 0;
    min-width: 200px;
    padding: .5rem 0 .5rem 1em;
    margin: .125rem 0 0;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(0,0,0,.15);
    border-radius: .25rem;
}

div.signing-download-menu ul li {
    list-style-type: none;
    position: relative;
    z-index: 1000;
}

/**
 * Timeline
 *
 */

.timeline {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
}

.timeline-item {
    padding-left: 2.5em;
    position: relative;
}

.timeline-timestamp {
    font-weight: 700;
    margin: 0 0 0.5em 0;
}

.timeline-marker {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 11px;
}

.timeline-marker:before {
    background: #2288f9;
    border: 3px solid transparent;
    border-radius: 100%;
    content: "";
    display: block;
    position: absolute;
    top: 4px;
    left: 0;
    width: 11px;
    height: 11px;
}

.timeline-marker:after {
    content: "";
    width: 1px;
    background: #CCDDDD;
    display: block;
    position: absolute;
    top: 20px;
    bottom: 0;
    left: 5px;
}

.timeline-content {
    word-wrap: break-word;
    overflow-wrap: break-word;
    padding-bottom: 40px;
}

.new-signing-button {
    font-size: 1.5rem;
}

.signing-details-table td {
    border: 0;
    padding: 0;
    vertical-align: middle;
}

div.rotatable {
    transition: all linear 0.5s;
}

div.rotatable.unrotated {
    transform: rotate(0deg);
}

div.rotatable.rotated {
    transform: rotate(45deg);
}

.signing-wizard {
    transition: all linear 0.5s;
}

.signing-wizard.hide-wizard {
    opacity: 0;
}

.hide-wizard-add.hide-wizard-add-active {
    opacity: 0;
}

.hide-wizard-remove.hide-wizard-remove-active {
    opacity: 1;
}

.card-fade-in {
    animation: fadeIn ease 1.0s;
}

@keyframes fadeIn {
    0% { opacity: 0; }
    100% { opacity: 1; }
}

/**
 * Arrow for tooltips on document signing page.
 *
 * From:  https://cssarrowplease.com/
 */
.arrow_box {
    position: relative;
    background: #343940;
}

.arrow_box:after {
    top: 40px;
    left: 22%;
    border: solid transparent;
    content: "";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(0, 0, 0, 0);
    border-top-color: #343940;
    border-width: 8px;
    margin-top: -8px;
}

/**
 * Animations for tool-tips on the signing page.
 *
 */

.signing-tip {
    position: absolute;
    top: -42px;
    color: white;
}

.begin-tooltip {
    left: 8px;
    animation-name: justified-tip;
}

.complete-tooltip {
    left: 50%;
    animation-name: centered-tip;
    transform: translate(-50%, 0);
}

.download-tooltip {
    right: 8px;
    animation-name: justified-tip;
}

.complete-tooltip.arrow_box:after {
    left: 50%;
}

.download-tooltip.arrow_box:after {
    left: 84%;
}

.animated-signing-tip {
    animation-duration: 2.5s;
    animation-iteration-count: 5;
    animation-timing-function: cubic-bezier(0.280, 0.840, 0.420, 1);
    -webkit-backface-visibility: hidden;
}

@keyframes justified-tip {
    0%   { transform: translateX(0px); }
    10%  { transform: translateX(0px); }
    30%  { transform: translateY(-32px); }
    50%  { transform: translateX(0px); }
    57%  { transform: translateY(-7px); }
    64%  { transform: translateX(0px); }
    100% { transform: translateX(0px); }
}

@keyframes centered-tip {
    0%   { transform: translateX(-50%); }
    10%  { transform: translateX(-50%); }
    30%  { transform: translate(-50%, -32px); }
    50%  { transform: translateX(-50%); }
    57%  { transform: translate(-50%, -7px); }
    64%  { transform: translateX(-50%); }
    100% { transform: translateX(-50%); }
}

.service-plan-checkmark-container {
    display: block;
    width: 23px;
    height: 23px;
    transition-duration: .25s;
    transition-timing-function: cubic-bezier(0,0,.2,1);
    transition-property: all;
    position: relative;
    margin-right: 12px;
    margin-top: 1px;
    border-width: 1px;
    border-radius: 16px;
    border-color: #e8e8e8;
    border-style: solid;
    background-color: #fff;
}

.service-plan-button {
    padding-left: 16px;
    padding-right: 16px;
    transition-duration: .25s;
    transition-timing-function: cubic-bezier(0,0,.2,1);
    transition-property: all;
    box-shadow: 0 0 0 1px rgb(56 60 67 / 5%), 0 1px 3px 0 rgb(56 60 67 / 15%);
    padding-top: 24px;
    padding-bottom: 24px;
    border-width: 2px;
    border-radius: 10px;
    border-color: #fff;
    background-color: #fff;
    display: flex;
    flex: 1 1 auto;
}

.service-plan-button:focus {
    box-shadow: 0 0 0 1px rgb(56 60 67 / 5%), 0 1px 3px 0 rgb(56 60 67 / 15%);
}

button.service-plan-selected .service-plan-checkmark-container {
    background-color: #2288f9;
    color: #fff;
    border-color: #2288f9!important;
}

button.service-plan-selected {
    border-color: #2288f9;
}

.default-button {
    transition: none;
    border-radius: 3px;
    padding: 12px 28px;
    background-color: #2288f9!important;
    border-color: #2288f9!important;
}

.default-button-sm {
    font-size: 0.8em;
    padding: 0.25rem 0.5rem;
}

.secondary-button {
    transition: none;
    border-radius: 3px;
    padding: 12px 28px;
    background-color: #BF152C!important;
    border-color: #BF152C!important;
}

.cta-button {
    padding: 18px 36px!important;
    font-size: 20pt;
}

.default-button:focus, .default-button:active, .default-button:hover, .default-button:visited,
.secondary-button:focus, .secondary-button:active, .secondary-button:hover, .secondary-button:visited {
    box-shadow: none!important;
}

.view-default-esa-btn, .view-default-esa-btn:visited  {
    color: #2288f9!important;
    border-color: #2288f9!important;
}

.view-default-esa-btn:focus, .view-default-esa-btn:active, .view-default-esa-btn:hover {
    color: #FFFFFF!important;
    border-color: #2288f9!important;
    background-color: #2288f9!important;
    box-shadow: none;
}

img.card-logo {
    width: 40px;
    height: 28px;
}

.quantitySpinner {
    max-width: 260px;
}

.quantitySpinner .btn {
    padding: 6px 14px 6px 14px;
}

.quantitySpinner .btn:focus, .quantitySpinner .btn:active, .quantitySpinner .btn:hover, .quantitySpinner .btn:visited {
    box-shadow: none!important;
}

#billingTabs li a.nav-link, .signingTabs li a.nav-link {
    border-top: none;
    border-left: none;
    border-right: none;
    border-bottom: 1px solid #dee2e6;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    color: rgba(0,0,0,0.5);
    padding: 1rem 1.5rem;
    background-color: transparent;
}

#billingTabs li a.nav-link.active, .signingTabs li a.nav-link.active {
    color: #2288f9;
    border-bottom: 1px solid #2288f9;
}

#billingTabs li a.nav-link:hover, .signingTabs li a.nav-link:hover {
    color: #2288f9;
    border-bottom: 1px solid #2288f9;
}

button.faq {
    width: 100%;
    color: #2288f9;
    background-color: #FFFFFF;
    border: 1px solid #2288f9;
    padding: 12px 12px;
}

button.faq:focus {
    outline: 0px none;
}

.fade-answer {
    transition: 0.25s linear all;
    opacity: 1;
}

.fade-answer.ng-hide {
    opacity: 0;
}

.question-chevron {
    transition: 0.25s linear;
}

.unrotated-chevron {
    transform: rotate(0deg);
}

.rotated-chevron {
    transform: rotate(180deg);
}

a.google {
    padding-top: 12px;
    padding-bottom: 11px;
    padding-left: 8px;
    padding-right: 8px;
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: rgba(0, 0, 0, 0.54);
    background-color: #FFFFFF;
    border-radius: 2px;
    box-shadow: 0px 1px 0.3px 0.3px rgba(0, 0, 0, 0.25);
}

a.google span {
    padding-left: 24px;
}
