#xmascon {
    background-image: url("https://www.gratiskryssord.no/assets/apps/crossword-xmas/img/2021/bg.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.calendarContainer {
    padding-bottom:15px;
    max-width:450px !important;    
}

.calendarImg {
    z-index: 1 !important;
    transition: all 0.2s ease-in-out;	
    transform: perspective(1200px) translateZ(0px) translateX(0px) translateY(0px) rotateY(0deg);
    position: relative !important;
    margin: 0px !important;
    cursor:pointer;
    transform-origin: left;
}

.calenderDoorHover {
    z-index: 2 !important;
    -moz-box-shadow: 15px 5px 15px rgba(68,68,68,0.6);
	-webkit-box-shadow: 15px 5px 15px rgba(68,68,68,0.6);
    box-shadow: 15px 5px 15px rgba(68,68,68,0.6);	
    transform: perspective(1200px) translateZ(0px) translateX(0px) translateY(0px) rotateY(-40deg);
}

.calenderDoorOpen {
    z-index: 4 !important;
    -moz-box-shadow: 15px 5px 5px rgba(68,68,68,0.6);
	-webkit-box-shadow: 15px 5px 5px rgba(68,68,68,0.6);
    box-shadow: 15px 5px 5px rgba(68,68,68,0.6);	
    transform: perspective(1200px) translateZ(0px) translateX(0px) translateY(0px) rotateY(-105deg);
}

.calenderDoorBg {
    transform: translate3d(0px, 0px, 0px);
    z-index: 0 !important;
    top:0px;
    height:100%;
    width:100%;
    position: absolute;
    background-size: 100%;
    background-position: bottom;
}

.calenderDoorText {
    background-color: white;
    font-weight: bold;
    text-align: center;
}

.calenderDoorText button {
    color: black !important;
}

.brickFront {
    z-index: 1;
}

.dragItem {
    position: absolute;
    text-shadow: rgb(0, 0, 0) 1px 0px 0px, rgb(0, 0, 0) 0.540302px 0.841471px 0px, rgb(0, 0, 0) -0.416147px 0.909297px 0px, rgb(0, 0, 0) -0.989992px 0.14112px 0px, rgb(0, 0, 0) -0.653644px -0.756802px 0px, rgb(0, 0, 0) 0.283662px -0.958924px 0px, rgb(0, 0, 0) 0.96017px -0.279415px 0px;
    background: radial-gradient(ellipse farthest-corner at left top, #FFFFFF 0%, #FFFFAC 8%, #f2dc9d 25%, #bf9e52 62.5%, #5d4a1f 100%);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    color:white;
    line-height: 40px;
    cursor: pointer;
    font-weight: bold;
    text-align: center;
    border:1px solid black;
    font-size:40px;
    width:50px;
    height:50px;
    transition: transform .15s, visibility .15s ease-in;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    transform:translate3d(0,0,0);
}

.animateDragItem {
    -webkit-animation: rotate-scale-up 1.2s ease-in both;
    animation: rotate-scale-up 1.2s ease-in both;
    z-index: 6 !important;
}

.completedDragItem {
	-webkit-animation: rollOutBlurred 3s cubic-bezier(0.600, -0.280, 0.735, 0.045) both;
	animation: rollOutBlurred 3s cubic-bezier(0.600, -0.280, 0.735, 0.045) both;
    z-index: 6 !important;
}

.isDragging {
    -webkit-box-shadow: 13px 9px 31px -2px rgba(0,0,0,0.54);
    -moz-box-shadow: 13px 9px 31px -2px rgba(0,0,0,0.54);
    box-shadow: 13px 9px 31px -2px rgba(0,0,0,0.54);
    -ms-transform: scale(1.2); /* IE 9 */
    -webkit-transform: scale(1.2); /* Safari 3-8 */
    transform: scale(1.2); 
}

.toFront {
    transform: translate3d(0px, 0px, 0px);
    z-index: 2 !important;
}

.inputBox {
    background-color: #FFFFFF;
    text-align: center;
    border: 1px solid black;
    float:left;
    width:12.5%;
    height:40px;
}

.inputBoxHover {
    background-color: #dbdbdb;
}

#canvasDiv {
  width: 100%;
}

#canvasDiv canvas {
    padding: 0;
    margin: auto;
    display: block;
}

