This repository has been archived on 2023-08-16. You can view files and clone it, but cannot push or open issues or pull requests.
Omphaloskepsis/plugins/jetpack/scss/templates/_connection-landing.scss
2018-03-21 18:19:20 +00:00

882 lines
14 KiB
SCSS

// ==========================================================================
// Jetpack Connection Landing Page ('Please connect jetpack')
//===========================================================================
// Variables specific to connection landing page
// layout
$j-gutter: em(20px);
// color
$landing-bdr: #D9D9D9;
$gray-light: #f4f4f4;
@mixin jp-card {
background: $white;
border: 1px $landing-bdr solid;
text-align: center;
p {
font-size: em(16px);
}
}
@mixin jp-card-cta {
text-align: center;
p {
font-size: em(16px);
}
}
.connection-landing {
text-align: center;
h1 {
margin-bottom: 0;
}
h2 {
margin: 0;
padding: $j-gutter*.8 0;
font-size: em(22px);
line-height: 160%;
font-weight: 400;
}
h2 + p {
margin-top: 0;
}
p {
color: $gray-med;
}
} // connection-landing
.connect-card {
@include jp-card-cta;
margin: $j-gutter*1.5 auto $j-gutter;
padding: 0 $j-gutter*3 $j-gutter;
@include breakpoint(tablet) { padding: 0 $j-gutter $j-gutter; }
}
.jp-card {
@include jp-card;
margin-bottom: $j-gutter*2;
.j-int {
padding: 0 $j-gutter*3;
}
}
/* ==================
The following header part is a little hacky. Certain versions of IE were having a difficult time processing multiple svg BG images.
So I moved to stack the svgs as actual imgs instead. IE also had a hard time dealing with em(px) conversions for sizing. - golenski
*/
.feature-container {
background: $gray-light;
.j-int {
background: $white;
padding: 0;
}
.first-header {
position: relative;
@include breakpoint(desktop) {
border-bottom: 1px $landing-bdr solid;
background-image: none;
.j-header-img {
display: none;
}
} // < desktop
@include minbreakpoint(desktop) {
background:
url('../images/connection-landing/stars-right.svg') no-repeat,
url('../images/connection-landing/stars-left.svg') no-repeat,
$white;
background-position: 90% 50%, 10% 50%;
background-size: 100px, 125px;
} // > desktop
.j-header-img {
position: absolute;
left: 0; right: 0; bottom: 0;
img {
margin: 0 auto;
max-width: 100%;
z-index: 1001;
position: absolute;
left: 0; right: 0; bottom: 0;
&:first-of-type {
@include minbreakpoint(desktop) { bottom: -12px; }
@include minbreakpoint(large-desktop) { bottom: -10px; }
}
}
img + img {
z-index: 999;
}
}
}
.secondary-header {
background: transparent;
padding: 0 $j-gutter*7;
@include breakpoint(tablet) { padding: 0 $j-gutter; }
}
.j-feature-img {
padding: 0 $j-gutter;
margin-bottom: $j-gutter*2;
img {
width: 100%;
}
&:last-of-type {
margin-bottom: $j-gutter;
}
}
}
// Adjust the padding for each specific header img
.j-traffic {
.first-header {
@include minbreakpoint(desktop) { padding-bottom: 200px; }
}
}
.j-security {
.first-header {
@include minbreakpoint(desktop) { padding-bottom: 225px; }
}
} // .j-security
// ================== End hacky stuff
.three-feature {
margin: $j-gutter 0;
padding: 0 $j-gutter;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
@include breakpoint(tablet) { flex-wrap: wrap; }
@include breakpoint(large-phone) { padding: 0; }
.j-col {
border: 1px $landing-bdr solid;
text-align: left;
padding: 0;
background: $clouds;
@include breakpoint(tablet) { margin-bottom: $j-gutter; }
@include breakpoint(large-phone) { border-left: none; border-right: none; }
}
.j-col:nth-of-type(2) {
border-left: none;
border-right: none;
@include breakpoint(tablet) { border: 1px $landing-bdr solid; }
@include breakpoint(large-phone) { border-left: none; border-right: none; }
}
h3 {
font-weight: 600;
font-size: em(16px);
min-width: em(215px);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
@include breakpoint(tablet) { font-size: em(14px); }
}
.feature-img {
background: $white;
border-bottom: 1px $landing-bdr solid;
text-align: center;
img {
width: 100%;
max-width: 500px;
margin: 0 auto;
}
}
p {
line-height: 150%;
padding-bottom: 0;
font-size: em(14px);
}
h3, p {
margin: 0;
padding: $j-gutter;
@include breakpoint(tablet) { font-size: em(13px); }
}
h3 {
padding-bottom: 0;
}
}
// ==========================================================================
// Jetpack NUX Page(s) (main jetpack admin page + jumpstart)
//===========================================================================
// Needs to be cleaned. Let's remove those important tags and unneeded classes that we can utilize from core. Properly nest elements. migrate into _main.scss
// Once everything is tested, I'll remove all the comments below as well. - @jeffgolenski
// wrapping these common element names temporarily until I can audit - jeff
.jp-content {
.hide {
display: none;
}
.pointer {
cursor: pointer;
}
.landing {
margin: 0 auto;
z-index: 2;
position: relative;
}
h1 {
font: 400 1.75em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;
position: relative;
z-index: 3;
width: 100%;
text-align: center;
&.success {
color: $green;
}
}
.footer {
padding-top: 0;
margin-top: 0;
background-image: none;
&:before {
height: inherit;
}
}
.more-info:before {
content: none;
}
} //.jp-content
.landing {
.wpcom-connect {
min-height: 400px;
}
}
.wpcom-connect {
.j-col {
padding: 0;
}
.connect-desc {
padding-right: 25px;
}
.connect-btn {
text-align: center;
}
}
.module-grid h2 {
color: #000;
font: 300 2.57143em/1em "proxima-nova","Open Sans",Helvetica,Arial,sans-serif;
}
// place button styles in _button.scss
.download-jetpack {
margin-top: 1em!important;
}
.jump-start-area {
@include jp-card;
padding: 0 $j-gutter;
h1 {
margin: 1em auto 0;
}
}
.jumpstart-message {
p {
padding-right: 25px;
}
}
.jumpstart-desc {
text-align: left;
}
#jumpstart-cta {
text-align: center;
display:inline-block;
float:none
}
.dismiss-jumpstart {
color: #999;
font-size: 14px;
}
// place button styles in _button.scss
#jumpstart-cta .button,
#jumpstart-cta .button-primary {
margin: 1em;
font-size: 18px;
height: 45px!important;
padding: 8px 15px 1px;
}
#jumpstart-cta .button-primary {
display: block;
margin: 20px 20px 5px 20px;
}
#jp-config-list {
position: relative;
padding-top: 15px;
padding-bottom: 15px;
margin-left: -15px;
margin-right: -15px;
.j-col {
padding: 15px;
}
strong {
display: inline-block;
}
small {
display: block;
margin-top: 5px;
line-height: 150%;
}
.close {
position: absolute;
top: 10px;
right: 0;
text-transform: uppercase;
font-weight: bold;
display: block;
z-index: 5;
}
}
.jp-config-status {
text-transform: uppercase;
font-size: 10px;
font-weight: bold;
line-height: 100%;
color: #fff;
background: #9fbd72;
border-radius: 2px;
padding: 2px 4px;
display: inline-block;
}
// Nux landing page 2015
@mixin vertalign { // vertical center this div
position: absolute;
top: 50%;
-ms-transform: translate(0,-50%);
-webkit-transform: translate(0,-50%);
transform: translate(0,-50%);
}
.nux-intro {
h3 {
background: $green;
color: $white;
font-weight: 600;
padding: .75em;
margin: 0;
}
h4 {
margin: 0 0 2px 0;
}
p {
text-align: center;
font-size: 1.24em;
line-height: 175%;
}
a {
transition: all .4s ease;
}
.j-col {
padding: 0 0.5em;
&:first-of-type {
padding-left: 0;
}
&:last-of-type {
padding-right: 0;
}
}
.nux-in {
background: darken($clouds, 5%);
-webkit-border-bottom-right-radius: 6px;
-webkit-border-bottom-left-radius: 6px;
-moz-border-radius-bottomright: 6px;
-moz-border-radius-bottomleft: 6px;
border-bottom-right-radius: 6px;
border-bottom-left-radius: 6px;
h3 {
font-size: 1.10em;
-webkit-border-top-left-radius: 6px;
-webkit-border-top-right-radius: 6px;
-moz-border-radius-topleft: 6px;
-moz-border-radius-topright: 6px;
border-top-left-radius: 6px;
border-top-right-radius: 6px;
.dashicons {
float: right;
color: darken($green, 10%);
font-size: 1.25em;
padding-left: 0;
&:hover {
color: darken($green, 15%);
}
}
}
p {
font-size: .9em;
line-height: 150%;
margin: 0;
text-align: left;
color: $gray-med;
}
.j-row {
border-bottom: 1px $clouds solid;
padding: 5px 0;
position: relative;
min-height: 70px; // moderating consistent heights w/o JS
&:hover {
background: darken($clouds, 10%);
}
}
.unavailable {
opacity: 0.5;
.act {
display: none;
}
}
.paid {
top: 4px;
margin-left: 12px;
}
.dashicons {
color: $green;
font-size: 1em;
position: relative;
top: 3px;
padding-left: 6px;
&:hover {
color: darken($green, 15%);
}
}
.dashicons-external {
font-size: 1.5em;
top: 2px;
padding-left: 3px;
}
.lmore {
font-size: 11px;
color: $green;
&:hover {
color: darken($green, 15%);
}
}
} // nux-in
.feat {
&.j-col {
padding: 10px 2px 10px 10px;
}
.dashicons {
display: none;
}
}
.activated .feat {
.dashicons {
display: inline-block;
}
}
.act {
@include vertalign;
right: 8px;
float: right;
&.j-col {
padding: 5px;
text-align: right;
}
}
.module-action {
text-transform: uppercase;
font-size: .85em;
font-weight: 600;
}
.wpcom {
h3 {
background: $wpcom;
.dashicons {
color: darken($wpcom, 10%);
&:hover {
color: darken($wpcom, 15%);
}
}
}
.j-col {
padding: 10px;
}
.goto {
text-align: center;
padding: 1em;
&:hover {
background: darken($clouds, 5%);
}
.j-col {
padding: 0 5px;
}
a {
width: 100%;
padding: .25em;
height: auto;
}
.button {
height: auto;
min-height: 28px;
line-height: 18px;
white-space: normal;
max-width: 200px;
margin-bottom: 0;
padding-top: 4px;
padding-bottom: 5px;
}
.feat {
@include vertalign;
}
} // go-to
}
.nux-foot {
.j-col {
padding: 1em;
}
}
} // nux-intro
.nux-foot {
margin-top: 2em;
background: darken($clouds, 5%);
border-radius: 6px;
.j-col {
min-height: 75px;
padding: 1em;
@media (max-width: 650px) { width: 100%; }
}
.j-col + .j-col {
border-left: 1px $clouds solid;
@media (max-width: 650px) { border-left: none; border-top: 1px $clouds solid; }
}
.actions {
margin-top: 1em;
}
a {
text-decoration: underline;
}
img {
float: right;
margin-left: 1em;
width: 75px;
border-radius: 4px;
}
p {
font-size: .9em;
text-align: left;
font-weight: 600;
margin-top: 0;
}
p + p {
font-weight: 400;
margin-bottom: 0;
}
ul {
font-size: .9em;
margin-bottom: 0;
li {
margin-right: .875em;
margin-bottom: 0;
line-height: 175%;
display: inline-block;
vertical-align: middle;
}
}
} // nux-foot
// Activate toggle - replicated from WordPress.com
.form-toggle[type="checkbox"] {
opacity: 0;
position: absolute;
}
.form-toggle__switch {
position: relative;
display: inline-block;
border-radius: 12px;
box-sizing: border-box;
padding: 2px;
width: 40px;
height: 24px;
background: darken($clouds, 25%);
vertical-align: middle;
outline: 0;
cursor: pointer;
transition: all .4s ease;
&:before, &:after {
position: relative;
display: block;
content: "";
width: 20px;
height: 20px;
}
&:after {
left: 0;
border-radius: 50%;
background: #fff;
transition: all .2s ease;
}
&:before {
display: none;
}
&:hover {
background: lighten($green, 25%);
}
} // __switch
.form-toggle__label {
cursor: pointer;
}
.plugin-action__label {
padding-right: 5px;
top: -1px;
position: relative;
color: lighten($gray-med, 15%);
}
.activated .plugin-action__label {
color: $green;
}
.form-toggle:focus + .form-toggle__label .form-toggle__switch,
.form-toggle:focus:checked + .form-toggle__label .form-toggle__switch {
box-shadow: 0 0 0 2px $wpcom;
}
.form-toggle:checked + .form-toggle__label .form-toggle__switch {
background: $green;
&:after {
left: 16px;
}
}
.form-toggle:checked:hover + .form-toggle__label .form-toggle__switch {
background: lighten($green, 25%);
}
.form-toggle:disabled + .form-toggle__label .form-toggle__switch,
.form-toggle:disabled:hover + .form-toggle__label .form-toggle__switch {
background: #e9eff3;
}
.form-toggle.is-toggling + .form-toggle__label .form-toggle__switch {
background: $green;
}
.form-toggle.is-toggling:checked + .form-toggle__label .form-toggle__switch {
background: lighten($green, 25%);
}
.form-toggle.is-compact + .form-toggle__label .form-toggle__switch {
border-radius: 8px;
width: 24px;
height: 16px;
&:before, &:after {
width: 12px;
height: 12px;
}
}
.form-toggle.is-compact:checked + .form-toggle__label .form-toggle__switch:after {
left: 8px;
}
// end toggle
// Breakpoints
@include breakpoint(large-desktop) {
.jp-content {
.landing {
padding: 0 2em;
}
.footer {
padding-top: 1.5em;
}
}
.nux-intro {
.main-col {
width: 50%;
margin-bottom: 2em;
&.wpcom {
width: 100%;
}
}
.main-col + .main-col {
padding-right: 0;
}
.wpcom {
padding: 0;
.j-row {
width: 50%;
float: left;
border-bottom: 1px $clouds solid;
border-right: 1px $clouds solid;
&:last-of-type {
width: 100%;
float: none;
clear: both;
border: none;
border-top: 1px $clouds solid;
position: relative; // hides border of 2nd to last j-row
top: -1px;
}
}
.goto {
.feat a {
float: left;
}
}
}
} // nux-intro
.nux-foot {
.j-col {
border: none;
}
}
} // large-desktop
@include breakpoint(desktop) {
.nux-intro {
.main-col {
width: 100%;
padding: 0;
margin-bottom: 2em;
}
.wpcom {
.j-row {
width: 100%;
float: none;
}
}
}
} // desktop
@include breakpoint(tablet) {
#jumpstart-cta .button-primary {
margin: 10px 0 5px 0;
}
#jump-start-area .spinner {
background-position: 50% 35%;
}
} // tablet
@include breakpoint(phablet) {
.nux-intro {
h1 {
font-size: 1.75em;
}
p {
font-size: 1em;
}
}
} // phablet
@include breakpoint(large-phone) {
.jp-content {
.landing {
padding: 0 .5em;
}
}
#jump-start-area {
padding: 0 1em;
}
.jumpstart-message {
p {
padding-right: 0;
}
}
#jumpstart-cta .button-primary {
margin: 0 0 5px 0;
padding-bottom: 10px;
}
.footer .a8c-attribution a:after {
top: 6px;
}
} // large-phone