portfolio/assets/styles/components/projects.scss

244 lines
3.8 KiB
SCSS

.projects {
display: grid;
grid-template-columns: 1fr 1fr;
grid-gap: 1em;
.project-card {
border: 1px solid gray;
padding: 1.5em;
border-radius: 5px;
display: flex;
flex-direction: column;
justify-content: space-between;
}
.project-top {
}
.project-content {
width: 100%;
}
.project-title {
font-size: 1em;
padding-bottom: 1em;
}
.project-description {
font-size: .9em;
margin-bottom: 0;
color: gray;
}
.project-img {
width: 5em;
}
.project-thumbnail {
float: right;
padding-left: .5em;
}
.project-bottom {
padding-top: 1.2em;
font-size: .9em;
display: flex;
justify-content: space-between;
}
.project-date-container {
opacity: .8;
display: flex;
align-items: center;
.icon {
opacity: .7em;
margin-right: .5em;
}
}
}
@media(min-width: $lg-breakpoint) {
.projects {
grid-template-columns: 1fr 1fr 1fr;
}
}
@media(max-width: $md-breakpoint) {
.projects {
grid-template-columns: 1fr 1fr;
}
}
@media (max-width: $sm-breakpoint) {
.projects {
grid-template-columns: 1fr;
}
.project-right {
padding-left: 1em !important;
}
}
.project-page {
.project-header {
div {
display: flex;
align-items: center;
margin-bottom: 0.4em;
svg {
margin-right: 0.6em;
}
}
}
.project-highlights {
list-style: square;
padding-left: 2em;
}
}
.project-images-container {
width: 100%;
.project-images {
display:flex;
overflow-x: scroll;
}
.img {
display: block;
overflow-y: hidden;
height: 199px;
min-width: 295px;
margin-right: 1em;
margin-bottom: 1em;
img { width: 100%; }
}
}
.project-images {
display: grid;
width: 100%;
}
/* Media modal */
/**
* Media modal
*/
.media-modal-container {
position: fixed;
width: 100%;
height: 100vh;
z-index: 99;
top: 0;
left: 0;
background-color: rgba(0, 0, 0, .80);
display: flex;
justify-content: center;
align-items: center;
visibility: hidden;
opacity: 0;
transition: visibility 0.1s linear,opacity 0.1s linear;
}
.media-modal {
position: relative;
width: 50%;
}
.media-modal .media-modal-content {
border-radius: 4px;
width: 100%;
/** crop not very cool images in modal **/
max-height: 80vh;
overflow-y: scroll;
display: flex;
align-items: flex-start;
justify-content: center;
}
.media-modal img, .media-modal video {
width: 100%;
}
.media-close {
filter: drop-shadow(2px 4px 6px black);
position: absolute;
width: 1.5em;
height: 1.5em;
right: -.75em;
top: -.75em;
color: white;
cursor: pointer;
opacity: 0.9;
transition: all 0.2s;
}
.media-close:hover {
transform: scale(1.2);
opacity: 1;
}
.media-nav {
position: absolute;
top: 50%;
color: white;
cursor: pointer;
font-size: 2em;
}
.media-left-nav {
left: 2em !important;
}
.media-right-nav {
right: 2em !important;
}
.media-caption {
position: absolute;
bottom: 1.5em;
color: wheat;
padding: 0.5em 1em;
line-height: 1.3em;
}
@media (max-width: $md-breakpoint) {
.project-page {
.media-modal {
width: 90%;
margin-top: 2em;
}
.media-nav {
bottom: 0;
top: initial;
margin-bottom: 0.5em;
}
.media-modal-content {
max-height: 60vh;
}
.media-caption {
font-size: .9em;
margin-bottom: .5em !important;
bottom: 4em;
text-align: center;
}
.media-modal-container {
align-items: flex-start;
}
}
}