@import "_variables"; @import "_mixins"; @import "_breakpoints"; @import "_reset"; #menu { position: absolute; opacity: 0; &:checked { +.hamburger-menu { .patty { background-color: white; &::before { transform: rotate(-45deg); top: 0; left: 0; opacity: 0.5; } &::after { transform: rotate(45deg); top: 0; left: 0; opacity: 0.5; } } } ~header .container .navbar { height: 55vh; } ~header .container .overlay { width: 100%; height: 100vh; position: absolute; background-color: black; left: 0; z-index: 3; opacity: 0.9; } } } .hamburger-menu { position: absolute; top: 5.5rem; right: 2rem; cursor: pointer; z-index: 5; display: none; @include mobile { display: block; } .patty { width: 1.5rem; height: 0.2rem; background-color: black; position: relative; transition: transform 0.3s; &::before { content: ""; position: absolute; top: -0.5rem; left: -0.25rem; width: 1.5rem; height: 0.2rem; background-color: black; transition: transform 0.3s; } &::after { content: ""; position: absolute; top: 0.5rem; left: 0.25rem; width: 1.5rem; height: 0.2rem; background-color: black; transition: transform 0.3s; } } } header { position: relative; @include mobile { @include flex-column; } .top-bar { background-color: $quaternary-color; .container { @include flex-row; @include mobile { width: 100%; justify-content: space-between; } .top-bar-button { display: flex; width: 10%; justify-content: center; @include mobile { display: none; } a { color: white; text-decoration: none; background-color: $primary-color; padding: 1rem; } } h5 { padding-top: 1rem; text-align: left; width: 75%; @include mobile { width: 70%; text-align: center; padding: 0.5rem; } } #lang { background-color: transparent; border: none; width: 5%; margin-right: 2%; @include mobile { display: none; } } .social { @include flex-center; width: 10%; border-left: 1px solid lightgrey; margin: 0; @include mobile { width: 30%; } figure { width: 50%; display: flex; } } } } .mid-bar { padding: 3rem 0 5rem; @include mobile { padding: 2rem 0; background-color: white; } .container { @include flex-row; justify-content: space-between; @include mobile { @include flex-column; } .logo { width: 25%; margin-right: 10%; @include mobile { width: 100%-40%; margin-left: 5%; } } .contact-details { display: flex; justify-content: flex-end; width: 22%; @include mobile { display: none; } .left-icon { margin-right: 10%; border: 1px solid lightgrey; height: 3rem; width: 3rem; position: relative; rotate: 45deg; img { width: 35%; top: 33%; left: 35%; position: absolute; rotate: -45deg; } } .details { h4 { color: $tertiary-color; } } } } } .navbar { @include container; @include flex-row; background-color: $secondary-color; z-index: 1; position: absolute; bottom: -2rem; @include mobile { @include flex-column; bottom: auto; position: relative; top: 0; z-index: 3; height: 0; overflow: hidden; transition: height 1s; } .menu { @include flex-row; margin: 0; width: 75%; @include mobile { @include flex-column; width: 100%; margin-top: 4.4rem; margin-bottom: 1rem } a { @include flex-center; color: white; text-transform: uppercase; font-size: 0.9rem; font-weight: 500; padding: 0 1.6rem; transition: background-color 0.5s; @include mobile { padding: 1rem 0; } &:hover { background-color: $primary-color; } } a.active { background-color: $primary-color; } } .search { width: 25%; display: flex; justify-content: flex-end; @include mobile { width: 80%; position: absolute; margin-top: 0.8rem; } input { padding: 1rem; border: none; background-color: transparent; color: white; outline: none; width: 100%; } button { padding: 0.5rem 1rem; background-color: transparent; border: none; figure { width: 1rem; } } } a.cart { display: flex; padding: 1.5rem; background-color: transparent; transition: background-color 0.5s; @include mobile { position: absolute; top: 0; right: 0; border-left: 1px solid rgba(255, 255, 255, 0.2); } figure { width: 1rem; } &:hover { background-color: $primary-color; } } } } .upfold { width: 100%; position: relative; overflow: hidden; object-position: bottom; height: 65vh; @include mobile { height: auto; img { width: 100%; height: 50vh; object-fit: cover; } } .upfold-text { position: absolute; z-index: 2; top: 30%; width: 100%; @include mobile { top: auto; bottom: 0; } .container { @include flex-column; h1 { font-size: 4rem; width: 70%; margin-bottom: 5%; color: $tertiary-color; @include mobile { font-size: 2rem; text-align: center; width: 90%; margin-left: 5%; margin-bottom: 10%; } } .upfold-links { @include mobile { @include flex-row; } a { background-color: white; color: $tertiary-color; padding: 0.7rem 2rem; text-decoration: none; margin-right: 1%; text-transform: uppercase; font-size: 0.8rem; line-height: 1.5rem; font-weight: 500; transition: background-color 0.5s, color 0.5s; @include mobile { @include flex-center; width: 50%; margin: 0; } &:nth-child(1) { background-color: white; color: $tertiary-color; } &:nth-child(2) { background-color: $primary-color; color: white; } &:hover { opacity: 0.8; } } } } } } .get-quote { @include flex-row; background-color: $secondary-color; color: white; margin: 0; padding: 2.5rem 0; .container { @include flex-row; @include mobile { @include flex-column; margin: 0 2rem; height: 25vh; justify-content: space-between; } .get-quote-text { width: 90%; @include mobile { width: 100%; h2 { margin-bottom: 2rem; } } } .get-quote-button { display: flex; a { background-color: $primary-color; color: white; text-decoration: none; text-transform: uppercase; width: 10%; text-align: center; padding: 1rem; font-weight: 600; font-size: small; width: 100%; margin-top: 0.3rem; opacity: 1; transition: opacity 0.5s; &:hover { opacity: 0.8; } } } } } .about { padding: 5% 0; text-align: center; @include mobile { padding: 3rem 0; padding-bottom: 0; } .container { @include flex-column; .about-text { @include mobile { width: 90%; margin: 0 auto; } .heading { padding-bottom: 7%; color: $secondary-color; position: relative; font-size: 2.5rem; text-align: center; &::after { content: ''; height: 5px; width: 5%; background-color: $primary-color; position: absolute; left: 47.5%; top: 60%; } p { width: 70%; margin-left: 15%; font-size: large; line-height: 1.5rem; } } } .services-short { display: flex; margin-top: 5%; box-shadow: 0rem 0 2rem rgba(0, 0, 0, 0.361); @include mobile { margin-top: 4rem; @include flex-column; } .content-box { padding: 3rem; position: relative; border-right: 1px solid rgba(196, 196, 196, 0.361); @include mobile { border: none; } .overlay-blue { opacity: 0; transition: opacity 0.5s; } &:nth-child(2) { @include mobile { @include content-box-hover; } } &:hover { @include content-box-hover } &:nth-child(3) { border: none; } figure { margin: 0 auto; margin-bottom: 5%; width: 2rem; } h3 { color: var(--third-color); } p { font-size: medium; line-height: 1.5rem; margin-top: 1rem; } } } } } .progress-report { background-image: url(images/pexels-karolina-grabowska-5882705.jpg); background-position: center; background-repeat: no-repeat; background-size: cover; padding: 5% 0; position: relative; .container { @include flex-column; position: relative; z-index: 1; .progress-report-text { text-align: center; color: white; @include mobile { width: 90%; margin-left: 5%; margin-top: 2.5rem; } h2 { font-size: 2.5rem; margin-bottom: 1rem; } p { font-size: large; } } .progress-report-blocks { @include flex-row; justify-content: space-between; @include mobile { flex-wrap: wrap; justify-content: space-between; height: 50vh; margin-top: 2rem; } .progress-box { @include flex-column; align-items: center; color: white; margin-top: 5%; @include mobile { width: 50%; } h2 { font-size: 3rem; margin: 0.7rem 0; } img { width: 40px; } p { font-weight: 600; } } } } } .industries { margin: 5% 0; @include mobile { margin: 3rem 0; } .container { @include flex-column; .heading { padding-bottom: 7%; color: $secondary-color; position: relative; font-size: 2.5rem; text-align: center; @include mobile { padding-bottom: 5rem; } &::after { content: ''; height: 5px; width: 5%; background-color: $primary-color; position: absolute; left: 47.5%; top: 60%; @include mobile { width: 20%; left: 40%; } } } .industry-list { display: flex; flex-direction: row; flex-wrap: wrap; margin-top: 2%; li { width: 33.33%; display: flex; margin-bottom: 5%; @include mobile { width: 50%; @include flex-column; @include flex-center; text-align: center; margin-bottom: 2rem; } &:nth-child(4), &:nth-child(5), &:nth-child(6) { margin-bottom: 0; } &:nth-child(4) { @include mobile { margin-bottom: 2rem; } } figure { display: flex; align-items: center; justify-content: center; padding: 1rem; width: 6rem; height: 3.7rem; border-radius: 3rem; background-color: $primary-color; @include mobile { width: 4rem; height: 4rem; margin-bottom: 1rem; } } .industry-list-text { display: flex; flex-direction: column; margin-left: 5%; h3 { color: $tertiary-color; margin-bottom: 3%; } p { line-height: 1.5rem; } } } } } } .team { background-color: $quaternary-color; padding: 5% 0; @include mobile { padding: 3rem 0; } .container { @include flex-column; .heading-2 { text-align: center; margin-bottom: 5%; h2 { font-size: 2rem; margin-bottom: 1%; } p { font-size: medium; } } .staffs { @include flex-row; justify-content: space-between; @include mobile { flex-wrap: wrap; justify-content: space-around; } li { width: 25%; margin-right: 3%; position: relative; height: 40vh; overflow: hidden; @include mobile { width: 45%; margin: 2.5%; } &:hover { .staff-social-media { bottom: 0; } } &:last-child { margin: 0; @include mobile { margin: 2.5%; } } .staff-photo { width: 100%; height: 100%; overflow: hidden; img { @include mobile { margin-top: 4rem; } } } .staff-details { position: absolute; z-index: 1; bottom: 0; display: flex; flex-direction: column; text-align: center; width: 100%; padding: 1rem; background-color: $secondary-color; color: white; @include mobile { bottom: auto; top: 0; } } .staff-social-media { position: absolute; z-index: 1; bottom: -5rem; display: flex; flex-direction: row; justify-content: space-around; width: 100%; padding: 1.57rem; background-color: $primary-color; color: white; transition: bottom 0.5s; @include mobile { bottom: 0; padding: 1rem; } a { padding: 0.25rem; border-radius: 1rem; figure { height: 24px; img { width: 100%; } } &:hover { background-color: white; svg { fill: $primary-color; } } } } } } } } .quick-enquiry-form { padding: 4rem 0; background-image: url(images/pexels-karolina-grabowska-5882705.jpg); background-position: center; background-repeat: no-repeat; background-size: cover; position: relative; .container { @include flex-column; .heading-2 { width: 70%; margin-left: 15%; position: relative; z-index: 1; color: white; text-align: center; padding-bottom: 0; margin-bottom: 0; @include mobile { width: 90%; margin-left: 5%; } h2 { font-size: 2rem; margin-bottom: 1rem; } p { line-height: 1.5rem; margin-bottom: 2rem; } } form { position: relative; z-index: 1; display: flex; width: 100%; @include mobile { flex-wrap: wrap; justify-content: space-around; } select, input, button { display: flex; width: 25%; margin-right: 1%; padding: 1rem; border: none; font-size: 0.9rem; @include mobile { width: 65%; margin-bottom: 0.5rem; padding: auto; margin-right: 0; } } button { justify-content: center; color: white; background-color: $primary-color; font-weight: 600; text-transform: uppercase; } } } } .clients { background-color: $quaternary-color; padding: 2% 0; .container { @include flex-row; align-items: center; justify-content: space-between; figure { display: flex; width: 20%; padding: 0 5%; img { filter: grayscale(1); } } } } footer { background-color: $secondary-color; padding: 4% 0; @include mobile { padding: 3rem 0; } .container { @include flex-row; @include mobile { @include flex-column; } .company-details, .quick-links, .recent-news, .newsletter { @include flex-column; width: 25%; color: white; margin-top: 1rem; @include mobile { width: auto; margin: 2rem 2rem 0 2rem; } } .company-details { margin-top: 0; figure { width: 70%; } p { font-size: small; margin-top: 2rem; margin-right: 2rem; } ul li { margin: 1rem 0; position: relative; padding-left: 2rem; font-size: small; opacity: 0.8; &::before { fill: white; position: absolute; width: 1rem; left: 0; top: 0; } &:nth-child(1) { &::before { content: url(images/location.svg); } } &:nth-child(2) { &::before { content: url(images/call.svg); } } &:nth-child(3) { &::before { content: url(images/mail.svg); } } } } .quick-links { width: 25%; @include mobile { width: 100%; } h3 { width: 100%; } .links { display: flex; width: 100%; margin-top: 2rem; ul { width: 50%; li { padding: 0.5rem 0; padding-left: 2rem; position: relative; &::before { position: absolute; content: url(images/chevron-forward.svg); width: 1rem; top: 0.6rem; left: 0; opacity: 0.8; } a { text-decoration: none; color: white; opacity: 0.8; font-size: small; } } } } } .recent-news { padding-right: 2rem; ul { margin-top: 2rem; display: flex; flex-direction: column; li { margin-bottom: 1.5rem; opacity: 0.8; h4 { font-size: 1.1rem; font-weight: 100; margin-bottom: 0.5rem; line-height: 1.5rem; } h5 { padding-left: 1.5rem; font-weight: 100; opacity: 0.5; position: relative; &::before { content: url(images/time.svg); position: absolute; width: 16px; top: 0; left: 0; } } } } } .newsletter { padding-right: 2rem; p { margin-top: 1rem; margin-bottom: 2rem; font-size: small; } form { @include flex-column; input, button { padding: 0.8rem; margin-bottom: 0.3rem; border: none; } button { background-color: $primary-color; color: white; } } } } }