.modal {
    z-index: 99 !important;
}

.windowCrosswordClass .modal-dialog { 
    max-width: none !important; 
}

#loader {
    color:black;
    font-size: 30px;
    margin-top:20px;
    text-align: center;
    width: 100%;
    font-family: Arial, Helvetica, sans-serif;
}
  
#loader:after {
    overflow: hidden;
    display: inline-block;
    vertical-align: bottom;
    -webkit-animation: ellipsis steps(4,end) 900ms infinite;      
    animation: ellipsis steps(4,end) 900ms infinite;
    content: "\2026"; /* ascii code for the ellipsis character */
    width: 0px;
}

.popover-body {
    text-align: center !important;
    font-size: 14px  !important;
    color: #000000;
}

#calendarShare {
    cursor:pointer;
}

#calendarShare:hover {
    opacity: 0.8;
}

@-webkit-keyframes rotate-scale-up {
    0% {
        -webkit-transform: scale(6) rotate(0deg);
                transform: scale(6) rotate(0deg);
    }
    50% {
        -webkit-transform: scale(3) rotate(180deg);
                transform: scale(3) rotate(180deg);
    }
    100% {
        -webkit-transform: scale(1) rotate(360deg);
                transform: scale(1) rotate(360deg);
    }
}
@keyframes rotate-scale-up {
    0% {
        -webkit-transform: scale(6) rotate(0deg);
                transform: scale(6) rotate(0deg);
    }
    50% {
        -webkit-transform: scale(3) rotate(180deg);
                transform: scale(3) rotate(180deg);
    }
    100% {
        -webkit-transform: scale(1) rotate(360deg);
                transform: scale(1) rotate(360deg);
    }
}

@keyframes ellipsis {
    to {
        width: 40px;    
    }
}

@-webkit-keyframes ellipsis {
    to {
        width: 40px;    
    }
}

 @-webkit-keyframes rollOutBlurred {
    0% {
      -webkit-transform: translateX(0) rotate(0deg);
              transform: translateX(0) rotate(0deg);
      -webkit-filter: blur(0);
              filter: blur(0);
      opacity: 1;
    }
    100% {
      -webkit-transform: translateX(-1000px) rotate(-720deg);
              transform: translateX(-1000px) rotate(-720deg);
      -webkit-filter: blur(50px);
              filter: blur(50px);
      opacity: 0;
    }
  }
  @keyframes rollOutBlurred {
    0% {
      -webkit-transform: translateX(0) rotate(0deg);
              transform: translateX(0) rotate(0deg);
      -webkit-filter: blur(0);
              filter: blur(0);
      opacity: 1;
    }
    100% {
      -webkit-transform: translateX(-1000px) rotate(-720deg);
              transform: translateX(-1000px) rotate(-720deg);
      -webkit-filter: blur(50px);
              filter: blur(50px);
      opacity: 0;
    }
  }
  

[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
    display: none !important;
}

/* Extra small devices (phones, up to 480px) */
@media screen and (max-width: 200px) {
    .calenderDoorText {
        font-size:10px;
        line-height:10px;
        hyphens: auto !important;
    }
    .calenderDoorText button {
        font-size:10px !important;
        line-height:0px;
    }
}

/* Extra small devices (phones, up to 480px) */
@media (min-width: 201px) and (max-width: 310px) {
    .calenderDoorText {
        font-size:12px;
        line-height:12px;
        hyphens: auto !important;
    }
    .calenderDoorText button {
        font-size:11px !important;
        line-height:11px;
    }
}

/* Small devices (tablets, 768px and up) */
@media (min-width: 311px) and (max-width: 768px) {
    .calenderDoorText {
        font-size:13px;
        line-height:13px;
    }
    .calenderDoorText button {
        line-height:12px !important;
    }
}

/* Extra small devices (phones, up to 480px) */
@media (min-width: 769px) and (max-width: 1199px) {
    .calenderDoorText {
        font-size:14px;
        line-height:14px;
    }
    .calenderDoorText button {
        font-size:13px !important;
    }
}

/* large desktops and up ----------- */
@media screen and (min-width: 1200px) {
    .calenderDoorText {
        font-size:15px;
        line-height:15px;
    }
    .calenderDoorText button {
        font-size:14px !important;
    }
}