/**
 * Licensed to Apereo under one or more contributor license
 * agreements. See the NOTICE file distributed with this work
 * for additional information regarding copyright ownership.
 * Apereo licenses this file to you under the Apache License,
 * Version 2.0 (the "License"); you may not use this file
 * except in compliance with the License.  You may obtain a
 * copy of the License at the following location:
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

/* Skip navigation */
.skip-to-content a {
  padding: 6px;
  position: absolute;
  top: -40px;
  left: 0;
  color: @white;
  background: transparent;
  transition: top 1s ease-out, background 1s linear;
  z-index: @dialog-depth-2;

  &:focus {
    position: absolute;
    left: 0;
    top: 0;
    background: @black;
    outline: 0;
    transition: top 0.1s ease-in, background 0.5s linear;
  }
}

/* Portlet and Frame Content Styling */
.my-uw-body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  font-family: @font-family;

  .page-content {
    background-color: @grayscale4;
    transition: padding 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    flex: auto;
    display: flex;
    flex-direction: column;

    .white-page {
      background-color: rgb(250, 250, 250);
    }

    .region-main {
      position: relative;
      display: flex;
      flex: auto;

      ng-view#main-content {
        display: flex;
        flex: inherit;
        max-width: 100%;
      }
    }
  }
}

/* Frame page styles for on-page side navigation */
frame-page {
  display: flex;
  flex: inherit;
  max-width: 100%;

  .wrapper__page-title {
    padding: 8px 18px;

    h1 {
      font-size: 32px;

      .material-icons {
        font-size: 28px;
        bottom: 6px;
        position: relative;
        color: @black;
      }

      .fa {
        font-size: 28px;
        position: relative;
        bottom: 2px;
      }

      @media (max-width: @sm) {
        font-size: 22px;

        .material-icons {
          font-size: 24px;
          bottom: 2px;
        }
      }
    }
  }

  .wrapper__frame-page {
    max-width: 100%;
    display: flex;
    flex: inherit;
    flex-direction: column;

    .wrapper__push-content {
      flex: auto;
      display: flex;
      flex-direction: column;
      justify-content: center;

      ng-transclude {
        flex: auto;
      }
    }
  }
}
