@font-face {
    font-family: RobotoRegular;
    src: url(/fonts/RobotoCondensed-Regular.ttf );
}

@font-face {
    font-family: Champagne;
    src: url(/fonts/Champagne_&_Limousines.ttf);
}

@font-face {
    font-family: CaviarDreams;
    src: url(/fonts/CaviarDreams.ttf);
}

@font-face {
    font-family: RalewayThin;
    src: url(/fonts/raleway/Raleway-Thin.ttf);
}

@font-face {
    font-family: RalewayExtraLight;
    src: url(/fonts/raleway/Raleway-ExtraLight.ttf);
}

@font-face {
    font-family: RalewayLight;
    src: url(/fonts/raleway/Raleway-Light.ttf);
}

@font-face {
    font-family: CaviarDreamsBold;
    src: url(/fonts/Caviar_Dreams_Bold.ttf);
}

@font-face {
    font-family: RobotoMonoRegular;
    src: url(/fonts/roboto-mono/RobotoMono-Regular.ttf);
}

@font-face {
    font-family: LatoLight;
    src: url(/fonts/lato/Lato-Light.ttf);
}

@font-face {
    font-family: LatoRegular;
    src: url(/fonts/lato/Lato-Regular.ttf);
}

@font-face {
    font-family: RobotoMonoMedium;
    src: url(/fonts/roboto-mono/RobotoMono-Medium.ttf);
}

@font-face {
    font-family: RobotoMonoBold;
    src: url(/fonts/roboto-mono/RobotoMono-Bold.ttf);
}

@font-face {
    font-family: Gabriola;
    src: url(/fonts/gabriola/gabriola.ttf);
}

@font-face {
    font-family: Lucida Calligraphy;
    src: url(/fonts/lucida-calligraphy/lucida-calligraphy-regular.ttf);
}

@font-face {
    font-family: GaramondItalic;
    src: url(/fonts/garamond-italic/garamond-italic.ttf);
}

/* The switch - the box around the slider */
.switch {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 34px;
}

/* Hide default HTML checkbox */
.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

/* The slider */
.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    -webkit-transition: .4s;
    transition: .4s;
}

.slider:before {
    position: absolute;
    content: "";
    height: 26px;
    width: 26px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
}

input:disabled + .slider:before {
    background-color: #ddd;
}

input:checked + .slider {
    background-color: #ff8f0e;
}

input:focus + .slider {
    box-shadow: 0 0 1px #ff8f0e;
}

input:checked + .slider:before {
    -webkit-transform: translateX(26px);
    -ms-transform: translateX(26px);
    transform: translateX(26px);
}

/* Rounded sliders */
.slider.round {
    border-radius: 34px;
}

.slider.round:before {
    border-radius: 50%;
}

main > .container {
    padding: 0 5px 20px;
}

.footer {
    background-color: #f5f5f5;
    font-size: .9em;
    height: 60px;
}

.footer > .container {
    padding-right: 15px;
    padding-left: 15px;
}

.not-set {
    color: #c55;
    font-style: italic;
}

/* add sorting icons to gridview sort links */
a.asc:after, a.desc:after {
    content: '';
    left: 3px;
    display: inline-block;
    width: 0;
    height: 0;
    border: solid 5px transparent;
    margin: 4px 4px 2px 4px;
    background: transparent;
}

a.asc:after {
    border-bottom: solid 7px #212529;
    border-top-width: 0;
}

a.desc:after {
    border-top: solid 7px #212529;
    border-bottom-width: 0;
}

.grid-view th {
    white-space: nowrap;
}

.hint-block {
    display: block;
    margin-top: 5px;
    color: #999;
}

.error-summary {
    color: #a94442;
    background: #fdf7f7;
    border-left: 3px solid #eed3d7;
    padding: 10px 20px;
    margin: 0 0 15px 0;
}

@media(max-width:767px) {
    .nav li > form > button.logout {
        display:block;
        text-align: left;
        width: 100%;
        padding: 10px 0;
    }
}

