samuel-philipp.de/src/scss/main.scss

726 lines
No EOL
12 KiB
SCSS

$primary: #006269;
$secondary: #444;
@import "bootstrap/scss/bootstrap-grid";
@import "bootstrap/scss/bootstrap-reboot";
@import "bootstrap/scss/bootstrap-utilities";
@import "bootstrap/scss/functions";
@import "bootstrap/scss/variables";
@import "bootstrap/scss/mixins/_breakpoints";
$icomoon-font-path: "../font";
@import "icons/style";
$flag-icons-path: "../flags";
@import "flag-icons/sass/flag-icons";
html, body {
height: 100%;
}
body {
color: #000;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
padding: 0;
margin: 0;
}
header {
position: relative;
height: 100%;
width: 100%;
background-image: url(../img/sp-codes.jpg);
background-color: #fff;
background-size: cover;
background-attachment: fixed;
background-position: 0 0;
color: #fff;
z-index: 11;
.overlay {
height: 100%;
background-color: rgba($secondary, 0.9);
}
.profile-thumb {
height: 300px;
width: 300px;
margin: 0 auto;
border: 2px solid #fff;
border-radius: 50%;
background-color: #fff;
}
a {
color: #fff !important;
}
.scroll-down-outer {
position: relative;
height: 64px;
margin-top: 30px;
margin-bottom: 4rem;
.scroll-down {
display: block;
position: absolute;
z-index: 100;
bottom: 0;
left: 50%;
margin-left: -32px;
width: 64px;
height: 64px;
-webkit-animation: bounce 4s 2s infinite;
animation: bounce 4s 2s infinite;
&::before {
content: "";
position: absolute;
inset: 30%;
transform: translateY(-10%) rotate(-45deg);
border-left: 5px solid #fff;
border-bottom: 5px solid #fff;
}
}
}
@-webkit-keyframes bounce {
0%, 100%, 20%, 50%, 80% {
-webkit-transform: translateY(0);
transform: translateY(0)
}
40% {
-webkit-transform: translateY(-30px);
transform: translateY(-30px)
}
60% {
-webkit-transform: translateY(-15px);
transform: translateY(-15px)
}
}
@keyframes bounce {
0%, 100%, 20%, 50%, 80% {
-webkit-transform: translateY(0);
-ms-transform: translateY(0);
transform: translateY(0)
}
40% {
-webkit-transform: translateY(-30px);
-ms-transform: translateY(-30px);
transform: translateY(-30px)
}
60% {
-webkit-transform: translateY(-15px);
-ms-transform: translateY(-15px);
transform: translateY(-15px)
}
}
}
.nav {
display: flex;
justify-content: center;
flex-wrap: wrap;
.items {
display: flex;
padding: 1rem;
}
}
.menu {
a {
color: #fff;
text-decoration: none;
margin-right: 2rem;
&:hover {
text-decoration: underline;
}
}
.item:last-child a {
margin-right: 0;
}
.active a {
font-weight: bold;
}
}
ul.social-icons {
margin: 0;
padding: 0;
li {
margin: 0;
padding: 0;
list-style: none;
display: inline-block;
a {
color: #000;
}
}
}
.vh-100 {
height: 100vh;
}
section {
padding: 7em 0;
clear: both;
}
.heading {
margin-bottom: 5em;
}
.info {
margin: 0;
padding: 0;
width: 90%;
float: left;
li {
width: 100%;
float: left;
list-style: none;
padding: 10px 0;
&:first-child {
padding-top: 0;
}
.first-block {
width: 30%;
display: inline-block;
float: left;
color: #000;
font-weight: bold;
}
.second-block {
width: 70%;
display: inline-block;
color: rgba(0, 0, 0, 0.5);
}
}
}
.timeline {
list-style: none;
padding: 20px 0 20px;
position: relative;
&::before {
top: 20px;
bottom: 0;
position: absolute;
content: " ";
width: 2px;
background-color: #e6e6e6;
left: 50%;
margin-left: 0;
}
li {
margin-bottom: 20px;
position: relative;
&.timeline-heading > div h3 {
display: inline-block;
padding: 7px 15px;
font-size: 18px;
text-transform: uppercase;
letter-spacing: 5px;
font-weight: bold;
background: #e6e6e6;
border-radius: 4px;
}
&.timeline-unverted {
text-align: right;
}
&.timeline-inverted > .timeline-panel {
float: right;
}
.timeline-badge {
color: #fff;
width: 44px;
height: 44px;
line-height: 50px;
font-size: 1.4em;
text-align: center;
position: absolute;
top: 40px;
left: 50%;
margin-left: -21px;
background-color: $primary;
z-index: 100;
display: table;
border-radius: 50%;
}
.timeline-panel {
width: 45%;
float: left;
margin-bottom: 0;
position: relative;
border-radius: 4px;
.duration {
display: block;
font-size: 16px;
font-weight: normal;
color: #888;
}
.timeline-title {
margin-top: 0;
.degree {
display: block;
font-size: 20px;
font-weight: bold;
color: $primary;
}
}
.company {
display: block;
margin-bottom: 20px;
font-size: 16px;
font-weight: normal;
color: #888;
}
.timeline-body > p, .timeline-body > ul {
margin-bottom: 0;
}
}
&::before, &::after {
content: " ";
display: table;
}
&::after {
clear: both;
}
}
}
.feature-left {
color: #fff !important;
text-decoration: none !important;
}
.icon {
display: flex;
text-align: center;
width: 100px;
height: 100px;
background: #fff;
margin: 0 auto 20px;
border-radius: 50%;
}
.circular {
height: 160px;
width: 160px;
position: relative;
margin-bottom: 2rem;
.inner {
position: absolute;
z-index: 6;
top: 50%;
left: 50%;
height: 150px;
width: 150px;
margin: -75px 0 0 -75px;
background: #ffffff;
border-radius: 100%;
}
.number {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 10;
color: #000;
display: flex;
flex-direction: column;
text-align: center;
}
.bar {
position: absolute;
height: 100%;
width: 100%;
background: #eeeeee;
-webkit-border-radius: 100%;
clip: rect(0px, 160px, 160px, 80px);
}
.circle .bar .progress {
position: absolute;
height: 100%;
width: 100%;
-webkit-border-radius: 100%;
clip: rect(0px, 80px, 160px, 0px);
background: $primary;
}
.circle .left .progress {
transform: rotate(180deg);
z-index: 1;
}
.circle .right {
transform: rotate(180deg);
z-index: 3;
}
.circle .right .progress-95 {
transform: rotate(162deg);
}
.circle .right .progress-90 {
transform: rotate(144deg);
}
.circle .right .progress-85 {
transform: rotate(126deg);
}
.circle .right .progress-80 {
transform: rotate(108deg);
}
.circle .right .progress-75 {
transform: rotate(90deg);
}
.circle .right .progress-70 {
transform: rotate(72deg);
}
.circle .right .progress-65 {
transform: rotate(54deg);
}
.circle .right .progress-60 {
transform: rotate(36deg);
}
.circle .right .progress-55 {
transform: rotate(18deg);
}
.circle .right .progress-50 {
transform: rotate(0deg);
}
}
.progress-wrap {
width: 100%;
float: left;
margin-bottom: 10px;
.progress {
overflow: hidden;
margin-bottom: 20px;
background-color: #eeeeee;
//border-radius: 4px;
width: 100%;
height: 5px;
.progress-bar {
background-color: $primary !important;
height: 5px;
display: block;
box-shadow: none;
&.progress-95 {
width: 95%;
}
&.progress-90 {
width: 90%;
}
&.progress-85 {
width: 85%;
}
&.progress-80 {
width: 80%;
}
&.progress-75 {
width: 75%;
}
&.progress-70 {
width: 70%;
}
&.progress-65 {
width: 65%;
}
&.progress-60 {
width: 60%;
}
&.progress-55 {
width: 55%;
}
&.progress-50 {
width: 50%;
}
&.progress-45 {
width: 45%;
}
&.progress-40 {
width: 40%;
}
}
}
}
#projects, #interests {
color: #fff;
background-image: url(../img/bg.jpg);
}
.interest {
background-size: cover;
background-position: center center;
background-repeat: no-repeat;
background-color: #fff;
position: relative;
height: 270px;
width: 100%;
display: table;
overflow: hidden;
text-decoration: none !important;
color: #000;
&:hover {
color: #000;
}
.desc {
display: table-cell;
height: 270px;
padding: 15px;
h3 {
font-size: 20px;
}
span {
display: block;
color: lighten(#000, 60%);
font-size: 14px;
}
}
&.interest-magic {
background-image: url(../img/sp-magic.jpg);
.desc {
vertical-align: bottom;
color: #000;
}
}
&.interest-environment {
background-image: url(../img/environment.jpg);
.desc {
vertical-align: top;
color: #000;
}
}
&.interest-sports {
background-image: url(../img/dumbbell.jpg);
.desc {
vertical-align: middle;
color: #fff;
}
}
&.interest-photography {
background-image: url(../img/photography.jpg);
.desc {
vertical-align: top;
color: #000;
}
}
}
.commitment {
img {
display: block;
max-height: 120px;
width: 100%;
height: 100%;
object-fit: contain;
}
}
.video {
display: table;
width: 50%;
background-size: cover;
background-position: center center;
background-repeat: no-repeat;
position: relative;
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
flex-wrap: wrap;
}
.choose {
width: 50%;
padding: 4em;
}
.form-control {
box-shadow: none;
background: transparent;
border: 2px solid rgba(0, 0, 0, 0.1);
height: 54px;
font-size: 18px;
font-weight: 300;
&:active, &:focus {
outline: none;
box-shadow: none;
border-color: $primary;
}
}
.btn {
border-radius: 30px;
box-shadow: none !important;
outline: none !important;
}
.btn-primary {
color: #fff !important;
background-color: $primary !important;
border-color: $primary !important;
}
footer {
padding: 50px 0;
a {
color: #000;
}
}
.back-top {
--offset: 112px;
position: fixed;
right: var(--offset);
bottom: var(--offset);
width: 3rem;
aspect-ratio: 1;
border-radius: 7px;
background: var(--bs-primary);
z-index: 10;
box-shadow: 0 0 2px 1px rgba(255, 255, 255, .2);
&::before {
content: "";
position: absolute;
inset: 30%;
transform: translateY(20%) rotate(-45deg);
border-top: 5px solid #fff;
border-right: 5px solid #fff;
}
}
@include media-breakpoint-down(lg) {
header {
.scroll-down-outer {
margin-bottom: 3rem;
}
}
.back-top {
--offset: 84px;
}
}
@include media-breakpoint-down(md) {
header {
.profile-thumb {
width: 200px;
height: 200px;
}
.scroll-down-outer {
margin-bottom: 2rem;
}
}
.timeline {
&::before {
left: 10%;
}
li {
&.timeline-heading > div h3 {
display: block;
}
.timeline-badge {
top: 30px;
left: 10%;
}
.timeline-panel {
width: auto;
float: none !important;
margin-left: 20%;
text-align: left;
}
}
}
.back-top {
--offset: 56px;
}
}
@include media-breakpoint-down(sm) {
header {
.scroll-down-outer {
margin-bottom: 1rem;
}
}
.back-top {
--offset: 28px;
}
}