Footers
Footer
19 Sep 2022
Footer section
HTML
SCSS
PostCSS
JS
<footer class="footer">
<div class="cont">
<a href="./index.html" class="logo">
<img src="./images/logo.svg" alt="" />
</a>
<navbar class="navbar">
<a href="./about-us.html">About Us</a>
<a href="./job-search.html">Job Board</a>
<a href="./insights.html">Insights Hub</a>
<a href="./meet-the-team.html">Meet the team</a>
<a href="./contact-us.html">Contact Us</a>
</navbar>
<div class="bottom-info">
<p>© 2022 Metamorfosi Agency</p>
<navbar class="navbar">
<a href="./terms.html">Terms</a>
<a href="./cookies.html">Cookies</a>
<a href="./policy.html">Privacy policy</a>
</navbar>
</div>
<a
href="https://www.boldidentities.com/"
target="_blank"
id="bold-credits"
></a>
</div>
</footer>
.footer {
.navbar {
display: flex;
align-items: center;
justify-content: center;
margin-right: -20px;
a {
margin-right: 20px;
}
& > div {
position: relative;
&:hover {
.sub-btn {
& > * {
color: var(--primary);
}
span {
transform: rotate(180deg);
}
}
.sub-menu {
padding: 15px;
max-height: 500px;
opacity: 1;
}
}
}
.sub-btn {
margin-right: 15px;
a {
margin-right: 0;
}
span {
font-size: 12px;
padding: 0 5px;
margin-top: 0;
}
}
.sub-menu {
position: absolute;
bottom: 0;
left: 0;
align-items: flex-start;
display: flex;
min-width: calc(100% + 15px);
transform: translate(-15px, 105%);
background-color: var(--bg-second);
border-radius: ac(20px, 10px);
white-space: nowrap;
a {
margin-right: 0;
&:not(:last-child) {
margin-bottom: 10px;
}
&::before {
display: none;
}
}
}
}
.mobile-navbar {
display: flex;
flex-direction: column;
align-items: center;
max-height: 60vh;
overflow: auto;
width: 100%;
.simplebar-content {
display: flex;
flex-direction: column;
align-items: center;
}
.sub-btn {
margin-right: -36px;
span {
margin-left: 20px;
}
&.active {
a,
span {
color: var(--primary);
}
.sub-btn {
a {
margin-bottom: 10px;
}
}
span {
transform: rotate(180deg);
}
}
}
.sub-menu {
overflow: auto;
a {
font-size: ac(28px, 18px, 375, 1025);
margin-top: 15px;
&:first-child {
margin-top: 0;
}
}
&.active {
margin-top: 10px;
max-height: ac(300px, 200px);
opacity: 1;
}
}
}
.sub-btn {
display: flex;
align-items: center;
justify-content: center;
span {
margin-top: ac(15px, 20px, 375, 1025);
transition: 0.3s ease;
cursor: pointer;
&:hover {
color: var(--primary);
}
}
}
.sub-menu {
display: flex;
flex-direction: column;
align-items: center;
max-height: 0;
overflow: hidden;
transition: 0.3s ease;
opacity: 0;
}
.simplebar-track.simplebar-vertical {
background-color: var(--white);
width: 10px;
border-radius: 20px;
}
.simplebar-content-wrapper {
padding: 0 15px;
}
.simplebar-scrollbar::before {
background-color: var(--primary);
opacity: 1;
}
a {
position: relative;
@include transition-all;
&:not(.btn) {
&::before {
content: "";
position: absolute;
bottom: 0;
right: 0;
width: 0;
height: 2px;
background: var(--white);
@include transition-all;
}
&:hover {
color: var(--primary);
&::before {
width: 100%;
left: 0;
background: var(--primary);
}
}
}
}
.logo {
width: ac(150px, 80px);
flex-shrink: 0;
&::before {
display: none;
}
&:hover {
transform: scale(1.06);
}
}
& > .cont {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
& > .navbar {
margin-bottom: ac(30px, 20px);
}
}
.logo {
margin-bottom: ac(30px, 20px);
}
.bottom-info {
display: grid;
grid-template-columns: repeat(2, 1fr);
width: min(800px, 100%);
.navbar {
margin-left: auto;
a {
margin-right: 0;
&:not(:last-child) {
margin-right: 20px;
}
}
}
p {
padding: 0;
}
}
@include media(650) {
.cont > .navbar {
display: none;
}
.bottom-info {
grid-template-columns: 1fr;
grid-row-gap: 20px;
.navbar,
p {
margin: 0 auto;
}
}
}
}
.footer {
.navbar {
display: flex;
align-items: center;
justify-content: center;
margin-right: -20px;
a {
margin-right: 20px;
}
& > div {
position: relative;
&:hover {
.sub-btn {
& > * {
color: var(--primary);
}
span {
transform: rotate(180deg);
}
}
.sub-menu {
padding: 15px;
max-height: 500px;
opacity: 1;
}
}
}
.sub-btn {
margin-right: 15px;
a {
margin-right: 0;
}
span {
font-size: 12px;
padding: 0 5px;
margin-top: 0;
}
}
.sub-menu {
position: absolute;
bottom: 0;
left: 0;
align-items: flex-start;
display: flex;
min-width: calc(100% + 15px);
transform: translate(-15px, 105%);
background-color: var(--bg-second);
border-radius: ac(20px, 10px);
white-space: nowrap;
a {
margin-right: 0;
&:not(:last-child) {
margin-bottom: 10px;
}
&::before {
display: none;
}
}
}
}
.mobile-navbar {
display: flex;
flex-direction: column;
align-items: center;
max-height: 60vh;
overflow: auto;
width: 100%;
.simplebar-content {
display: flex;
flex-direction: column;
align-items: center;
}
.sub-btn {
margin-right: -36px;
span {
margin-left: 20px;
}
&.active {
a,
span {
color: var(--primary);
}
.sub-btn {
a {
margin-bottom: 10px;
}
}
span {
transform: rotate(180deg);
}
}
}
.sub-menu {
overflow: auto;
a {
font-size: ac(28px, 18px, 375, 1025);
margin-top: 15px;
&:first-child {
margin-top: 0;
}
}
&.active {
margin-top: 10px;
max-height: ac(300px, 200px);
opacity: 1;
}
}
}
.sub-btn {
display: flex;
align-items: center;
justify-content: center;
span {
margin-top: ac(15px, 20px, 375, 1025);
transition: 0.3s ease;
cursor: pointer;
&:hover {
color: var(--primary);
}
}
}
.sub-menu {
display: flex;
flex-direction: column;
align-items: center;
max-height: 0;
overflow: hidden;
transition: 0.3s ease;
opacity: 0;
}
.simplebar-track.simplebar-vertical {
background-color: var(--white);
width: 10px;
border-radius: 20px;
}
.simplebar-content-wrapper {
padding: 0 15px;
}
.simplebar-scrollbar::before {
background-color: var(--primary);
opacity: 1;
}
a {
position: relative;
@mixin transition-all;
&:not(.btn) {
&::before {
content: "";
position: absolute;
bottom: 0;
right: 0;
width: 0;
height: 2px;
background: var(--white);
@mixin transition-all;
}
&:hover {
color: var(--primary);
&::before {
width: 100%;
left: 0;
background: var(--primary);
}
}
}
}
.logo {
width: ac(150px, 80px);
flex-shrink: 0;
&::before {
display: none;
}
&:hover {
transform: scale(1.06);
}
}
& > .cont {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
& > .navbar {
margin-bottom: ac(30px, 20px);
}
}
.logo {
margin-bottom: ac(30px, 20px);
}
.bottom-info {
display: grid;
grid-template-columns: repeat(2, 1fr);
width: min(800px, 100%);
.navbar {
margin-left: auto;
a {
margin-right: 0;
&:not(:last-child) {
margin-right: 20px;
}
}
}
p {
padding: 0;
}
}
@mixin media 650 {
.cont > .navbar {
display: none;
}
.bottom-info {
grid-template-columns: 1fr;
grid-row-gap: 20px;
.navbar,
p {
margin: 0 auto;
}
}
}
}
// BOLD Lottie init (Має бути в самому кінці файлу)
lottie.loadAnimation({
container: document.getElementById(`bold-credits`),
renderer: "svg",
loop: true,
autoplay: true,
path: "./js/lottie/BOLD-white-logo.json",
});