﻿/* Body */

body {
  overflow-x: hidden;
}

/* Loader */

.lds-ripple {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px;
}

.lds-ripple div {
  position: absolute;
  border: 4px solid #fff;
  opacity: 1;
  border-radius: 50%;
  animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}

.lds-ripple div:nth-child(2) {
  animation-delay: -0.5s;
}

@keyframes lds-ripple {
  0% {
    top: 36px;
    left: 36px;
    width: 0;
    height: 0;
    opacity: 0;
  }
  4.9% {
    top: 36px;
    left: 36px;
    width: 0;
    height: 0;
    opacity: 0;
  }
  5% {
    top: 36px;
    left: 36px;
    width: 0;
    height: 0;
    opacity: 1;
  }
  100% {
    top: 0px;
    left: 0px;
    width: 72px;
    height: 72px;
    opacity: 0;
  }
}


/* Ovaerlay div */

.layout-designer-spinner-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  opacity: 0.4;
  filter: alpha(opacity=50);
  background-color: #000000;
  z-index: 1010;
}

.layout-designer-spinner-container .row,
.layout-designer-spinner-container .col-12 {
  height: 100%;
}

.layout-designer-spinner {
  margin: auto;
  margin-top: 20%;
}


/* Subscriber Login */

.terms-of-service-checkbox {
  width: 20px;
  float: left;
}

.terms-of-service-label {
  line-height: 2.2
}

.subscriber-login-button {
  float: left;
}

.subscriber-label {
  position: relative;
  float: left;
  margin-right: 10px;
  line-height: 2;
}

.subscriber-signed-in-actions {
  float: left;
  line-height: 1.55;
}

.subscriber-signed-out-container {
  height: 40px;
}

.sign-in-register-tabs-container {
  border-bottom: 1px solid #dee2e6;
  padding-top: 10px;
  padding-bottom: 10px;
}

.register-tab-button,
.sign-in-tab-button,
.password-reset-tab-button {
  border: none;
  background-color: transparent;
}

.sign-in-tab-button:focus,
.register-tab-button:focus,
.password-reset-tab-button:focus {
  outline: none;
}

.button-sign-in {
  width: 100%;
}

.button-password-reset {
  width: 100%;
}

.button-register {
  width: 100%;
}

.input-field-error {
  border: 1px solid #dc3545;
}

.subscriber-logout-button {
  border: none;
  background-color: transparent;
}


/* Password reset */

.subscriber-password-reset-form {
  font-size: 15px;
}

.button-confirm-password {
  width: 100%;
}

.password-reset-label {
  text-align: left;
  width: 100%;
  font-size: 17px;
}


/* Jquery Confirm */

.jconfirm .jconfirm-box {
  color: #fff;
  background-color: #2f353a !important;
  text-align: center;
}

.jconfirm .jconfirm-box div.jconfirm-title-c .jconfirm-title {
  color: #20a8d8 !important;
  text-transform: uppercase !important;
}

.jconfirm-box .jconfirm-buttons {
  width: 100% !important;
}

.jconfirm-box .jconfirm-buttons button.btn-default {
  color: #fff !important;
  background-color: #1b6ec2 !important;
  border-color: #1861ac !important;
  font-weight: 500 !important;
  width: 95px !important;
}


/* Drag and Drop */

.layout-designer-header {
  position: fixed;
  z-index: 999999;
  background: #2f353a;
  flex-direction: row;
  height: 55px;
  padding: 0;
  margin: 0;
  background-color: #fff;
  border-bottom: 1px solid #c8ced3;
  width: 100% !important;
}

.layout-designer-header-row {
  background-color: #262A2E;
  border-bottom: 1px solid #2F353A;
  height: 55px;
}

.layout-designer-power-off-button {
  float: right;
  margin-right: 20px;
  margin-left: 20px;
  margin-top: 7px;
  margin-bottom: 7px;
  color: #dc3545;
}

.layout-designer-save-button {
  float: left;
  margin-right: 20px;
  margin-left: 20px;
  margin-top: 7px;
  margin-bottom: 7px;
  color: #14b060;
  border: 1px solid #14b060;
  border-radius: 5px;
}

.layout-designer-sidebar-control-button {
  margin-left: 20px;
  margin-top: 7px;
  margin-bottom: 7px;
  cursor: pointer;
  color: #ffffff;
}

.layout-designer-sidebar {
  position: fixed;
  z-index: 999999;
  flex-direction: row;
  padding: 0;
  margin: 0;
  color: #fff;
  background-color: #2f353a;
  border-bottom: 1px solid #c8ced3;
  height: calc(100vh - 55px);
  width: 230px !important;
  max-width: 230px !important;
  top: 55px;
}

.layout-designer-sidebar-row {
  overflow-y: auto;
  height: calc(100vh - 55px);
}

.layout-designer-sidebar-row::-webkit-scrollbar {
  width: 8px;
  /* Thin scrollbar */
}

.layout-designer-sidebar-row::-webkit-scrollbar-track {
  background: #1e1e1e;
  /* Dark grey track */
}

