mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-21 20:47:08 -05:00
1430dbc690
[web] Standardize button spacing in CMS pages using new site design GitOrigin-RevId: da5756adc3074603584a4c7e80b9443602413711
667 lines
12 KiB
Text
667 lines
12 KiB
Text
/*
|
|
v2
|
|
CMS Generated Pages,
|
|
including About and Blog
|
|
*/
|
|
.cms-page {
|
|
&.website-redesign {
|
|
h1 {
|
|
font-size: 2rem; // 32px
|
|
line-height: 1.333;
|
|
}
|
|
|
|
h2 {
|
|
font-size: 1.5rem; // 24px
|
|
}
|
|
|
|
.sales-contact-form-left-column {
|
|
.sales-contact-form-heading-title {
|
|
font-size: 2.25rem;
|
|
font-family: 'Noto Sans';
|
|
font-style: normal;
|
|
font-weight: 600;
|
|
line-height: 1.333;
|
|
padding-top: 8px;
|
|
padding-right: 50px;
|
|
}
|
|
|
|
@media (min-width: @screen-xs) {
|
|
.names-container {
|
|
display: flex;
|
|
gap: 21px;
|
|
}
|
|
}
|
|
|
|
.checkbox-label {
|
|
font-size: 16px;
|
|
font-weight: 400;
|
|
}
|
|
}
|
|
|
|
/* Buttons */
|
|
// correct color property set on <a> above:
|
|
.reset-btns;
|
|
.alert {
|
|
.alert;
|
|
}
|
|
.alert-info {
|
|
.btn-info {
|
|
.btn-alert-info;
|
|
}
|
|
}
|
|
|
|
.p-no-text-nodes:has(.btn) {
|
|
margin-top: var(--spacing-09);
|
|
|
|
@media (max-width: @screen-xs-max) {
|
|
.btn {
|
|
width: 100%;
|
|
margin-left: 0;
|
|
margin-top: var(--spacing-05);
|
|
}
|
|
.btn:first-child {
|
|
margin-top: 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
.btn + .btn {
|
|
margin-left: var(--spacing-06);
|
|
}
|
|
|
|
blockquote.quote-picture-bottom {
|
|
padding: (@line-height-computed / 2) @line-height-computed;
|
|
|
|
.quote-picture-and-person {
|
|
font-size: 18px;
|
|
}
|
|
|
|
.quote-by-position {
|
|
font-weight: 400;
|
|
}
|
|
}
|
|
|
|
.optional-text {
|
|
font-size: 14px;
|
|
}
|
|
}
|
|
|
|
.section-row {
|
|
margin: 0 auto;
|
|
/* match .col-sm-12 */
|
|
/* @grid-gutter-width is used for margins */
|
|
max-width: (@screen-sm) - @grid-gutter-width!important;
|
|
@media (min-width: @screen-md-min) {
|
|
max-width: (@screen-md) - @grid-gutter-width!important;
|
|
}
|
|
@media (min-width: @screen-lg-min) {
|
|
max-width: (@screen-lg) - @grid-gutter-width!important;
|
|
}
|
|
}
|
|
|
|
padding-bottom: 0;
|
|
img {
|
|
height: auto;
|
|
max-width: 100%;
|
|
}
|
|
.btn-description {
|
|
margin-right: @margin-sm;
|
|
}
|
|
|
|
/*
|
|
Tabs
|
|
*/
|
|
.tab-content {
|
|
padding-left: 0;
|
|
padding-right: 0;
|
|
width: 100%;
|
|
}
|
|
|
|
/*
|
|
When on preview mode
|
|
*/
|
|
.cms-preview {
|
|
background-color: @blue;
|
|
color: white;
|
|
font-weight: bold;
|
|
height: @navbar-padding-vertical;
|
|
left: 0;
|
|
line-height: @navbar-padding-vertical;
|
|
opacity: 0.8;
|
|
position: fixed;
|
|
text-align: center;
|
|
top: 0;
|
|
width: 100%;
|
|
z-index: 1;
|
|
&:after {
|
|
content: 'Preview';
|
|
width: 100%;
|
|
top: 0;
|
|
left: 0;
|
|
}
|
|
}
|
|
|
|
.tab-pane {
|
|
.row:first-child {
|
|
margin-top: 0;
|
|
}
|
|
}
|
|
|
|
/*
|
|
quotes
|
|
*/
|
|
blockquote:not(.quote-large-text-centered) {
|
|
margin: 0;
|
|
position: relative;
|
|
/*
|
|
type.less sets <p> inline, so that quotation mark is inline
|
|
but sometimes we have multiple <p>,
|
|
so hide quotation mark from type.less and add one here
|
|
*/
|
|
&:before {
|
|
/* hide quotation from type.less */
|
|
display: none;
|
|
}
|
|
p {
|
|
display: block;
|
|
}
|
|
p:first-child {
|
|
/* below copied from type.less */
|
|
&:before {
|
|
content: open-quote;
|
|
font-size: @blockquote-font-size * 3;
|
|
color: @blockquote-border-color;
|
|
margin-right: 0.25em;
|
|
vertical-align: -0.4em;
|
|
line-height: 0.1em;
|
|
}
|
|
}
|
|
}
|
|
.quote-full-width {
|
|
img {
|
|
margin-right: @margin-sm;
|
|
margin-bottom: @margin-sm;
|
|
}
|
|
}
|
|
.quote-picture-bottom {
|
|
border: none;
|
|
color: @content-primary;
|
|
.h1 {
|
|
margin: 0 0 48px 0;
|
|
}
|
|
p:first-child {
|
|
&:before {
|
|
color: inherit;
|
|
font-size: inherit;
|
|
margin-right: 0;
|
|
vertical-align: 0;
|
|
line-height: inherit;
|
|
position: absolute;
|
|
top: (@line-height-computed / 2); // match quote padding
|
|
left: 3px;
|
|
}
|
|
&:after {
|
|
content: close-quote;
|
|
}
|
|
}
|
|
img {
|
|
height: 64px;
|
|
width: 64px;
|
|
margin-right: 16px;
|
|
}
|
|
.quote-by-position {
|
|
color: @content-secondary;
|
|
}
|
|
.quote-picture-and-person {
|
|
display: flex;
|
|
}
|
|
}
|
|
|
|
/*
|
|
Tables
|
|
*/
|
|
.table-styled {
|
|
overflow: hidden;
|
|
overflow-x: auto;
|
|
table {
|
|
background: white;
|
|
max-width: none;
|
|
th,
|
|
td {
|
|
border: 1px solid @gray-lighter;
|
|
padding: @padding-sm;
|
|
text-align: center;
|
|
word-break: normal;
|
|
}
|
|
}
|
|
}
|
|
.table-styled,
|
|
.features-table {
|
|
.fa-check-square,
|
|
.fa-check {
|
|
color: @ol-green;
|
|
}
|
|
}
|
|
.features-table {
|
|
max-width: none;
|
|
th,
|
|
td {
|
|
border: 1px solid @gray-lighter;
|
|
hyphens: auto;
|
|
padding: @padding-sm;
|
|
text-align: center;
|
|
}
|
|
th,
|
|
td {
|
|
width: 20%;
|
|
}
|
|
.btn {
|
|
max-width: 100%;
|
|
white-space: pre-wrap;
|
|
word-wrap: break-word;
|
|
}
|
|
&.left-align-first-col {
|
|
td,
|
|
th {
|
|
text-align: left;
|
|
}
|
|
td + td,
|
|
th + th {
|
|
text-align: center;
|
|
}
|
|
}
|
|
.hidden-row-above-xs {
|
|
display: none;
|
|
}
|
|
@media screen and (max-width: @screen-xs-max) {
|
|
tbody,
|
|
thead {
|
|
display: block;
|
|
}
|
|
tr {
|
|
display: flex;
|
|
flex-flow: row wrap;
|
|
justify-content: space-around;
|
|
}
|
|
|
|
td,
|
|
th {
|
|
display: block;
|
|
width: 25%;
|
|
}
|
|
tr:first-child {
|
|
th {
|
|
width: 50%;
|
|
}
|
|
th:first-child {
|
|
width: 100%;
|
|
}
|
|
}
|
|
|
|
td:first-child {
|
|
text-align: center;
|
|
width: 100%;
|
|
}
|
|
|
|
.hidden-row-xs {
|
|
display: none;
|
|
}
|
|
.hidden-row-above-xs {
|
|
display: flex;
|
|
}
|
|
.table-header {
|
|
text-align: center;
|
|
}
|
|
}
|
|
}
|
|
|
|
/*
|
|
universities page
|
|
*/
|
|
#universities-container {
|
|
padding: @padding-md;
|
|
width: 100%;
|
|
.row {
|
|
border-bottom: 1px solid @gray-lightest;
|
|
div {
|
|
padding: @padding-md;
|
|
vertical-align: middle;
|
|
}
|
|
}
|
|
.row:first-child {
|
|
// parent container contains padding
|
|
div {
|
|
padding-top: 0;
|
|
}
|
|
}
|
|
.row:last-child {
|
|
border: 0;
|
|
// parent container contains padding
|
|
div {
|
|
border: 0;
|
|
padding-bottom: 0;
|
|
}
|
|
}
|
|
p {
|
|
margin: 0 auto;
|
|
width: 100%;
|
|
}
|
|
// Logos
|
|
.uni-logo {
|
|
margin: 0 auto;
|
|
max-height: 55px;
|
|
min-width: 55px;
|
|
}
|
|
.university-claim-btn {
|
|
text-align: center;
|
|
}
|
|
@media only screen and (min-width: @screen-xs-min) {
|
|
display: table;
|
|
table-layout: fixed;
|
|
.row {
|
|
display: table-row;
|
|
div {
|
|
border-bottom: 1px solid @gray-lightest;
|
|
display: table-cell;
|
|
float: none;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/*
|
|
videos
|
|
*/
|
|
video {
|
|
height: auto;
|
|
max-width: 100%;
|
|
}
|
|
}
|
|
|
|
.icon-with-content {
|
|
display: flex;
|
|
|
|
h2,
|
|
h3,
|
|
h4 {
|
|
margin-top: 15px;
|
|
}
|
|
|
|
.icon-container {
|
|
background-color: @green-10;
|
|
padding: 7.5px;
|
|
height: 56px;
|
|
width: 56px;
|
|
border-radius: 50%;
|
|
margin-right: 24px;
|
|
.icon-inner-container {
|
|
align-items: center;
|
|
border: @green-30 3.5px solid;
|
|
border-radius: 50%;
|
|
display: flex;
|
|
justify-content: center;
|
|
height: 42px;
|
|
width: 42px;
|
|
}
|
|
|
|
i {
|
|
color: @green;
|
|
font-size: 21px;
|
|
}
|
|
}
|
|
}
|
|
|
|
.svg-arrow-icon {
|
|
position: relative;
|
|
left: 4px;
|
|
bottom: 1px;
|
|
}
|
|
|
|
// `Layout | Grid` display options
|
|
.row-equal-column-heights {
|
|
@media (min-width: @screen-sm-min) {
|
|
display: flex;
|
|
flex-flow: row wrap;
|
|
|
|
div[class*='col-'] {
|
|
display: flex;
|
|
flex-direction: column;
|
|
.card,
|
|
.no-card {
|
|
height: 100%;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.vertically-center-col {
|
|
// remove margin to better vertically align
|
|
// some elements need to be nested within a container, and others are directly within .no-card/.card
|
|
.card:first-child,
|
|
.no-card:first-child {
|
|
.cms-element-container {
|
|
> *:first-child {
|
|
margin-top: 0;
|
|
}
|
|
}
|
|
> *:first-child:not(.cms-element-container) {
|
|
margin-top: 0;
|
|
}
|
|
}
|
|
.card:last-child,
|
|
.no-card:last-child {
|
|
.cms-element-container {
|
|
> *:last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
}
|
|
> *:last-child:not(.cms-element-container) {
|
|
margin-bottom: 0;
|
|
}
|
|
}
|
|
|
|
@media (min-width: @screen-sm-min) {
|
|
display: flex;
|
|
|
|
div[class*='col-'] {
|
|
align-self: center;
|
|
}
|
|
}
|
|
}
|
|
|
|
.reverse-col-order-mobile {
|
|
@media (max-width: @screen-sm-min) {
|
|
display: flex;
|
|
flex-flow: column;
|
|
flex-direction: column-reverse;
|
|
}
|
|
}
|
|
|
|
.row-within-card {
|
|
.no-card {
|
|
> :first-child {
|
|
margin-top: 0;
|
|
}
|
|
> :last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
.contact-form-error-container {
|
|
padding-bottom: calc(@line-height-computed / 2);
|
|
}
|
|
|
|
.row-top-padding-sm {
|
|
padding-top: @padding-sm;
|
|
}
|
|
.row-top-padding-md {
|
|
padding-top: @padding-md;
|
|
}
|
|
.row-top-padding-lg {
|
|
padding-top: @padding-lg;
|
|
}
|
|
.row-top-padding-xl {
|
|
padding-top: @padding-xl;
|
|
}
|
|
.row-top-padding-xxl {
|
|
padding-top: @padding-xxl;
|
|
}
|
|
|
|
.row-bottom-padding-sm {
|
|
padding-bottom: @padding-sm;
|
|
}
|
|
.row-bottom-padding-md {
|
|
padding-bottom: @padding-md;
|
|
}
|
|
.row-bottom-padding-lg {
|
|
padding-bottom: @padding-lg;
|
|
}
|
|
.row-bottom-padding-xl {
|
|
padding-bottom: @padding-xl;
|
|
}
|
|
.row-bottom-padding-xxl {
|
|
padding-bottom: @padding-xxl;
|
|
}
|
|
|
|
@media (min-width: @screen-sm-min) {
|
|
.desktop-left-margin-sm {
|
|
margin-left: @margin-sm;
|
|
}
|
|
.desktop-left-margin-md {
|
|
margin-left: @margin-md;
|
|
}
|
|
.desktop-left-margin-lg {
|
|
margin-left: @margin-lg;
|
|
}
|
|
.desktop-left-margin-xl {
|
|
margin-left: @margin-xl;
|
|
}
|
|
.desktop-left-margin-xxl {
|
|
margin-left: @margin-xxl;
|
|
}
|
|
|
|
.desktop-right-margin-sm {
|
|
margin-right: @margin-sm;
|
|
}
|
|
.desktop-right-margin-md {
|
|
margin-right: @margin-md;
|
|
}
|
|
.desktop-right-margin-lg {
|
|
margin-right: @margin-lg;
|
|
}
|
|
.desktop-right-margin-xl {
|
|
margin-right: @margin-xl;
|
|
}
|
|
.desktop-right-margin-xxl {
|
|
margin-right: @margin-xxl;
|
|
}
|
|
}
|
|
|
|
.top-margin-sm {
|
|
margin-top: @margin-sm;
|
|
}
|
|
|
|
.top-margin-md {
|
|
margin-top: @margin-md;
|
|
}
|
|
|
|
.top-margin-lg {
|
|
margin-top: @margin-lg;
|
|
}
|
|
|
|
.top-margin-xl {
|
|
margin-top: @margin-xl;
|
|
}
|
|
|
|
.top-margin-xxl {
|
|
margin-top: @margin-xxl;
|
|
}
|
|
|
|
@media (max-width: @screen-xs-max) {
|
|
.mobile-bottom-margin-sm {
|
|
margin-bottom: @margin-sm;
|
|
}
|
|
.mobile-bottom-margin-md {
|
|
margin-bottom: @margin-md;
|
|
}
|
|
.mobile-bottom-margin-lg {
|
|
margin-bottom: @margin-lg;
|
|
}
|
|
.mobile-bottom-margin-xl {
|
|
margin-bottom: @margin-xl;
|
|
}
|
|
.mobile-bottom-margin-xxl {
|
|
margin-bottom: @margin-xxl;
|
|
}
|
|
}
|
|
|
|
@media (max-width: @screen-sm-min) {
|
|
.col-xs-padding-sm {
|
|
.col-xs-12:not(:first-child) {
|
|
padding-top: @padding-sm;
|
|
}
|
|
}
|
|
.col-xs-padding-md {
|
|
.col-xs-12:not(:first-child) {
|
|
padding-top: @padding-md;
|
|
}
|
|
}
|
|
.col-xs-padding-lg {
|
|
.col-xs-12:not(:first-child) {
|
|
padding-top: @padding-lg;
|
|
}
|
|
}
|
|
.col-xs-padding-xl {
|
|
.col-xs-12:not(:first-child) {
|
|
padding-top: @padding-xl;
|
|
}
|
|
}
|
|
.col-xs-padding-xxl {
|
|
.col-xs-12:not(:first-child) {
|
|
padding-top: @padding-xxl;
|
|
}
|
|
}
|
|
}
|
|
|
|
.website-redesign {
|
|
// mobile breakpoint is md in website redesign
|
|
@media (max-width: @screen-sm-max) {
|
|
.col-xs-padding-sm {
|
|
.col-xs-12:not(:first-child) {
|
|
padding-top: @padding-sm;
|
|
}
|
|
}
|
|
.col-xs-padding-md {
|
|
.col-xs-12:not(:first-child) {
|
|
padding-top: @padding-md;
|
|
}
|
|
}
|
|
.col-xs-padding-lg {
|
|
.col-xs-12:not(:first-child) {
|
|
padding-top: @padding-lg;
|
|
}
|
|
}
|
|
.col-xs-padding-xl {
|
|
.col-xs-12:not(:first-child) {
|
|
padding-top: @padding-xl;
|
|
}
|
|
}
|
|
.col-xs-padding-xxl {
|
|
.col-xs-12:not(:first-child) {
|
|
padding-top: @padding-xxl;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.bottom-align-last-entry {
|
|
display: flex;
|
|
flex-direction: column;
|
|
* {
|
|
&:last-child {
|
|
flex: 1;
|
|
align-content: end;
|
|
}
|
|
}
|
|
}
|