a.nav-link.active {
    /*border-bottom: 1px solid #999;*/
}

.nav > li > form > button.logout:focus {
    outline: none;
}

.form-group {
    margin-bottom: 1rem;
}

.hidden {
    display: none !important;
}

.form-check-input:checked {
    background-color: #ffa632;
    border-color: #a25c00;
}

.form-check-input:focus {
    box-shadow: 0 0 0 0.25rem rgba(121, 13, 253, 0.25);
}

.form-control:focus {
    border-color: #ffa632;
    box-shadow: 0 0 0 0.25rem rgba(253, 205, 13, 0.25);
}

.btn {
    background-color: #d06f00 !important;
    border-color: #b06800 !important;
}

.btn:hover, .btn:active, .btn:focus-visible {
    background-color: #ff8f0e !important;
    border-color: #b96a00 !important;
}

.btn:disabled {
    border-color: #8f5200;
    background-color: #b96a00 !important;
}

.bg-dark {
    background-color: #a6a6a6 !important;
}

.mv-900 {
    max-width: 900px;
}

.site-login {
    font-family: Gabriola, sans-serif;
    font-size: 1.25em;
}

.navbar-expand-lg .navbar-collapse {
    justify-content: flex-end;
}

.nav .btn {
    border-radius: 0;
}

.navbar .btn {
    background-color: transparent !important;
    text-decoration: none;
}

.navbar .nav-link {
    padding: 3px 10px;
    margin: 4px 0;
}

.navbar-toggler:focus {
    box-shadow: 0 0 7px -3px !important;
}

.navbar {
    font-family: Gabriola, sans-serif;
    font-size:1.25em;
    box-shadow: 0 8px 9px -10px;
}

.navbar-brand {
    font-size: 1.5em;
    padding: 0;
    height: 45px;
    display: flex;
    align-items: center;
}

.navbar-brand .brand-logo {
    height: 45px;
}

.navbar-brand .brand-wrapper {
    vertical-align: middle;
    display:inline-block;
    padding-left: 20px;
    padding-top: 6px;
}

#main {
    padding-top: 40px;
}

@media (max-width: 991px) {
    .navbar-brand .brand-wrapper {
        display: flex;
        align-content: flex-start;
        align-items: flex-start;
        flex-wrap: nowrap;
        justify-content: center;
        flex-direction: column;
        height: 100%;
    }

    .navbar-brand span {
        height: 30px;
    }

    .navbar-brand span.brand-spacer {
        display: none;
    }

    .navbar-brand span.brand-page {
        font-size: 20px;
        padding-left: 0;
    }

    .navbar .navbar-nav {
        margin-top: 10px;
        border-top: 1px solid #e5e5e5;
    }
}

@media (min-width: 992px) {
    .navbar-brand span.brand-page, .navbar-brand span.brand-spacer {
        font-size: 24px;
        padding-left: 10px;
    }
}

.site-login {
    padding: 0 20px;
}

.site-login .login-text-wrapper {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}

.site-login .login-text-wrapper p {
    margin-bottom: 0;
}

.site-login .ca_logo_login {
    height: 100px;
    margin-right: 30px;
}

.site-login .ca_logo_login img {
    height: 100%;
}

.navbar .menu-spacer {
    border-right: 1px solid #a8a8a8;
    border-bottom: 1px solid #a8a8a8;
    margin:8px;
}

.login-buttons {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.field-loginform-rememberme {
    margin-left: 20px;
}

.site-settings {
    padding: 0 20px;
}

.site-settings .form-group {
    display: flex;
    align-items: center;
    font-family: Gabriola, sans-serif;
    justify-content: space-between;
    font-size: 26px;
}

/* -------------------------------------------------------------------------------------- */

#templates {
    display: none;
}

.modal-window-wrapper {
    background-color: rgba(0, 0, 0, 0.2);
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 1031;
    display:flex;
    align-items: center;
    justify-content: center;
}

