papercss/src/components/_modals.scss
2022-11-24 12:13:03 -05:00

125 lines
2.3 KiB
SCSS

.modal {
@include transition(opacity);
background: rgba(#000, 0.6);
bottom: 0;
flex: 1 1 auto;
left: 0;
opacity: 0;
position: fixed;
right: 0;
text-align: left;
top: 0;
visibility: hidden;
word-wrap: break-word;
z-index: 200;
// modal background
&-bg {
bottom: 0;
cursor: pointer;
left: 0;
position: absolute;
right: 0;
top: 0;
}
.modal-body {
@include color('color', 'primary');
@include color('background', 'main-background');
@include color('border-color', 'muted-light');
@include transition;
backface-visibility: hidden;
border: 2px solid;
left: 50%;
padding: 1.25rem;
position: absolute;
top: 0;
transform: translate(-50%, -50%);
@include resp(sm) {
box-sizing: border-box;
width: 90%;
}
}
.btn-close {
@include color('color', 'primary-light');
@include transition;
cursor: pointer;
font-size: 30px;
height: 1.1rem;
position: absolute;
right: 1rem;
text-decoration: none;
top: 1rem;
width: 1.1rem;
&:hover,
&:active,
&:focus {
@include color('color', 'primary');
}
}
h4,
.modal-title {
margin-bottom: 0.5rem;
margin-top: 0;
}
h5,
.modal-subtitle {
@include color('color', 'secondary');
margin-bottom: 0.5rem;
margin-top: 0;
}
p,
.modal-text {
margin-bottom: 1rem;
margin-top: 0;
}
.modal-link+.modal-link,
a+a {
margin-left: 1.25rem;
}
.paper-btn {
@include color('background', 'main-background');
display: inline-block;
text-decoration: none;
}
.modal-link,
a {
background-image: linear-gradient(5deg, transparent 65%, $secondary 80%, transparent 90%), linear-gradient(165deg, transparent 5%, $secondary 15%, transparent 25%), linear-gradient(165deg, transparent 45%, $secondary 55%, transparent 65%), linear-gradient(15deg, transparent 25%, $secondary 35%, transparent 50%);
background-position: 0 90%;
background-repeat: repeat-x;
background-size: 4px 3px;
cursor: pointer;
text-decoration: none;
&:hover,
&:focus,
&:visited {
@include color('color', 'primary');
text-decoration: none;
}
}
}
.modal-state {
display: none;
&:checked+.modal {
opacity: 1;
visibility: visible;
.modal-body {
top: 50%;
}
}
}