.button {
    display: inline-block;
    font-weight: 500;
    font-size: 13px;
    text-align: center;
    padding: 15px 30px;
    border-width: 1px;
    border-style: solid;
    border-radius: 10px;
    margin: 8px;
    letter-spacing: 1px;
    vertical-align: middle;
    text-decoration: none;
    cursor: pointer;
    border-color: #A8A8A8;
    
}
.button:hover {
    background: #EAEAEA;
}

.button.expandable:hover {
    background: inherit;
}

.uppercase {
    text-transform: uppercase;
}

.button.red {
    background-color: #D61317;
    border-color: #D61317;
    color: #FFFFFF;
}
.button.white:hover {
    border-color: #888888;
}
.button.whitered {
    background-color: #FFFFFF;
    border-color: #D61317;
    color: #D61317;
}
.button.whitegray {
    background-color: #FFFFFF;
    border-color: #A8A8A8;
    color: #1D1D1D;
}
.button.gray {
    background-color: #A8A8A8;
    border-color: #A8A8A8;
    color: #FFFFFF;
}
.button.gray:hover {
    background-color: #888888;
    border-color: #888888;
    color: #FFFFFF;
}

.button.red:hover {
    border-color: #A61317;
    background-color: #A61317;
}
.button.whitered:hover {
    border-color: #C61317;
    background-color: #F6E9F1;
}
.button.whitegray:hover {
    background-color: #F8F8F8;
}

.button.nowrap {
    white-space: nowrap;
}

.button.medium {
    padding: 10px;
}

.button.small {
    padding: 10px 20px;
    font-size: 10px;
}

.button.tiny {
    padding: 5px 5px;
    font-size: 9px;
}
.button.expandable:after {
    content: "⌄";
    /*content: "▼";*/
    font-size: 20px;
    margin-left: 10px;
    display: inline-block;
    vertical-align: top;
    margin-top: -4px;
    line-height: 10px;
    margin-right: -10px;

    /*
    font-family: sans-serif;
    font-size: 14px;
    */
}

.button_expand_outer:hover .button.expandable {
    border-color: #1D1D1D;
    border-bottom-color: #FFFFFF;
}

.button_expand_outer {
    position: relative;
    display: inline-block;
    /*overflow: hidden;*/
}
.button.expandable + .button_expand_container {
    position: absolute;
    display: inline-block;
    /*margin-top: 35px;*/
    border: 1px solid #1D1D1D;
    border-radius: 10px;
    right: 0;
    padding: 10px;
    padding-bottom: 0px;
    background: #FFFFFF;
    display: none;
    min-width: 100%;
}
.button.expandable + .button_expand_container .button {
    display: block;
    margin-left: 0px !important;
    margin-bottom: 10px !important;
    padding-left: 10px;
    padding-right: 10px;
    text-align: left;
    border: 1px solid #EEEEEE;
}
.button.expandable + .button_expand_container .button:hover {
    border: 1px solid #CCCCCC;
}

.button_expand_outer:hover > .button {
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0px;
    border-bottom: 1px solid #FFFFFF;
    position: relative;
    z-index: 2;
    padding-bottom: 20px;
}
.button_expand_outer:hover > .button_expand_container {
    margin-top: -1px;
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
    display: block;
    margin-bottom: -20px;
}

input:not([type='checkbox']), textarea, .component {
    width: 100%;
    padding: 10px;
    font-size: 100%;
    font-family: inherit;
    background: #FFFFFF;
    color: #000000;
    border-radius: 10px;
}

input:not([type='checkbox']), textarea, .contenteditable {
    max-width: 100%;
}

textarea {
    height: 200px;
}

input:not([type='checkbox']), textarea, .imageedit, .component {
    border: 1px solid #CCCCCC;
}
input:not([type='checkbox']):hover, textarea:hover, .imageedit:hover, .component:hover {
    border: 1px solid #AAAAAA;
}

input.buttonedit {
    padding-right: 50px;
}

.buttoneditbutton {
    /*border-color: #A61317;
    background-color: #A61317;*/
    border-color: #999999;
    background-color: #999999;
    color: #FFFFFF;
    padding: 10px;
    font-size: 100%;
    font-family: inherit;
    border-radius: 10px;
    margin-left: -40px;
}

.buttoneditbutton img {
    width: 20px;
    vertical-align: middle;

}

.imageedit {
    width: 100%;
}

select {
    color: #000000;
    background: #FFFFFF;
    margin: 0px;
    padding: 10px;
    border: 1px solid #CCCCCC;
    font-size: 100%;
    font-weight: normal;
    border-radius: 10px;
    /*-moz-appearance: none;
    -webkit-appearance: none;*/
    appearance: none;
    /*
    background-image: url(_img/next.svg);
    background-repeat: no-repeat;
    background-position: 100% 10px;
    background-size: 20px 20px;
    */
    width: 100%;
}
select:hover {
    /*background: #1F588A;*/
}

.search {
    padding-left: 45px;
    background-image: url("../_img/search-gray.svg");
    background-position: 10px center;
    background-repeat: no-repeat;
    background-size: 24px;
}

.tabs {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 10px;
    padding: 20px;
}

.tab {
    display: block;
    font-weight: 500;
    font-size: 11px;
    text-align: center;
    padding: 10px 15px;
    border-width: 1px;
    border-style: solid;
    border-radius: 10px;
    letter-spacing: 1px;
    border-color: #A8A8A8;
    color: #A8A8A8;
}

.tab.active {
    border-color: #D61317;
    background: #D61317;
    color: #FFFFFF;
}