.modal-wrapper {
    background-color: #f7f7f7;
    max-width: 600px;
    max-height: 80%;
    width: 80%;
    box-shadow: 0 0 10px 0;
    border-radius: 10px;
    padding: 10px;
}

.modal-title-wrapper {
    font-family: Gabriola, serif;
    height:30px;
    display:flex;
    font-size: 24px;
    margin-bottom: 5px;
    position: relative;
    align-items: center;
}

.modal-title-wrapper .title-action {
    font-family: LatoRegular, sans-serif;
    font-weight: bold;
    font-size: 16px;
}

.modal-close {
    width: 20px;
    height: 20px;
    position: absolute;
    right: 5px;
    background-image: url(/images/close_modal.png);
    background-size: 20px 20px;
    background-repeat: no-repeat;
    filter: drop-shadow(0px 0px 1px rgba(0, 0, 0, 0.3));
    cursor:pointer;
}

.modal-title-spacer {
    background: linear-gradient(135deg,
    hsl(46, 100%, 40%) var(--wave),
    hsl(52, 100%, 50%) var(--wave-2),
    hsl(46, 100%, 40%) var(--wave-3));
    height: 3px;
    animation: waves 2s infinite;
    animation-timing-function: linear;
    box-shadow: inset 0px -1px 2px 0px rgba(0, 0, 0, 0.5), inset 0px 1px 2px 0px rgba(255, 255, 255, 0.5);
}

.modal-icon {
    height:100%;
    margin-right: 10px;
}

.modal-icon img {
    height:100%;
    vertical-align: top;
}

.modal-inner-content {
    margin: 10px 4px;
    font-family: LatoRegular, sans-serif;
    font-weight: bold;
    padding:0 10px;
}

.modal-inner-content .form-group {
    display: flex;
    align-items: center;
    justify-content: center;
}

.modal-inner-content .form-group .form-control {
    /*margin-left: 20px;*/
}

.modal-buttons {
    margin-top: 9px;
    display:flex;
    justify-content: center;
}

.modal-button {
    display: inline-flex;
    align-content: center;
    align-items: center;
    height: 36px;
    box-sizing: border-box;
    border-radius: 35px;
    padding-left: 16px;
    box-shadow: 0 0 4px 0;
    cursor: pointer;
}

.modal-button.accept {
    color: #329500;
}

.modal-button-text {
    font-family: 'LatoRegular', sans-serif;
    font-weight: bold;
}

#main-wrapper {
    max-width: 600px;
}

#main-wrapper > .view-spacer {
    height: 5px;
    background-color: #bf8400;
}

#main-wrapper > .task-section-wrapper {
    margin: 40px 0;
}

#main-wrapper.container {
    max-width: 600px;
}

.task-section-wrapper {
    border: 1px solid #a6a6a6;
    max-width: 600px;
    position: relative;
    text-align: left;
}

.subtasks-wrapper {
    border-top: 1px solid #a6a6a6;
    padding: 5px;
}

.spacer {
    height: 10px;
}

.group-wrapper {
    position: relative;
    text-align: left;
}

.group-operator-outer-wrapper {
    line-height: 19px;
    vertical-align: middle;
    font-family: LatoRegular, sans-serif;
    font-weight: bold;
    font-size:13px;
    color: #ffffff;
    height:20px;
}

.group-operator-wrapper {
    box-shadow: inset 0 10px 10px -12px rgba(0, 0, 0, 0.5), inset 0px -10px 20px -12px rgba(0, 0, 0, 0.5), inset 0px 10px 20px -12px rgba(255, 255, 255, 0.5);
    border:1px solid #ccc;
    background: linear-gradient(45deg,
    hsl(125, 100%, 40%) 0%,
    hsl(125, 100%, 50%) 10%,
    hsl(125, 100%, 40%) 45%);
    display: inline-flex;
    background: #4dab59;
    mask-image: linear-gradient(45deg, black calc(100% - 17px), transparent 0);
    padding: 0 25px 0 15px;
    height: 20px;
}

