/*
 Copyright 2020 TATA ELXSI

 Licensed 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

    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.

 Author: KUMARAN M (kumaran.m@tataelxsi.co.in), RAJESH S (rajesh.s@tataelxsi.co.in), BARATH KUMAR R (barath.r@tataelxsi.co.in)
*/
@import "../../assets/scss/mixins/mixin";
@import "../../assets/scss/variable";
#main-wrapper {
  @include wh-value(100%, null);
  .layout-wrapper {
    @include flexbox(flex, null, null, null, stretch, null);
    .content-section {
      @include wh-value(100%, null);
      @include transition(all, 0.3s, null, null);
      @include flexbox(block, null, null, null, null, null);
      overflow-x: auto;
    }
  }
  .goto-top {
    @include position_value(fixed, null, 30px, 10px, null);
    @include font(null, 20px, null);
    outline: none;
    @include wh-value(40px, 40px);
  }
}