.layout-designer-sidebar-row::-webkit-scrollbar-thumb {
  background: #555;
  /* Medium grey scrollbar */
  border-radius: 4px;
}

.layout-designer-sidebar-row::-webkit-scrollbar-thumb:hover {
  background: #777;
  /* Lighter grey on hover */
}

.layout-designer-sidebar-tabs {
  background-color: rgba(0, 0, 0, 0.2);
  border: 0;
  padding-bottom: 15px;
  padding-top: 15px;
  border-bottom: 1px solid #2f353a;
}

.layout-designer-sidebar-tabs>div>a:hover,
.layout-designer-sidebar-tabs>div>a:active {
  color: #20a8d8 !important;
  cursor: pointer;
}

.layout-designer-search-button {
  float: right;
  margin-bottom: 5px;
  cursor: pointer;
  width: 100%;
}

.contents-drag-and-drop-spinner-container {
  padding-top: 15px;
}

.layout-designer-search-input {
  width: 100%;
  margin-bottom: 5px;
  border-radius: 5px;
  height: 38px;
  padding: 9px;
  font-size: 15px;
  font-weight: 600;
  color: #404040;
  border: 0;
}

.layout-designer-search-input:focus {
  outline: none;
}

.layout-designer-draggable {
  cursor: move;
  /* fallback if grab cursor is unsupported */
  cursor: grab;
  cursor: -moz-grab;
  cursor: -webkit-grab;
}

.layout-designer-draggable:active {
  cursor: grabbing;
  cursor: -moz-grabbing;
  cursor: -webkit-grabbing;
}


/* Layout Designer Contents Drag And Drop */

.contents-drag-and-drop-not-available-message {
  padding: 45px;
  text-align: center;
  color: #20a8d8;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 600;
}

.contents-drag-and-drop-droppable-item.ui-droppable-hover[content-position] {
  border: dashed 1px #1861ac;
  outline-offset: -2px;
  opacity: 0.3;
}

.contents-drag-and-drop-search-container {
  background-color: rgba(0, 0, 0, 0.2);
  border: 0;
  padding-bottom: 15px;
  padding-top: 15px;
}

.contents-drag-and-drop-content-container {
  padding-top: 15px;
  padding-top: 10px;
  padding-bottom: 10px;
  background-color: #2f353a;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.contents-drag-and-drop-content-container .content-image .image {
  border-radius: 5px;
}

.contents-drag-and-drop-content-container .content-title {
  font-size: 12px;
  font-weight: 600;
}

.contents-drag-and-drop-content-container .content-type {
  color: #20a8d8;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 600;
}


/* Layout Designer Content Positions Controls */

.content-position-controls {
  margin-bottom: -20px;
  position: relative;
  width: 155px;
  border-radius: 5px;
  padding: 4px;
  color: #ffffff;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  z-index:999998; /* stays under the header */
}

.content-position-controls .badge {
  border: 2px solid #2f353a;
  padding: 10px;
}

.content-position-controls .content-position-controls-delete-button {
  border: 2px solid #2f353a;
  margin: 0px;
  padding: 3px;
  padding-left: 10px;
  padding-right: 10px;
}

.layout-designer-filler {
  background-color: #cbcbcb !important;
  height: 100%;
  width: 100%;
  min-height: 200px;
  margin-top: 2px;
  opacity: 0.5;
  border-radius: 5px;
  position: relative;
}

.layout-designer-filler::before {
  content: "Drag your content here";
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #484848;
  font-size: 10px;
  pointer-events: none;
}

.layout-designer-banner-placeholder {
  background-color: #cbcbcb !important;
  opacity: 0.5;
  border-radius: 5px;
  position: relative;
  font-size: 10px;
  color: #484848;
  display: flex;             
  justify-content: center; 
  align-items: center;
  text-align: center;
}

.layout-designer-admin-session-message {
  display: block;
  color: white;
  margin-left: 30px;
  height: 100%;
  margin-top: 15px;
}

.layout-designer-menu {
    position: fixed;
    display: none;
    background: #262A2E;
    border-radius: 6px;
    color: white;
    padding: 8px;
    width: 200px;
    z-index: 999999;
    box-shadow: 0 2px 6px rgba(0,0,0,0.3);
    font-family: sans-serif;
}

.layout-designer-menu-header {
    text-align: center;
    font-weight: bold;
    padding: 8px 12px;
    border-bottom: 1px solid white;
    background-color: #262A2E;
    box-sizing: border-box; /* fix overflow */
    width: 100%; 
}

.layout-designer-menu-divider {
    height: 1px;
    background: white;
    margin-bottom: 4px;
}

.layout-designer-menu-item {
    display: block;
    padding: 8px 12px;
    cursor: pointer;
    border-radius: 4px;
    margin-bottom: 4px;
    transition: background 0.2s;
}

.layout-designer-menu-item:last-child {
    margin-bottom: 0;
}

.layout-designer-menu-item:hover {
    background-color: #007BFF;
    color: white;
}

.jconfirm-buttons .btn {
  width: 100% !important;
}