Files
portfolio/public/src/styles.css
T
2024-12-19 15:19:15 -07:00

468 lines
8.2 KiB
CSS

:root {
--main-dark-color: #4A245E;
--main-offwhite-color: white;
--main-midtone-color: #9BC995;
--main-accent-color: #673283;
--secondary-accent-color: #98B9AB;
}
/* GENERAL */
body {
margin:0;
height:100vh;
background:
linear-gradient(
135deg,
hsl(279deg 33% 47%) 0%,
hsl(279deg 40% 33%) 39%,
hsl(279deg 62% 19%) 61%,
hsl(279deg 94% 7%) 100%
);
background-size:300% 100%,cover;
animation:change 4s linear infinite;
animation-direction: alternate;
background-attachment: fixed;
}
@keyframes change {
from {
background-position: right,center;
}
}
/* TEXT */
* {
font-family: Lato, sans-serif;
color: white;
}
h1, h2 {
font-weight: bold;
margin: 0;
}
h1 {
margin: 5vw 0 5vw 0;
font-size: 8vw;
}
h2 {
font-size: 4vw;
}
h3 {
font-size: 3vw;
}
h4 {
font-size: 2vw;
}
p {
font-size: 1vw;
}
.dark-text {
color: var(--main-dark-color);
}
.light-text {
color: var(--main-offwhite-color);
}
.label {
font-size: 2vw;
}
.label-text {
font-size: 1.5vw;
max-width: 80%;
text-align: center;
--white-space: nowrap;
--overflow: hidden;
--text-overflow: ellipsis;
}
/* NAV-BAR */
.bg-light {
background-color: white !important;
padding: 0;
}
.navbar-brand {
padding-left: .5vw;
color: var(--main-dark-color);
font-size: 2vw;
font-weight: bold;
animation: 500ms;
}
.navbar-toggler {
border: none;
}
.navbar-toggler:focus {
box-shadow: none;
border:none;
}
.navbar-light .navbar-toggler-icon {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(74, 36, 94, 1)' stroke-width='3.5' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}
.navbar-brand:hover {
color: var(--main-dark-color);
}
.nav-link {
padding: 1.5vw;
}
.nav-link, .nav-link > .nav-item {
color: var(--main-dark-color);
font-size: 1.3vw;
animation: 500ms;
}
.nav-link:hover, .nav-link:hover > .nav-item {
color: var(--main-offwhite-color);
}
.nav-link:hover {
background-color: var(--main-dark-color);
}
.bar {
display: block;
width: 100%;
border-top: 5px var(--main-dark-color) solid;
padding-bottom: 1vw;
}
.carousel {
float: left;
margin-top: 5vw;
width: 55% !important;
}
input {
padding: 1em;
margin: .5em;
font-size: 1.2em;
}
.search {
padding: 1vw;
background-color: var(--main-dark-color);
color: var(--main-offwhite-color);
}
label, label {
display: inline-block;
border: 2px solid var(--main-offwhite-color);
border-radius: 5px;
text-align: center;
padding: .5em;
margin: 0 2em 1em 2em;
transition: 500ms;
}
input[type="radio"] {
opacity: 0;
position: fixed;
width: 0;
}
input[type="radio"]:checked + label {
background-color: var(--main-offwhite-color);
color: var(--main-dark-color);
}
input[type="radio"]:hover + label {
background-color: var(--main-offwhite-color);
color: var(--main-dark-color);
}
.panels {
flex: 1;
--overflow: hidden;
}
.panel {
max-height: 6.5vw;
background: var(--main-dark-color);
box-shadow: inset 0 0 0 5px rgba(255, 255, 255, 0.05);
color: var(--main-offwhite-color);
transition:
font-size 500ms,
flex 500ms,
padding 500ms,
max-height 750ms;
font-size: 2.5em;
background-position: center;
display: flex;
flex-direction: column;
overflow: hidden;
}
.panel > * {
width: 100%;
transition: transform 800ms;
flex: 1 0 auto;
display: flex;
justify-content: center;
align-items: center;
}
.panel > *:nth-child(2) {
transform: translateX(-1000%);
}
.panel.open-active > *:nth-child(2) {
transform: translateX(12.5%);
}
.panel > *:last-child {
transform: translateX(-1000%);
transition: 800ms;
}
.panel.open-active > *:last-child {
transform: translateX(50%);
transition: 800ms;
}
.panel h3 {
font-family: Lato, sans-serif;
color: var(--main-offwhite-color);
font-size: 1.3em;
padding-top: 1vw;
}
.panel.open-active {
max-height: 20vw;
}
.panel.open {
overflow: visible;
flex: 5;
font-size: 2em;
}
.panel .label-text, .panel .btn {
display: none;
}
.panel.open .label-text, .panel.open .btn {
display: block;
}
.carousel-wrapper {
flex: 0 0 40%;
padding-top: 5vw;
}
.carousel {
float: right;
margin-top: 5vw;
width: 55%;
}
/* MISC */
.custom-container {
align-content: center;
padding: 5vw;
width: 90% !important;
margin-left: auto;
margin-right: auto;
}
.card {
display: flex; /* Enable flexbox layout */
flex-direction: column; /* Stack items vertically */
align-items: center; /* Center items horizontally */
justify-content: center; /* Center items vertically */
margin: 1vw;
}
.card img {
max-width: 50vw;
max-height: 35vw;
object-fit: cover;
}
.card-body {
text-align: center;
}
.card-text {
font-size: 2vw;
}
.flex-row {
display: flex; /* Enable flexbox layout */
height: 100%; /* Set the height of the container */
}
.flex-row > .col {
display: flex;
flex-direction: column; /* Ensure content flows vertically */
height: 100%; /* Make each column fill the container's height */
}
/*Buttons*/
.btn {
padding: 0.5vw;
background-color: var(--main-dark-color);
border: 2px solid var(--main-offwhite-color);
transition: background-color 300ms;
width: 50%;
margin-bottom: 1vw;
}
.btn:hover {
background-color: var(--main-accent-color);
}
.btn > a {
text-decoration: none;
color: var(--main-offwhite-color);
}
.footer-container {
margin-left: auto;
margin-right: auto;
width: 80% !important;
}
.social-links {
list-style: none; /* Remove default list styling */
display: flex; /* Display list items as flex items */
justify-content: space-between; /* Space items evenly */
}
.social-links li {
margin: 0 10px; /* Add spacing between icons */
}
.social-links li a {
text-decoration: none;
color: var(--main-offwhite-color);
}
.project-grid {
display: flex;
flex-wrap: wrap;
justify-content: space-between; /* Distribute projects evenly */
margin: 2vw auto; /* Center grid horizontally */
}
/* Responsive Breakpoints */
@media (min-width: 992px) { /* Large Screens (3 columns) */
.project-grid {
width: 80%; /* Adjust width as needed */
}
.project-grid > * {
flex: 0 0 30%; /* Set a fixed width for each project */
}
.footer-container .social-links {
width: 80% !important;
margin: 0;
padding-left: 0; /* Remove any left padding on mobile */
padding-right: 0; /* Remove any right padding on mobile */
}
}
@media (min-width: 768px) and (max-width: 991px) { /* Medium Screens (2 columns) */
.project-grid {
width: 80%; /* Adjust width as needed */
}
.project-grid > * {
flex: 0 0 40%; /* Set a fixed width for each project */
}
.footer-container .social-links {
width: 80% !important;
margin: 0;
padding-left: 0; /* Remove any left padding on mobile */
padding-right: 0; /* Remove any right padding on mobile */
}
}
@media (max-width: 767px) { /* Small Screens (1 column) */
.project-grid {
width: 80%;
}
.project-grid > * {
flex: 1 1 80%; /* Set full width for each project */
}
.footer-container .social-links {
width: 80% !important;
margin: 0;
padding-left: 0; /* Remove any left padding on mobile */
padding-right: 0; /* Remove any right padding on mobile */
}
.social-links li a {
font-size: 2vw;
}
h1 {
font-size: 8vw;
}
h2 {
font-size: 6vw;
}
h3, .navbar-brand {
font-size: 5vw;
}
h4 {
font-size: 3vw;
}
p, .nav-link, .nav-link > .nav-item {
font-size: 2vw;
}
}
@media (max-width: 991px) {
h1 {
font-size: 12vw;
}
h2 {
font-size: 8vw;
}
h3, .navbar-brand {
font-size: 6vw;
}
h4 {
font-size: 4vw;
}
p, .nav-link, .nav-link > .nav-item {
font-size: 3vw;
}
.nav-link > .nav-item {
font-weight: bold;
}
}