.group-operator {
    min-width: 30px;
    margin-left:5px;
}

.group-tree-level {
    background-image: url(/images/group_tree_level.png);
    width: 17px;
    background-repeat: no-repeat;
    background-size: 100%;
    display: inline-block;
    height: 20px;
    vertical-align: middle;
    background-position: center;
    margin-right: 5px;
}

.group-wrapper svg {
    position: absolute;
    left: 0;
}

.group-wrapper .line {
    stroke-dasharray: 260;
    stroke-width: 2px;
    fill: transparent;
    stroke: rgba(166, 166, 166, 1);
    animation: svgAnimation 2.5s linear infinite;
}

.group-inner-wrapper {
    position: relative;
}

.group-inner-wrapper.operator-and > .spacer {
    background-color: #ffdede;
}

.group-inner-wrapper.operator-or > .spacer {
    background-color: #eaffea;
}

.group-inner-wrapper.highlight > div::before,
.group-inner-wrapper.highlight > div::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: linear-gradient(
            45deg,
            #ff595e,
            #ffca3a,
            #8ac926,
            #1982c4,
            #6a4c93,
            #ff6700
    );
    background-size: 400%;
    z-index: -1;
    animation: glow 20s linear infinite;
    width: 100%;
}

.group-inner-wrapper.highlight > div::after {
    filter: blur(7px);
    transform: translate3d(0, 0, 0);
}

.group-inner-wrapper.highlight > div {
    margin:25px 0;
}

.group-inner-wrapper.highlight > div:first-child {
    margin-top: 5px;
}

.group-inner-wrapper.highlight > div:last-child {
    margin-bottom: 5px;
}

/*.group-inner-wrapper.highlight > .group-wrapper {*/
/*    margin:25px 0;*/
/*}*/

/*.group-inner-wrapper.highlight > .group-wrapper:first-child {*/
/*    margin-top: 5px;*/
/*}*/

/*.group-inner-wrapper.highlight > .group-wrapper:last-child {*/
/*    margin-bottom: 5px;*/
/*}*/

/*.group-inner-wrapper.highlight > .task-section-wrapper {*/
/*    margin:25px 0;*/
/*}*/

/*.group-inner-wrapper.highlight > .task-section-wrapper:first-child {*/
/*    margin-top: 0;*/
/*}*/

/*.group-inner-wrapper.highlight > .task-section-wrapper:last-child {*/
/*    margin-bottom: 0;*/
/*}*/

.group-inner-wrapper.highlight > div > div {
    background-color: #ffffff;
}

@keyframes glow {
    0% {
        background-position: 0 0;
    }

    50% {
        background-position: 100% 0;
    }

    100% {
        background-position: 0 0;
    }
}

@keyframes svgAnimation {
    from {
        stroke-dashoffset: 0;
    }
    to {
        stroke-dashoffset: 1000;
    }
}

.task-wrapper {
    position: relative;
    overflow: hidden;
    display: table;
    box-sizing: border-box;
    width: 100%;
    height: 97px;
    background-color: #ffffff;
}

.task-wrapper .title .title-span {
    vertical-align: -webkit-baseline-middle;
}

.task-wrapper.complex .title {
    background-image: url(/images/complex_task_small_icon.png);
}

.task-wrapper.repetitive .title {
    background-image: url(/images/repetitive_task_small_icon.png);
}

.task-wrapper.points-gathering .title {
    background-image: url(/images/points_gathering_task_small_icon.png);
}

.task-wrapper.points-expire .title {
    background-image: url(/images/points_expire_task_small_icon.png);
}

.task-wrapper.points-generator .title {
    background-image: url(/images/points_generator_task_small_icon.png);
}

.task-wrapper.complete .title {
    background-image: url(/images/complete_task_small_icon.png);
}

