﻿/* TriplEforms Controls */

/* Add - add-button */
input[value].add-button {
    background-image: url('images/baseline_add_box_black_36dp.png');
}

input[value].add-button,
input[value].remove-button {
    width: 35px;
    height: 35px;
    border: none;
    background-color: transparent;
    background-size: 31px;
    background-repeat: no-repeat;
    background-position: center;
    color: transparent;
    padding: 0;
}

/* Alert message - alert-message */
.alert-message {
    color: #E70739;
    font-weight: bold;
}

/* Button - generic-button */
.next-question-button,
.next-step-button,
.generic-button,
.tf-dialog-content #openTFABoxWrapper input[type="submit"] {
    color: #fff;
    background: #D24800;
    border: 1px solid #D24800;
}

input[type="submit"] {
    width: 100%;
    font-size: 14pt;
    font-weight: bold;
    text-overflow: ellipsis;
    white-space: nowrap;
    border-radius: 5px;
    padding: 10px 15px;
    cursor: pointer;
    overflow: hidden;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

    input[type="submit"]:focus,
    .tf-dialog-content #openTFABoxWrapper input[type="submit"]:focus {
        padding: 9px 14px;
        border: 2px solid #525248;
        outline: none;
    }

.next-question-button:focus,
.next-step-button:focus,
.generic-button:focus,
.tf-dialog-content #openTFABoxWrapper input[type="submit"]:focus {
    color: #525248;
    background: #FBBE93;
}

.previous-step-button {
    color: #525248;
    background: none;
    border: 1px solid #525248;
}

input[type="submit"]::-moz-focus-inner {
    border: none;
    outline: none;
}

/* Calender - calender-input / text */

.calendar-input.tf-question-control {
    position: relative;
}

.calendar-input button.ui-datepicker-trigger {
    width: 24px;
    height: 24px;
    display: block;
    position: absolute;
    right: 5px;
    top: 6px;
    background: none;
    border: none;
    cursor: pointer;
}

    .calendar-input button.ui-datepicker-trigger img {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
    }

img.ui-datepicker-trigger {
    position: absolute;
    right: 10px;
    bottom: 15px;
    cursor: pointer;
}

.calendar-input button.ui-datepicker-trigger:focus {
    outline: 2px solid #525248;
}

.calendar-input button.ui-datepicker-trigger::-moz-focus-inner {
    border: none;
    outline: none;
}

.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
    width: calc(50% - 10px);
    padding: 0;
    margin: 3px 5px;
    float: left;
}

.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
    top: 2px;
}

/* Change - change-button */
.change-button {
    color: #525248;
    background: none;
    border: 1px solid #525248;
}

/* Change Small Text - change-button-smalltext */
input[type="submit"].change-button-smalltext {
    color: #525248;
}

input[type="submit"].change-button-smalltext,
input[type="submit"].remove-button-smalltext {
    font-size: 12px;
    padding: 10px 15px;
    border: 2px solid transparent;
    background: none;
}

    input[type="submit"].change-button-smalltext:focus {
    }

/* Checkbox - checkbox-input / text */
.checkbox-input label {
    margin-right: 15px;
    margin-left: 10px;
    font-weight: normal;
}

