section {
    border: 1px solid black;
    margin: 1rem;
    padding: 1rem;
}

/*Mandatory fields*/
.required {
    font-weight: bold;
}
.required::before {
    content: "* ";
    color: red;
}

/* One field in the group is mandatory*/
.required-one {
    font-weight: 500;
}
.required-one::before {
    content: "* ";
    color: #EA5C27;
}

input {
    color: #fbfbfb;
    background-color: #92BFE0;
}
input::placeholder {
    color: #dbdbdb;
}

input[disabled] {
    color: #92BFE0;
    background-color: #fbfbfb;
}
input[disabled]::placeholder {
    color: #8b8b8b;
}

/*Since we show alerts right on top of related item, we need it to be closer to item below then above*/
.alert {
    margin-top: 0.75rem !important;
    margin-bottom: 0.25rem !important;
}

/* Picture upload related styles */
#pictureContainer .picture-size {
    width: 5cm;
    height: 7cm;
}

#pictureContainer .picture-frame {
    position: relative;
    overflow: hidden;
    border: 1px solid black;
    touch-action: none;
}
#pictureContainer .picture-frame.updatable {
    cursor: move;
}

#pictureContainer div.bg {
    z-index: -2;
    position: absolute;
}
#pictureContainer img.picture {
    z-index: -1;
    position: absolute;
    image-orientation: from-image;
}

#pictureContainer img.loading {
    z-index: -1;
    position: absolute;
    width: 100%;
    height: 71.429%;
    top: 14.286%;
    display: none;
}

.rotate90 {
    transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
}
.rotate180 {
    transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
}
.rotate270 {
    transform: rotate(270deg);
    -webkit-transform: rotate(270deg);
    -moz-transform: rotate(270deg);
    -ms-transform: rotate(270deg);
    -o-transform: rotate(270deg);
}

.rotate-icon {
    visibility: hidden;
    cursor: pointer;
    width: 4rem;
    height: 4rem;
    /*vertical-align: top;*/
}

/* Ordered lists styles for terms and conditions */
ol {counter-reset: item;}
ol > li {counter-increment: item;}
ol.roman {list-style-type: lower-roman;}
ol.level1 {list-style: none;}

ol.level1 > li:before {
    font-weight: bold;
    margin-right: 10px;
    content: counter(item) ". ";
    display: inline-block;
}

ol.nested {list-style-type: none;}
ol.nested li:before {
    margin-right: 10px;
    content: counters(item, ".") " ";
    display: inline-block;
}

ul {
    color: #EA5C27;
}

ul span {
    color: #0CA04B;
}

.v-align-parent {
    display: table;
    min-height: 100%;
}

.v-align-top {
    display: table-cell;
    vertical-align: top;
}
.v-align-middle {
    display: table-cell;
    vertical-align: middle;
}
.v-align-bottom {
    display: table-cell;
    vertical-align: bottom;
}

.terms {
    max-height: 15rem;
    overflow-y: scroll;
}

/*General display classes*/
.hidden {display: none;}
.bold {font-weight: bold;}
.caps {text-transform: uppercase;}

/*Color related general display classes*/
.text-red {color: red;}
.bg-yellow {background-color: yellow;}
.text-grey {color:#fbfbfb;}
.bg-grey {background-color:#fbfbfb;}
.text-purple {color: #73328F;}
.bg-purple {background-color: #73328F;}
.text-green {color: #0CA04B;}
.bg-green {background-color: #0CA04B;}
.text-blue {color: #257FC2;}
.bg-blue {background-color: #257FC2;}
.text-orange {color: #EA5C27;}
.bg-orange {background-color: #EA5C27;}
.text-darkgrey {color:#e6e7e8;}
.bg-darkgrey {background-color:#e6e7e8;}
.text-underlined {text-decoration: underline;}
