.cms-preview {
  position: relative; }
  .cms-preview > .x-panel-bodyWrap > .x-panel-body {
    padding: 0 !important;
    background: #8f8f8f !important;
    text-align: center !important;
    overflow: hidden; }
  .cms-preview iframe {
    border: none;
    width: 100%;
    height: 100%;
    max-width: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%); }
  .cms-preview .cms-preview-switcher {
    position: absolute;
    right: 36px;
    top: 20px; }
    .cms-preview .cms-preview-switcher a {
      background: #a1a1a1;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      width: 46px;
      height: 46px;
      margin-bottom: 2px;
      opacity: 0.6;
      cursor: pointer; }
      .cms-preview .cms-preview-switcher a span {
        display: none; }
      .cms-preview .cms-preview-switcher a:hover {
        opacity: 0.8; }
      .cms-preview .cms-preview-switcher a:focus, .cms-preview .cms-preview-switcher a.selected {
        background: #292F9A;
        opacity: 1.0; }
      .cms-preview .cms-preview-switcher a:before {
        font-family: FontAwesome !important;
        content: "\f10a" !important;
        font-size: 18px; }
      .cms-preview .cms-preview-switcher a[data-rotated='true']:before {
        transform: rotate(90deg); }
      .cms-preview .cms-preview-switcher a[data-targetid='desktop']:before {
        content: "\f108" !important; }
      .cms-preview .cms-preview-switcher a[data-targetid='desktop'][data-rotated='true']:before {
        transform: rotate(0) scaleX(0.8) !important; }
      .cms-preview .cms-preview-switcher a[data-targetid='tablet']:before {
        content: "\f10a" !important;
        font-size: 27px; }
      .cms-preview .cms-preview-switcher a[data-targetid='mobile']:before {
        content: "\f10b" !important;
        font-size: 25px; }
      .cms-preview .cms-preview-switcher a[data-targetid='refresh']:before {
        content: "\f021" !important;
        font-size: 25px; }
      .cms-preview .cms-preview-switcher a[data-targetid='dark']:before {
        content: "\f186" !important; }
      .cms-preview .cms-preview-switcher a[data-ext='true'] {
        margin-top: 6px; }
  .cms-preview.loading .loading-icon {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: inline-block; }
  .cms-preview.loading iframe {
    opacity: 0.1; }

.font-preview {
  padding: 10px 20px; }
  .font-preview .font-preview-inner {
    font-size: 17px;
    line-height: 26px;
    display: flex; }
    .font-preview .font-preview-inner .font-preview-title {
      width: 200px;
      flex-grow: 0;
      flex-shrink: 0;
      font-weight: bold; }

.loading-icon {
  position: relative;
  width: 64px;
  height: 64px;
  display: none; }
  .loading-icon div {
    animation: lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
    transform-origin: 32px 32px; }
  .loading-icon div:after {
    content: " ";
    display: block;
    position: absolute;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #fff;
    margin: -3px 0 0 -3px; }
  .loading-icon div:nth-child(1) {
    animation-delay: -0.036s; }
  .loading-icon div:nth-child(1):after {
    top: 50px;
    left: 50px; }
  .loading-icon div:nth-child(2) {
    animation-delay: -0.072s; }
  .loading-icon div:nth-child(2):after {
    top: 54px;
    left: 45px; }
  .loading-icon div:nth-child(3) {
    animation-delay: -0.108s; }
  .loading-icon div:nth-child(3):after {
    top: 57px;
    left: 39px; }
  .loading-icon div:nth-child(4) {
    animation-delay: -0.144s; }
  .loading-icon div:nth-child(4):after {
    top: 58px;
    left: 32px; }
  .loading-icon div:nth-child(5) {
    animation-delay: -0.18s; }
  .loading-icon div:nth-child(5):after {
    top: 57px;
    left: 25px; }
  .loading-icon div:nth-child(6) {
    animation-delay: -0.216s; }
  .loading-icon div:nth-child(6):after {
    top: 54px;
    left: 19px; }
  .loading-icon div:nth-child(7) {
    animation-delay: -0.252s; }
  .loading-icon div:nth-child(7):after {
    top: 50px;
    left: 14px; }
  .loading-icon div:nth-child(8) {
    animation-delay: -0.288s; }
  .loading-icon div:nth-child(8):after {
    top: 45px;
    left: 10px; }

@keyframes lds-roller {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