.select {
    text-align: left;
    padding: 10px;
}

.select .option {
    padding: 10px;
    background: #FFFFFF;
    border-radius: 10px;
    margin-bottom: 10px;
    display: flex;
}

.select .option .text {
    flex: 1;
}

.select .option .radio {
    display: flex;
    justify-content: center;
    align-items: center;    
    margin-left: 20px;
}

.select .option .radio:after {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    outline: 1px solid #000000;
    border: 2px solid #FFFFFF;
    border-radius: 100%;
    background: #FFFFFF;
    float: right;
}
.select .option.selected .radio:after {
    background: #000000;
}
.picker {
    font-size: 20px;
    flex: 1;
}

.picker-picked {
    font-size: 40px;
    line-height: 2rem;
    color: #D61317;
    font-weight: 500;
}

.picker-picked[data-name="year"] {
    font-size: 20px;
}

.checkbox {
    display: inline-block;
}

.checkbox > span {
    font-size: 12px;
}

/* https://dev.to/madsstoumann/styling-checkboxes-and-switches-pf0 */
input[type="checkbox"] {
    appearance: none;
    display: inline-block;
    box-sizing: border-box;
    border: 1px solid #CCCCCC;
    border-radius: 5px;
    font-size: 1em;
    margin: 0px;
    position: relative;
    width: 30px;
    height: 30px;
    vertical-align: middle;
    margin-right: 8px;
}
/*
input[type=checkbox]::after {
    display: inline-block;
    background: #FF0000;
    border-color: GrayText;
    border-style: solid;
    border-width: 0 0.15em 0.15em 0;
    box-sizing: border-box;
    content: '';
    width: 20px;
    height: 20px;
}
*/

input[type="checkbox"]:checked {
    background-image: url("../_img/check-gray.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 70%;
}

.cropimage img {
    display: block;

    /* This rule is very important, please don't ignore this */
    max-width: 100%;
}


/* The css styles for `outline` do not follow `border-radius` on iOS/Safari (#979). */
.cropper-view-box {
      outline: 0;
      /*box-shadow: 0 0 0 1px #39f;*/
}

/*
.cropper-crop-box {
    transform: translateY(0px) !important;
}
*/

.cropper-modal {
    opacity: 1;
    background: #FAFAFA;
    /*width: 100%;
    height: 300px;*/
}

/*
.cropper-container {
    width: 100%;
    height: 200px;
}
    */

.imageselect {

}

/* RANGE */
/*********** Baseline, reset styles ***********/
input[type="range"] {
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    cursor: pointer;
    width: 100%;
    border-color: transparent;
  }
  
  /* Removes default focus */
  input[type="range"]:focus, input[type="range"]:hover {
    outline: none;
    border-color: transparent;
  }
  
  /******** Chrome, Safari, Opera and Edge Chromium styles ********/
  /* slider track */
  input[type="range"]::-webkit-slider-runnable-track {
    background-color: #bcbcbc;
    border-radius: 0.5rem;
    height: 10px;
  }
  
  /* slider thumb */
  input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none; /* Override default look */
    appearance: none;
    margin-top: -10px; /* Centers thumb on the track */
    background-color: #D61317;
    border-radius: 50%;
    height: 30px;
    width: 30px;
  }
  
/*
  input[type="range"]:focus::-webkit-slider-thumb {
    outline: 3px solid #ff0006;
    outline-offset: 0.125rem;
  }
*/
  
.show_password {
    margin-top: -32px;
    margin-right: 8px;
    float: right;
    position: absolute;
    right: 0;
    /*z-index: 1;*/
    width: 24px;
    height: 24px;
    background-color: #FFFFFF;
    background-image: url("../_img/eye-password.svg");
    background-size: cover;
    background-position: center center;
    opacity: 1;
}

.container_next {
    padding: 30px 20px;
    text-align: center;
}

a.next {
    display: inline-block;
    text-transform: lowercase;
    margin-left: auto;
    margin-right: auto;
    border: 1px solid #EEEEEE;
    background: #EEEEEE;
    line-height: 22px;
    height: 30px;
    font-size: 80%;
    padding: 4px 10px;
    border-radius: 8px;
}

a.next:hover {
    border-color: #AAAAAA;
}
.white:hover {
    border-color: #AAAAAA;
}
.gray:hover {
    border-color: #AAAAAA;
}

.error {
    border-color: #D61317 !important;
    outline: 1px solid #D61317 !important;
    background: #FFFCFC !important; 
}
.errors_label {
    text-transform: uppercase;
    font-weight: bold;
    text-align: center;
    margin-top: 80px;
    margin-bottom: 20px;
}

textarea {
    resize: none;
    height: auto;
}

.TabControlButton {
    background: #EBEBEB;
    border: 1px solid #EBEBEB;
    border-radius: 10px;
    padding: 15px;
    text-transform: uppercase;
    display: flex;
}
.TabControlButton .title {
    flex: 1;
    font-size: 12px;
    font-weight: bold;
}
.TabControlButton svg {
    width: 16px;
    vertical-align: middle;
    rotate: 90deg;
}
.TabControlButton svg .stroke {
    stroke: #000000;
}
.TabControlContent {
    padding: 15px;
}

.TabControl.collapsed .TabControlContent {
    display: none;
}

.TabControl.collapsed .TabControlButton {
    margin-bottom: 10px;
}

.TabControl.expanded .TabControlButton svg {
    rotate: -90deg;
}

.TabControl.expanded .TabControlButton svg .stroke {
    stroke: #D61317;
}

.TabControlButton:hover {
    border: 1px solid #CCCCCC;
}