.task-wrapper .title {
    font-family: Gabriola, serif;
    padding-left: 40px;
    line-height: 23px;
    text-align: left;
    font-size: 26px;
    background-size: 21px;
    background-repeat: no-repeat;
    background-position: 10px;
}

.task-wrapper .title.double {
    line-height: 11px;
}

.task-wrapper > div {
    display: table-cell;
    box-sizing: border-box;
    vertical-align: top;
}

.task-logo {
    width:70px;
}

.task-logo-outer-wrapper {
    height: 97px;
    display: flex;
    position: absolute;
}

.logo-mask-wrapper {
    width: 24px;
    height: 97px;
    margin-left: -26px;
    background-size: 100%;
    background-image: url(/images/task_logo_mask.png);
    filter: drop-shadow(3px 0px 5px rgba(0, 0, 0, 0.9))
}

.logo-mask {
    width: 24px;
    height: 97px;
    background-color: #f7f7f7;
    mask-image: url(/images/task_logo_mask.png);
}

.logo-wrapper {
    width: 72px;
    background-color: #f7f7f7;
    height: 100%;
    z-index: 100;
}

.logo-inner-wrapper {
    margin-left: -15px;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 0;
}

.logo {
    max-height: 75px;
    max-width: 70px;
    opacity: 0.5;
}

.task-wrapper.completed .logo {
    opacity: 1;
}

.task-progress-wrapper {
    box-shadow: inset 0px 10px 10px -12px rgba(0, 0, 0, 0.5);
    background-color:#ddd;
    border:1px solid #ccc;
    mask-image: linear-gradient(135deg, black 97%, transparent 97%);
    width: 100%;
    padding-right: 0.5%;
}

@property --wave {
    initial-value: 50%;
    inherits: false;
    syntax: '<percentage>';
}
@property --wave-2 {
    initial-value: 50%;
    inherits: false;
    syntax: '<percentage>';
}

@property --wave-3 {
    initial-value: 50%;
    inherits: false;
    syntax: '<percentage>';
}

.task-wrapper.repetitive .task-progress,
.task-wrapper.points-expire .task-progress,
.task-wrapper.points-gathering .task-progress {
    background: linear-gradient(135deg,
    hsl(125, 100%, 40%) var(--wave),
    hsl(125, 100%, 50%) var(--wave-2),
    hsl(125, 100%, 40%) var(--wave-3));
}

.task-wrapper.complex.completed .task-progress{
    background: linear-gradient(135deg,
    hsl(280, 100%, 40%) var(--wave),
    hsl(280, 100%, 60%) var(--wave-2),
    hsl(280, 100%, 40%) var(--wave-3));
}

.task-wrapper.complete .task-progress {
    background: linear-gradient(135deg,
    hsl(46, 100%, 40%) var(--wave),
    hsl(52, 100%, 50%) var(--wave-2),
    hsl(46, 100%, 40%) var(--wave-3));
}

.task-wrapper.points-generator .task-progress {
    background: linear-gradient(135deg,
    /*hsl(232, 100%, 30%) var(--wave),*/
    /*hsl(232, 100%, 60%) var(--wave-2),*/
    /*hsl(232, 100%, 30%) var(--wave-3));*/
hsl(180, 100%, 30%) var(--wave),
hsl(180, 100%, 60%) var(--wave-2),
hsl(180, 100%, 30%) var(--wave-3));
}

.task-wrapper.complete.completed .task-progress,
.task-wrapper.complex.completed .task-progress,
.task-wrapper.points-generator .task-progress {
    width: 100%;
}

.task-progress {
    height: 10px;
    width: 0%;
    animation: waves 2s infinite;
    animation-timing-function: linear;
    box-shadow: inset 0px -10px 20px -12px rgba(0, 0, 0, 0.5), inset 0px 10px 20px -12px rgba(255, 255, 255, 0.5);
}

@keyframes waves {
    100% {
        --wave: 0%;
        --wave-2: 0%;
        --wave-3: 0%;
    }
    30% {
        --wave: 0%;
        --wave-2: 50%;
        --wave-3: 100%;
    }
    0% {
        --wave: 100%;
        --wave-2: 100%;
        --wave-3: 100%;
    }
}

