overleaf/services/web/frontend/stylesheets/core/scaffolding.less

191 lines
3.4 KiB
Text
Raw Normal View History

//
// Scaffolding
// --------------------------------------------------
// Reset the box-sizing
//
// Heads up! This reset may cause conflicts with some third-party widgets.
// For recommendations on resolving such conflicts, see
// http://getbootstrap.com/getting-started/#third-box-sizing
* {
.box-sizing(border-box);
}
*:before,
*:after {
.box-sizing(border-box);
}
// Body reset
html {
2014-06-04 12:46:22 -04:00
//font-size: 62.5%;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
height: 100%;
}
// Prevent potential for layout shifts on a page with fixed 100% height. This
// can happen, for example, with the Grammarly extension in Firefox.
html.fixed-size-document {
position: fixed;
width: 100%;
}
body {
font-family: @font-family-base;
font-size: @font-size-base;
line-height: @line-height-base;
color: @text-color;
background-color: @body-bg;
min-height: 100%;
position: relative;
& > .content {
min-height: 100vh;
padding-top: @header-height + @content-margin-vertical;
}
.thin-footer {
.container {
padding-bottom: @footer-height;
}
}
}
// Reset fonts for relevant elements
input,
button,
select,
textarea {
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
// Keep textarea within horizontal container when resizing
textarea {
resize: vertical;
}
// Links
a {
color: @link-color;
text-decoration: none;
&:hover,
&:focus {
color: @link-hover-color;
text-decoration: underline;
}
&:focus {
.tab-focus();
}
}
// Figures
//
// We reset this here because previously Normalize had no `figure` margins. This
// ensures we don't break anyone's use of the element.
figure {
margin: 0;
}
// Images
img {
vertical-align: middle;
}
// Responsive images (ensure images don't scale beyond their parents)
.img-responsive {
.img-responsive();
}
// Rounded corners
.img-rounded {
border-radius: @border-radius-large;
}
// Image thumbnails
//
// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.
.img-thumbnail {
padding: @thumbnail-padding;
line-height: @line-height-base;
background-color: @thumbnail-bg;
border: 1px solid @thumbnail-border;
border-radius: @thumbnail-border-radius;
.transition(all 0.2s ease-in-out);
// Keep them at most 100% wide
.img-responsive(inline-block);
}
// Perfect circle
.img-circle {
border-radius: 50%; // set radius in percents
}
// Horizontal rules
hr {
margin-top: @line-height-computed;
margin-bottom: @line-height-computed;
border: 0;
border-top: 1px solid @hr-border;
&.thin {
margin-top: @line-height-computed / 2;
margin-bottom: @line-height-computed / 2;
}
}
// Only display content to screen readers
//
// See: http://a11yproject.com/posts/how-to-hide-content/
@sr-only: {
position: absolute;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
};
.sr-only {
@sr-only();
}
@media (max-width: @screen-xs-max) {
.sr-only-xs {
@sr-only();
}
}
2014-06-06 12:47:52 -04:00
.content {
padding-top: @content-margin-vertical;
padding-bottom: @content-margin-vertical;
2014-06-06 12:47:52 -04:00
}
.content-alt {
background-color: @content-alt-bg-color;
2014-06-06 12:47:52 -04:00
}
2014-06-06 14:19:53 -04:00
.row-spaced {
2014-06-09 03:54:14 -04:00
margin-top: @line-height-computed;
}
.row-spaced-small {
margin-top: @line-height-computed / 2;
2014-06-06 14:19:53 -04:00
}
2014-06-09 03:54:14 -04:00
.row-spaced-large {
margin-top: @line-height-computed * 2;
}
.row-spaced-extra-large {
margin-top: @line-height-computed * 4;
}