.checkbox-input,
.checkbox-input > span,
.checkbox-input label {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

/* Dropdown list - dropdown-input / text */
select {
    width: 100%;
    font-size: 16px;
    padding: 7px;
    border: 1px solid #525248;
    cursor: pointer;
}

    select:-moz-focusring {
        color: transparent;
        text-shadow: 0 0 0 #000;
    }

option:not(:checked) {
    color: #525248; /* prevent <option>s from becoming transparent as well */
}

select option:focus,
select option:hover {
    outline: none;
    background: #525248;
    color: #fff;
}

/* 
    Google Map - gmap-active / gmap-passive 
    kodision-maps
*/

/* Grid control - gridcontrol /  text */
table.gridcontrol {
    width: 100%;
    height: 100%;
    border: none;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

    table.gridcontrol tr {
        border-color: transparent;
    }

        table.gridcontrol tr.header {
            background-color: #fff;
            border: none;
            font-weight: bold;
            display: table-row;
        }

            table.gridcontrol tr.header th {
                border: none;
            }

        table.gridcontrol tr.data:nth-child(even) {
            background-color: #eee;
        }

        table.gridcontrol tr.data:nth-child(odd) {
            background-color: #fff;
        }

        table.gridcontrol tr.selectedRow {
            background-color: #dc651d;
            border-color: #000;
        }

            table.gridcontrol tr.selectedRow td {
                border-color: #000;
            }

/* Header - header */
.header,
.header h1,
.header h2,
.header h3 {
    margin-bottom: 5px;
    font-weight: normal;
    line-height: normal;
}

    .header h4,
    .header h5,
    .header h6 {
        margin-bottom: 5px;
        font-weight: bold;
        line-height: normal;
    }

    .header h1 {
        font-size: 35px;
    }

    .header,
    .header h2 {
        font-size: 30px;
    }

        .header h3 {
            font-size: 25px;
        }

        .header h4 {
            font-size: 20px;
        }

        .header h5 {
            font-size: 20px;
            text-decoration: underline;
        }

        .header h6 {
            color: #000;
            font-size: 20px;
        }

/* Help - help */
div.help > div {
    min-width: 250px;
    padding: 15px;
    background: #fff;
    border: 1px solid #525248;
    position: absolute;
    right: 0;
    z-index: 4;
}

div.help a.help,
div.help a.help:visited,
div.help a.help:focus {
    width: 36px;
    height: 36px;
    display: block;
    color: transparent;
    font-size: 0;
    position: relative;
}

    div.help a.help::after {
        content: "\e8fd";
        font-size: 33px;
        font-family: 'Material Icons';
        color: #525248;
        text-align: center;
        display: block;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
    }

/* Hyperlink - hyperlink */
body a.hyperlink {
    color: #3344dd;
}

    body a.hyperlink:visited {
        color: #884488;
    }

    body a.hyperlink:active {
        color: #b50010;
    }

/* Information - information*/
.information {
    color: #525248;
    font-weight: bold;
    border: 1px solid #525248;
    padding: 10px;
}

/* Input - generic-input / text */
/* covers also other input fields */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="month"],
input[type="week"],
input[type="number"],
input[type="tel"],
input[type="time"],
input[type="datetime-local"],
input[type="datetime"],
input[type="search"],
input[type="url"],
input[type="date"],
textarea {
    min-height: 36px;
    width: 100%;
    padding: 5px;
    border: 1px solid #525248;
    font-size: 16px;
    font-family: Arial;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

/* When a next button comes in the navigation bar */
.tf-accordion-content > input {
    width: 100% !important;
    max-width: 1024px;
    margin-top: 5px;
    margin-left: auto;
    margin-right: auto;
    display: block;
}

textarea {
    min-height: 3em;
    height: auto;
    min-width: 100%;
    max-width: 100%;
}

div input:focus-visible,
div select:focus-visible,
div textarea:focus-visible {
    outline: 2px solid #525248;
    outline-offset: -1px;
}

/* Invisible - invisible */
.invisible {
    display: none;
}

/* image */
img[data-tftype="imagesubelement"] {
    max-width: 100%;
    height: auto !important;
}

/* Label - label-active / label-passive */
.label-active,
.label-passive {
    color: #000;
}

/* Line - line */
.line,
.line span {
    width: 100%;
    height: 1px;
    color: transparent;
    margin: 20px 0;
    display: block;
    background-color: #E1E1E1;
}

/* Map - kodision-maps / kodision-maps-image */
.kodision-maps,
.gmap-active,
.gmap-passive,
.leaflet-control-container {
    width: 100%;
    min-height: 400px;
    margin: 0;
}

input.kodision-maps {
    width: 100%;
    margin: 0 auto;
    text-align: center;
    display: block;
}

.kodision-maps-image {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
    padding: 0;
}

    .kodision-maps-image img {
        width: 100%;
        max-width: 600px;
    }

.kodision-maps-buttoncontainer {
    width: auto;
    height: 65px;
    padding-top: 5px;
    background-color: #eee;
}

    .kodision-maps-buttoncontainer a {
        margin: 0 auto;
        display: block;
        text-decoration: none;
        text-align: center;
    }

a.kodision-maps-closebutton, a.kodision-maps-openbutton {
    display: block;
    text-decoration: none;
    text-align: center;
}

a.kodision-maps-closebutton {
    width: 80%;
}

/* Next - next-question-button */
/* The Next button control is already covered by the generic button CSS style */

/* NL Maps */
[data-tftype=nlmapsleaflet] .nlmapsleafet-container {
    width: 100%;
    height: 400px;
}

[data-tftype=nlmapsleaflet] .kodision-maps-image img {
    max-width: none;
}

/* Partial Date - partialdate / text */
.partialdate-callout {
    display: block !important;
}

.partialdate-value {
    padding: 5px;
    border: 1px solid #525248;
    background-color: #fafafa;
    display: block;
}

.partialdate-row {
    width: 100%;
    padding: 2px 0;
    height: auto;
    margin: 10px 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.partialdate-row label {
    width: 100%;
    max-width: 80px;
}

.partialdate-row span:last-child {
    width: 100%;
    margin-left: 10px;
}

.partialdate-row label:nth-child(4) {
    width: 80px;
    margin: 0 0 0 0;
    right: 0;
}

.partialdate-row span,
.partialdate-row label {
    display: inline-block;
}

.partialdate-row span select {
    display: block;
}

.partialdate .partialdate-button,
.partialdate .partialdate-clear {
    display: none;
}

/* Radio button - radiobutton-input / text */
span.radiobutton-input label {
    margin-right: 15px;
    margin-left: 10px;
    font-weight: normal;
}

.radiobutton-input,
.radiobutton-input > span,
.radiobutton-input label {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

span.radiobutton-input span,
span.checkbox-input span {
    display: inline-block;
    vertical-align: top;
    /*IE 7 fix for inline-block display*/
    *zoom: 1;
    *display: inline;
}

/* Remove - remove-button */
input[value].remove-button {
    background-image: url('images/baseline_indeterminate_check_box_black_36dp.png');
}

/* Remove Small Text - remove-button-smalltext */
input[type="submit"].remove-button-smalltext {
    color: #E70739;
}

    input[type="submit"].remove-button-smalltext:focus {
        border: 2px solid #E70739;
    }

/* Required Bullet - required-active / required-passive */
#main div.tf-required-field div.tf-label-wrapper::before,
.required-active,
#main div.tf-required-field div.tf-control-wrapper fieldset::before {
    width: 10px;
    height: 10px;
    border-radius: 5px;
    color: transparent;
    background: #D24800;
    display: inline-block;
}

.required-passive {
    width: 10px;
    height: 10px;
    border-radius: 5px;
    color: transparent;
    background: #525248;
    display: inline-block;
}

#main div.tf-required-field div.tf-label-wrapper::before {
    margin: 0;
    position: absolute;
    top: 12px;
    left: -15px;
}

#main div.tf-required-field div.tf-control-wrapper fieldset::before {
    margin: 0;
    position: absolute;
    top: 7px;
    left: -15px;
}

.required-active,
.required-passive {
    vertical-align: middle;
}

/* Sketch - sketch */
.sketch {
    height: 100%; /*Sketch height is determined by the sketch content height (canvas and toolbars)*/
    width: 100%;
    display: block;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

    .sketch.nocanvas {
        height: 100px;
    }

.sketch-container {
    width: 100%;
    height: 100%;
    display: block;
    text-align: left;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

    .sketch-container.nocanvas {
        height: 100px;
    }

.sketch-canvaswrapper {
    display: inline-block;
    width: 100%;
}

.sketch-canvas {
    height: 100%;
    width: 100%;
    border: 1px solid #e1e1e1;
    display: block;
    cursor: crosshair;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

    .sketch-canvas:hover,
    .sketch-canvas:focus {
        border: 1px solid #525248;
    }

    .sketch-canvas.dragover {
        border: 2px dashed #ffd800;
    }

/* Sketch - Passive view image*/
.sketch-image {
    cursor: default;
    display: block;
    width: 100%;
    max-width: 600px;
    border: 2px solid #525248;
}

/*Sketch - Top Toolbox*/
.sketch-toptoolbox {
    width: 100%;
    min-height: 30px;
    padding: 10px;
    border-width: 1px 1px 0px 1px;
    border-color: #e1e1e1;
    border-style: solid;
    text-align: center;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.sketch-resetcanvas-container {
    margin: 0 50px 0 0;
}

    .sketch-resetcanvas-container div {
        margin: 0 5px;
    }

        .sketch-resetcanvas-container div:first-child {
            margin: 0 5px 0 0;
        }

        .sketch-resetcanvas-container div:last-child {
            margin: 0 0 0 5px;
        }

.sketch-sizewrapper {
    white-space: nowrap;
    display: inline-block;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.sketch-toptoolbox .sketch-resetcanvas-container,
.sketch-toptoolbox .sketch-colorpickerwrapper,
.sketch-toptoolbox .sketch-sizeslider-container,
.sketch-toptoolbox .sketch-sizeslider-container .sketch-sizeindicator-wrapper,
.sketch-toptoolbox .sketch-sizeslider-container .sketch-sizeslider-info {
    height: 26px;
    line-height: 26px;
    display: inline-block;
    vertical-align: top;
    color: #000;
}

    .sketch-toptoolbox .sketch-sizeslider-container .sketch-sizeslider-info {
        margin-right: 15px;
    }

    .sketch-toptoolbox .sketch-sizeslider-container .sketch-sizeslider {
        width: 150px;
        margin-top: 6px;
        margin-right: 10px;
        display: inline-block;
    }

        .sketch-toptoolbox .sketch-sizeslider-container .sketch-sizeslider span {
            top: -4px;
            cursor: pointer;
        }

            .sketch-toptoolbox .sketch-sizeslider-container .sketch-sizeslider span:focus {
                outline: 2px solid #525248;
            }

.sketch-sizeindicator {
    border-radius: 50%;
}

.ui-widget-content span.ui-state-active {
    border: 1px solid #c5c5c5;
    background: #f6f6f6;
    font-weight: normal;
    color: #454545;
}

.sketch-button {
    display: inline-block;
    vertical-align: top;
    width: 24px;
    height: 24px;
    border: solid 1px transparent;
    background-position: center;
    cursor: pointer;
}

    .sketch-button:hover,
    .sketch-container input[type="color"]:hover {
        outline: 1px solid #525248;
    }

.sketch-resetcanvas::after {
    content: "\e5cd";
    font-family: 'Material Icons';
    font-size: 24px;
}

.sketch-undo::after {
    content: "\e166";
    font-family: 'Material Icons';
    font-size: 24px;
}

.sketch-redo::after {
    content: "\e15a";
    font-family: 'Material Icons';
    font-size: 24px;
}

.sketch-toolbox .right input {
    display: block;
}

.sketch-colorpickerwrapper {
    height: 26px;
    padding-right: 5px;
}

.sketch-toptoolbox .sketch-colorpickercontainer .ui-slider {
    background-image: none;
    margin-top: 5px;
}

.sketch-toptoolbox .sketch-colorpickercontainer .ui-widget-content {
    margin-top: 5px;
    border-color: #000;
}

.sketch-colorpickerwrapper .sketch-colorpickerbutton {
    cursor: pointer;
    display: inline-block;
    vertical-align: top;
    height: 24px;
    width: 24px;
    margin-left: 2px;
    border: 1px solid #dc651d;
}

.sketch-colorpickerwrapper a {
    color: #000;
    line-height: 22px;
    padding-left: 3px;
}

.sketch-colorpickercontainer {
    width: 100px;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 5px;
    border: 1px solid #dc651d;
    background-color: #fff;
}

.sketch-pick-background {
    margin-right: 15px;
}

    .sketch-pick-background::after {
        content: "\e410";
        font-family: 'Material Icons';
        font-size: 24px;
    }

.sketch-container input[type="color"] {
    width: 26px;
    height: 26px;
    padding: 0px 2px;
    margin: 0px 15px 0 25px;
    border: none;
    background: none;
    cursor: pointer;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

/*Sketch - Toolbox bottom*/
.sketch-bottomtoolbox {
    width: 100%;
    border: 1px solid #e1e1e1;
    padding: 30px 15px;
    background: #fafafa;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

    .sketch-bottomtoolbox .color-picker,
    .sketch-bottomtoolbox .background-upload,
    .sketch-bottomtoolbox .background-reset {
        display: inline;
        vertical-align: top;
    }

    .sketch-bottomtoolbox .background-reset {
        width: 40px;
        padding-right: 10px;
    }

        .sketch-bottomtoolbox .background-reset .sketch-resetbackground::after {
            content: "\e872";
            font-family: 'Material Icons';
            font-size: 24px;
        }

    .sketch-bottomtoolbox .background-upload input {
        display: inline-block;
        max-width: 100%;
    }

    .sketch-bottomtoolbox .background-upload a {
        margin-top: 15px;
        display: inline-block;
        color: #000;
    }

/*Sketch - stamptoolbox*/
.sketch-stamptoolbox {
    width: 100%;
    height: 45px;
    line-height: 0;
    border-width: 0 1px 1px 1px;
    border-color: #E1E1E1;
    border-style: solid;
    display: block;
    position: relative;
    top: -7px;
    overflow: hidden;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

    .sketch-stamptoolbox .sketch-stamp-prev,
    .sketch-stamptoolbox .sketch-stamp-next {
        width: 45px;
        height: 100%;
        position: relative;
        display: inline-block;
        background-repeat: no-repeat;
        background-position: center center;
        cursor: pointer;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

        .sketch-stamptoolbox .sketch-stamp-prev:hover,
        .sketch-stamptoolbox .sketch-stamp-next:hover,
        .sketch-stamptoolbox .sketch-stamp-prev:focus,
        .sketch-stamptoolbox .sketch-stamp-next:focus {
            border: 1px solid #525248;
        }

    .sketch-stamptoolbox .sketch-stamp-prev {
        float: left;
    }

    .sketch-stamptoolbox .sketch-stamp-next {
        float: right;
    }

    .sketch-stamptoolbox .sketch-stamp-prev::after {
        content: "\e5cb";
        font-family: 'Material Icons';
        font-size: 50px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .sketch-stamptoolbox .sketch-stamp-next::after {
        content: "\e5cc";
        font-family: 'Material Icons';
        font-size: 50px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .sketch-stamptoolbox .sketch-stampscroller {
        height: 44px;
        display: inline-block;
        position: absolute;
        right: 45px;
        left: 45px;
        overflow: hidden;
    }

    .sketch-stamptoolbox .sketch-stamps {
        display: inline-block;
        white-space: nowrap;
        height: 100%;
        min-width: 100%;
    }

        .sketch-stamptoolbox .sketch-stamps .sketch-stamp {
            width: 41px;
            height: 41px;
            padding: 5px;
            margin: 2px;
            position: relative;
            cursor: pointer;
            z-index: 1;
            -moz-box-sizing: border-box;
            -webkit-box-sizing: border-box;
            box-sizing: border-box;
        }

            .sketch-stamptoolbox .sketch-stamps .sketch-stamp:hover,
            .sketch-stamptoolbox .sketch-stamps .sketch-stamp:focus {
                outline: 1px solid #525248;
            }

    .sketch-stamptoolbox .sketch-stamp.selected {
        background-color: #ccc;
    }

/*Sketch - Styling for the multiple background selector.*/
.sketch-backgroundpicker-background {
    background-color: #000;
    opacity: 0.3;
}

.sketch-backgroundpicker-wrapper {
    padding-top: 30px;
}

.sketch-backgroundpicker {
    background-color: #a9a9a9;
    border: 2px solid #dc651d;
}

.sketch-backgroundpicker-imagestrip {
    border: solid 1px #eee;
    background-color: #ccc;
    margin: 0 auto;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

    .sketch-backgroundpicker-imagestrip img {
        border: 1px solid #000;
        display: inline-block;
        margin-top: 2px;
        cursor: pointer;
    }

        .sketch-backgroundpicker-imagestrip img.active {
            border-color: #dc651d;
        }

.sketch-backgroundpicker-preview {
    width: 600px;
    height: 600px;
    margin: 5px auto 5px auto;
    border: 1px solid #eee;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.sketch-backgroundpicker-buttonbar {
    height: 40px;
    width: 208px;
    margin: 0 auto;
}

    .sketch-backgroundpicker-buttonbar button {
        width: 100px;
        height: 30px;
        display: inline-block;
        margin: 1px;
        cursor: pointer;
    }

/* Subheader - subheader */
.subheader {
    margin-bottom: 5px;
    font-size: 25px;
    font-weight: normal;
}

/* Text - text */
body,
.text {
    font-family: Arial;
    font-size: 16px;
    color: #000;
}

/* Text Small - text-small */
.text-small {
    font-size: 14px;
}

/* Upload - upload / text */

.upload-wrapper table {
    width: 100%;
    table-layout: fixed;
}

.upload-wrapper th,
.upload-wrapper td {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.upload-wrapper tr :nth-child(1) {
    width: 60%;
}

.upload-wrapper tr :nth-child(2) {
    width: 20%;
}

.upload-wrapper tr :nth-child(3) {
    width: 20%;
}

input[type="file"].upload.tf-question-control {
    display: inline-block !important;
}

/* Captcha control has a fixed width of 304 pixels. Subtracting the padding, margin and border gives us 290px */
div[data-tftype="captcha"] > .validate-callout-persistent-controlwidth {
    width: 290px;
}

div[data-tftype="captcha"] > .tf-control-wrapper > div /* with label */ {
    width: 302px;
}

/* Details/Summary controls (Help buttons basically) */
details summary {
    cursor: pointer;
}

details summary > * {
    display: inline;
}

div > div > details {
    min-width: 36px;
}

    details summary,
    details summary::after {
        content: "\e8fd";
        font-size: 33px;
        font-family: 'Material Icons';
        color: #525248;
        text-align: center;
        display: block;
        position: relative;
        transform: translateY(-5%);
    }

#validationSummary {
    background-color: rgb(247 7 7 / .10);
    border: 2px solid red;
    border-radius: 1rem;
    padding: 2rem;
    box-shadow: 1px 7px 7px lightgrey;
    max-width: 80vw;
    margin: auto;
    margin-bottom: 30px;
}