.task-top-wrapper {
    position: relative;
    z-index: 100;
}

.task-bottom-wrapper {
    position: relative;
    z-index: 99;
    height: 55px;
}

.title-wrapper {
    display: flex;
}

.title {
    height: 30px;
    background-color: #f7f7f7;
    width: 200px;
    box-shadow: 0 8px 5px -3px rgba(0, 0, 0, 0.2);
    z-index: 100;
}

.title-mask-wrapper {
    width: 73px;
    height: 30px;
    background-size: 100%;
    background-image: url(/images/title_mask.png);
    filter: drop-shadow(-2px 5px 5px rgba(0, 0, 0, 0.4))
}

.title-mask {
    height: 30px;
    width: 73px;
    background-color: #f7f7f7;
    mask-image: url(/images/title_mask.png);
}

.task-bottom-content-wrapper {
    height: 55px;
    display: inline-flex;
    flex-direction: column;
    position: absolute;
    margin-left: -90px;
}

.task-bottom-content-wrapper > div.first-row {
    width: 100%;
    height:30px;
    font-weight: bold;
}

.task-bottom-content-wrapper > div.second-row {
    width: 100%;
    font-style: italic;
    font-weight: bold;
    font-family: 'LatoRegular', sans-serif;
    font-size: 13px;
    padding-left: 25px;
}

.task-bottom-content-wrapper .remaining {
    background-image: url(/images/hourglass.png);
    background-repeat: no-repeat;
    background-size: 20px;
}

.task-bottom-content-wrapper .completed {
    color: #bf8400;
    background-image: url(/images/completed.png);
    background-repeat: no-repeat;
    background-size: 20px;
}

.points-generator .task-bottom-content-wrapper .completed {
    color: #116c00;
    background-image: url(/images/check_mark.png);
    background-repeat: no-repeat;
    background-size: 20px;
}

.task-bottom-content-wrapper .points_down {
    font-style: italic;
    font-family: 'LatoRegular', sans-serif;
    font-size: 13px;
    padding-left: 21px;
    background-image: url(/images/points_down.png);
    background-repeat: no-repeat;
    background-size: 16px;
    background-position-y: 10px;
    margin-left: 40px;
    padding-top: 8px;
}

.task-bottom-content-wrapper .multiplier {
    font-style: italic;
    font-family: 'LatoRegular', sans-serif;
    font-size: 13px;
    padding-left: 21px;
    background-image: url(/images/multipler.png);
    background-repeat: no-repeat;
    background-size: 16px;
    background-position-y: 10px;
    margin-left: 40px;
    padding-top: 8px;
}

.completed-outer-wrapper {
    height: 55px;
    display: inline-flex;
    vertical-align: top;
}

.completed-wrapper {
    height: 55px;
    background-color: #f7f7f7;
    width: 50px;
    padding-top: 5px;
    padding-left: 5px;
    z-index: 100;
    display: flex;
    justify-content: center;
    align-items: center;
}

.completed-mask-wrapper > div {
    filter: drop-shadow(0px 0px 7px rgba(0, 0, 0, 0.4))
}

.completed-mask-wrapper {
    width: 132px;
    position: relative;
}

.completed-mask-wrapper1 {
    width: 67px;
    height: 55px;
    background-size: 100%;
    background-image: url(/images/completed_mask1.png);
    position: absolute;
    z-index: 3;
    left: 0;
}

.completed-mask1 {
    width: 67px;
    height: 55px;
    background-color: #f7f7f7;
    mask-image: url(/images/completed_mask1.png);
}

.completed-mask-wrapper2 {
    width: 91px;
    height: 55px;
    background-size: 100%;
    background-image: url(/images/completed_mask2.png);
    position: absolute;
    z-index: 2;
    left: 0;
}

.completed-mask2 {
    width: 91px;
    height: 55px;
    background-color: #f7f7f7;
    mask-image: url(/images/completed_mask2.png);
}

.completed-mask-wrapper3 {
    width: 130px;
    height: 55px;
    background-size: 100%;
    background-image: url(/images/completed_mask3.png);
    position: absolute;
    z-index: 1;
    left: 0;
}

.completed-mask3 {
    width: 130px;
    height: 55px;
    background-color: #f7f7f7;
    mask-image: url(/images/completed_mask3.png);
}

.completed-menu-wrapper {
    position: absolute;
    z-index:200;
}

.completed-mark-wrapper {
    width: 36px;
    height: 36px;
    position: relative;
    margin-left: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    user-select: none;
    -webkit-touch-callout: none;
}

.completed-mark-wrapper img {
    user-select: none;
    -webkit-touch-callout: none;
}

.completed-mark-wrapper:not(.unchecked) .check-mark-wrapper {
    width: 51px;
    height: 51px;
    animation: check-mark 0.4s;
    display: flex;
}

.completed-mark-wrapper.unchecked .check-mark-wrapper {
    width: 0;
    height: 0;
    animation: uncheck-mark 0.4s;
}

.completed-mark-wrapper .check-mark-wrapper {
    width: 0;
    height: 0;
}

.completed-holder {
    width: 100%;
    height: 100%;
    background-image: url(/images/completed_holder_empty.png);
    background-position: center;
    background-size: 100%;
}

.completed-mark-wrapper.checked .completed-holder {
    background-image: url(/images/completed_holder.png);
}

.completed-menu-wrapper .completed-holder, .modal-button .completed-mark-wrapper .completed-holder {
    background-image: url(/images/completed_holder.png) !important;
}

.group-wrapper.completed .completed-mark-wrapper:not(.checked) .completed-holder {
    background-image: url(/images/completed_holder_disabled.png);
}

.mark-icon {
    width: 100%;
    height: 100%;
    display:inline;
}

.completed-mark-wrapper.checked .mark-icon {
    background-image: url(/images/check_mark_completed.png);
    background-repeat: no-repeat;
    background-size: 100%;
}

.completed-mark-wrapper.checked-cancel .mark-icon {
    background-image: url(/images/check_mark_canceled.png);
    background-repeat: no-repeat;
    background-size: 100%;
}

.completed-mark-wrapper.checked-with-comment .mark-icon {
    background-image: url(/images/check_mark_completed_with_comment.png);
    background-repeat: no-repeat;
    background-size: 100%;
}

.completed-mark-wrapper.add-points .mark-icon {
    background-image: url(/images/add_points_mark.png);
    background-repeat: no-repeat;
    background-size: 100%;
}

.completed-mark-wrapper.add-points-cancel .mark-icon {
    background-image: url(/images/add_points_canceled.png);
    background-repeat: no-repeat;
    background-size: 100%;
}

.completed-mark-wrapper.add-points-with-comment .mark-icon {
    background-image: url(/images/add_points_completed_with_comment.png);
    background-repeat: no-repeat;
    background-size: 100%;
}

.completed-mark-wrapper.cancel .mark-icon {
    background-image: url(/images/cancel_mark.png);
    background-repeat: no-repeat;
    background-size: 100%;
}

.check-mark-wrapper {
    width: 51px;
    height: 51px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.modal-add-points-input {
    max-width: 100px;
}

.modal-add-comment {

}

.check-mark {
    width: 100%;
}

@keyframes check-mark {
    0% {
        width: 0;
        height: 0;
    }

    80% {
        width: 70px;
        height: 70px;
    }

    100% {
        width: 51px;
        height: 51px;
    }
}

@keyframes uncheck-mark {
    0% {
        width: 51px;
        height: 51px;
    }

    20% {
        width: 70px;
        height: 70px;
    }

    100% {
        width: 0;
        height: 0;
    }
}

.completed-mark-wrapper > div {
    position: absolute;
    width: 100%;
    height: 100%;
}