* {
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
}
body {
margin: 0;    
position: relative;
}
img {
display: block;
}
:root {
--black: #000000;
--dark: #001b2b;
--dark-grey: #171e25;
--white: #fff;    
--light: #edf2f4;
--grey: #8e9194;
--blue: #0969C3;
--dark-blue: #002337;
--medium-blue:#057dc7;
--light-blue: #d7e9f1;
--green: #86cd33;
--red: #e73d3d;
}
@font-face {
font-family: 'NeueMontreal-Light';
src: url(https://vuokraninja.fi/wp-content/themes/vuokraninja/fonts/NeueMontreal-Light.otf); 
}
@font-face {
font-family: 'NeueMontreal-Medium';
src: url(https://vuokraninja.fi/wp-content/themes/vuokraninja/fonts/NeueMontreal-Medium.otf); 
}
@font-face {
font-family: 'NeueMontreal-Regular';
src: url(https://vuokraninja.fi/wp-content/themes/vuokraninja/fonts/NeueMontreal-Regular.otf); 
}
@font-face {
font-family: 'NeueMontreal-Bold';
src: url(https://vuokraninja.fi/wp-content/themes/vuokraninja/fonts/NeueMontreal-Bold.otf);   
}
html {
overflow-x: hidden;
font-family: 'Inter', sans-serif;
}
h1, h2, h3, h4, h5, h6 {
font-family: 'NeueMontreal-Regular';
}
h1 {
font-size:48px;
letter-spacing: 1.6px;
}
h2 {
font-size:46px;
line-height: 58px;
letter-spacing: 1px;
}
h3 {
font-size:32px;
letter-spacing: 0.8px;
}
h4 {
font-size: 26px;
letter-spacing: 0.6px;
}
h5 {
font-size: 22px;
font-weight: 500;
letter-spacing: 0.6px;
}
p, a, li, strong, span, label {
}
a:hover, a:active, a:focus, input:focus {
outline:none;
}
p, li {
font-weight: 400;
font-size: 16px;
line-height: 24px;
letter-spacing: -0.6px;
} .top-header {
position: relative;
background: var(--dark-blue);
height:40px;
}
.top-header .site-header {
padding-top:0;
padding-bottom: 0;
height: 40px;
}
.top-header ul {
position: absolute;
top:50%;
transform: translateY(-50%);
right:60px;
list-style: none;
padding: 0;
margin: 0;
}
.top-header ul li {
display: inline-block;
font-size: 13px;
padding: 0 20px;
color: var(--white);
}
.top-header ul li:last-of-type {
padding-right: 0;
} #headercontainer {
position: fixed;
width:100%;
z-index: 100;
transition: all 0.3s ease-in-out;
background:var(--white);
}
.site-header {
width:100%;
max-width: 1600px;
padding:0 60px;
margin:0 auto;
height:80px;
position: relative;
transition: all 0.3s ease-in-out;
}
.site-title {
position: absolute;
top: 50%;
left:110px;
transform: translateY(-50%);
}
.site-title a {
position: relative;
display: block;
font-size: 24px;
font-weight: 700;
text-decoration: none;
color: var(--medium-blue);
font-family: 'Urbanist', sans-serif;
letter-spacing: -0.5px;
}
.site-title a:before {
content: '';
background: url(https://vuokraninja.fi/wp-content/themes/vuokraninja/assets/ninja-logo.svg) no-repeat;
width: 40px;
height: 30px;
position: absolute;
left: -50px;
top: 50%;
transform: translateY(-50%);
background-size: contain;
} .main-navigation {
position: absolute;
right:60px;
transform: translateY(-50%);
top: 50%;
margin: 0;
padding: 0;
}
.main-navigation ul {
margin:0;
padding:0;
}
.main-navigation li {
position: relative;
display: inline-block;
list-style-type: none;
margin: 0 2px;
}
.menu-item-has-children:after {
content: '+';
position: absolute;
top: 50%;
right: 8px;
transform: translateY(-50%);
font-weight: 500;
font-size: 12px;
}
.main-navigation li a {
padding: 14px 24px;
text-decoration: none;
color: var(--black);
font-size: 15px;    
position: relative;
font-weight: 600;
transition: 0.2s all ease-in-out;
}
.main-navigation li:last-of-type a {
padding-right: 0;
}
.main-navigation li a:hover {    
color:var(--medium-blue);
}
.current-menu-item a { 
color:var(--medium-blue);
}
.main-navigation ul ul {
opacity: 0;
visibility: hidden;
position: absolute;
top: 53px;
display: flex;
width:300px;
flex-wrap: wrap;
justify-content: start;
transition: 0.2s all ease-in-out;
}
.main-navigation ul ul:before {
content: '';
background: var(--dark-blue);
width: 16px;
height: 16px;
top: -8px;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
position: absolute;
left: 24px;
}
.main-navigation ul ul:after {
content: '';
background: transparent;
width: 100%;
height: 25px;
top: -20px;
position: absolute;
left: 0;
}
.menu-item-has-children:hover > ul {
opacity: 1;
visibility: visible;
}
.main-navigation ul ul li {
width: 100%;
margin:0;
margin-bottom: -1px;
}
.main-navigation ul ul li:first-of-type a {
padding-top: 24px;
}
.main-navigation ul ul li:last-of-type a {
border-bottom:none;
padding-bottom: 24px;
}
.main-navigation ul ul li a {
display: block;
padding:14px 24px;
font-size: 15px;
font-weight: 500;
background:var(--dark-blue);
color:var(--white);
}
.main-navigation ul ul li:first-of-type a {
border-radius: 10px 10px 0 0;
}
.main-navigation ul ul li:last-of-type a {
border-radius: 0 0 10px 10px;
} #nav-icon {
width: 40px;
height:22px;
position: relative;
z-index: 100; 
transform: rotate(0deg);
transition: .5s ease-in-out;
cursor: pointer;
}
#nav-icon span {
display: block;
position: absolute;
height: 2px;
width: 32px;
background: #367DA7;
opacity: 1;
left: 0;
transform: rotate(0deg);
transition: .25s ease-in-out;
}
#nav-icon span:nth-child(1) {
top: 0px;
}
#nav-icon span:nth-child(2),#nav-icon span:nth-child(3) {
top: 10px;
}
#nav-icon span:nth-child(4) {
top: 20px;
}
#nav-icon.open span:nth-child(1) {
top: 14px;
width: 0%;
left: 50%;
}
#nav-icon.open span:nth-child(2) {
transform: rotate(45deg);
}
#nav-icon.open span:nth-child(3) {
transform: rotate(-45deg);
}
#nav-icon.open span:nth-child(4) {
top: 14px;
width: 0%;
left: 50%;
} .overlay {
height: 100%;
width: 0;
position: fixed;
z-index: 9999;
top: 0;
right: 0;
background:var(--dark-blue);
overflow-x: hidden;
transition: 0.5s;
}
.overlay-content {
position: relative;
top: 25%;
width: 100%;
margin-top: 30px;
}
.overlay-content ul {
margin: 0;
padding: 0;
text-align: center;
}
.overlay a {
padding: 8px;
text-decoration: none;
font-size: 34px;
color: var(--white);
font-weight: 300;
display: block;
transition: 0.3s;
}
.overlay a:hover, .overlay a:focus {
color: var(--blue);   
}
.open-menu {
width:100%;
}
.close-menu {
width:0px;
}
.mobile-menu {
display: none;
position: absolute;
top: 50%;
right: 40px;
transform: translateY(-50%);
} .banner-container {
position: relative;
max-width: 1600px;
padding: 0 60px;
margin:40px auto 80px auto;
opacity: 0;
bottom:-40px;
}
.banner-container img {
height: 50vh;
min-height: 600px;
width: 100%;
object-fit: cover;
border-radius: 20px;
}
.image-overlay {
position: absolute;
left:0;
top: 0;
height: 100%;
width:100%;
background: rgb(0 35 55 / 50%);
border-radius: 20px;
}
.banner-slider-element {
width: 100%;
margin-right: 80px;
}
.banner-content {
position: absolute;
left: 15%;
top: 55%;
transform: translateY(-50%);
width:80%;
max-width: 991px;
z-index: 1;
opacity: 0;
transition: 0.3s all ease-in-out;
transition-delay: 0.3s;
}
.banner-slider-element.is-selected .banner-content {
left:10%;    
opacity: 1;
}
.banner-content h1 {
color:var(--white);
font-size: 78px;
line-height: 94px;
max-width: 991px;
margin: 0;
}
.banner-content p {
color:var(--white);
font-size:24px;
line-height: 32px;
margin:36px 0;
max-width: 991px;
}
ol.flickity-page-dots {
position: absolute;
bottom: 40px;
left: 50%;
transform: translateX(-50%);
margin: 0;
padding: 0;
}
li.dot::marker {
content: '';
display: none !important;
}
li.dot {
display: inline-block;
background: var(--light-blue);
width: 20px;
height: 20px;
border-radius: 50%;
margin-right: 10px;
}
li.dot.is-selected {
background:var(--medium-blue);
}
.site-content.category-container {
padding: 40px 60px;
} .main-content {
padding-top: 80px;
}
.container {
position: relative;
}
.white-container {
background:var(--white);
position: relative;
}
.white-container h1, .white-container h2, .white-container h3, .white-container h4, .white-container h5, .white-container h6 {
color:var(--black);
}
.white-container p {
color:var(--black)
}
.light-container {
background:var(--light);
position: relative;
}
.light-container h2, .light-container h3, .light-container h4, .light-container h5, .light-container h6, .light-container p {
color:var(--black);
}
.dark-container {
background:var(--dark);
position: relative;
}
.dark-container h2, .dark-container h3, .dark-container h4, .dark-container h5, .dark-container h6, .dark-container p {
color:var(--white);
}
.site-content {
position: relative;
width: 100%;
max-width: 1600px;
padding:100px 60px;
margin: 0 auto;
z-index: 1;
}
.no-top {
padding-top: 0 !important;
}
.no-bottom {
padding-bottom: 0 !important;
}
.no-right {
padding-right: 0 !important;
max-width: calc(100% - 180px) !important;
margin-left: 180px;
}
.center {
text-align: center;
}
.border-top {
border-top:solid 1px rgba(0,0,0,0.1);
}
.flex-container {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.align-center {
align-items: center;
}
.align-start {
align-items: start;
}
.flex-start {
justify-content: start;
}
.flex-container img {
display: block;
width:100%;
}
.flex-20 {
position: relative;
width:calc(20% - 30px);
}
.flex-25 {
position: relative;
width:calc(25% - 20px);
}
.flex-30 {
position: relative;
width:calc(30% - 20px);
}
.flex-33 {
position: relative;
width:calc(33.33% - 20px);
}
.flex-40 {
position: relative;
width:calc(40% - 20px);
}
.flex-50 {
position: relative;
width:calc(50% - 40px);
}
.flex-60 {
position: relative;
width:calc(60% - 40px);
}
.flex-66 {
position: relative;
width:calc(66.66% - 60px)
}
.flex-75 {
position: relative;
width:calc(75% - 20px)
}
.flex-100 {
position: relative;
width:100%;
}
.large {
margin-bottom: 40px;
max-width: 991px;
}
.large h2, .large h1 {
font-size: 64px;
line-height: 78px;
margin-bottom: 40px;
margin-top:0;
}
.large h3 {
font-size:48px;
line-height: 56px;
}
.large h4 {
margin-top: -20px;
font-size: 34px;
margin-bottom: 10px;
}
.large p {
font-size: 22px;
line-height: 34px;
}
a.cta {
color: var(--white);
text-decoration: none;
font-weight: 500;
position: relative;
display: inline-block;
margin-right: 10px;
font-size: 16px;
border: solid 1px rgba(0,0,0,0.2);
padding: 14px 40px 14px 40px;
transition: 0.1s all ease-in-out;
border-radius: 40px;
background: var(--medium-blue);
}
a.cta:hover {
background:var(--dark-blue);
}
.category-cta {
display: flex !important;
color: var(--black);
text-decoration: none;
font-weight: 500;
position: relative;
display: inline-block;
margin-right: 10px;
font-size: 15px;
border: solid 1px rgba(0,0,0,0.2);
padding: 14px 40px 14px 40px;
transition: 0.1s all ease-in-out;
border-radius: 40px;
}
.category-cta img {
width:30px;
margin-right: 20px;
}
.category-cta:hover {
background:var(--light);
}
h2.product-listing-headline {
font-size: 24px;
margin-bottom: 40px;
} .slider-container {
position: relative;
}
.js-flickity {
overflow: hidden;
outline:none;
position: relative;
z-index: 1;
width:100%;
}
.flickity-viewport {
width: 100%;
}
.slider-element {
width: 400px;
margin-right: 40px;
position: relative;
transition: 0.2s all ease-in-out;
border-radius:20px;
}
.slider-image {
position: relative;
}
.slider-image img {
height: 250px;
width:100%;
object-fit: cover;
object-position: center center;
border-radius: 20px 20px 0 0;
box-shadow: 2px 4px 12px rgba(0,0,0,0.08);
}
.slider-image p.average-price {
position: absolute;
bottom: 0;
bottom: 20px;   
left: 20px;
background: var(--light-blue);
margin: 0;
color: var(--dark);
padding: 6px 12px;
font-size: 12px;
border-radius: 8px;
font-weight: bold;
}
.slider-text {
height: 350px;
position: relative;
background:var(--white);
padding:40px;
transition: 0.2s all ease-in-out;
border-radius: 0 0 20px 20px;
box-shadow: 0px 10px 12px rgba(0,0,0,0.08);
}
.slider-text h3 {
margin: 0;
font-size: 26px;
line-height: 32px;
min-height: 60px;
}
.slider-text h3 a {
color:var(--dark);
font-size: 26px;
text-decoration: none;
font-weight: 600;
}
.slider-text p {
margin-top:20px;
margin-bottom:20px;
font-size: 16px;
font-weight: 500;
}
.flickity-button {
background:var(--medium-blue);
border: none;
height: 50px;
width: 50px;
margin-top: 40px;
border-radius: 50px;
cursor:pointer;
position: relative;
transition: 0.2s all ease-in-out;
}
.flickity-prev-next-button.next {
margin-left: 10px;
}
.flickity-button:hover {
opacity: 0.8;
}
.flickity-button svg.flickity-button-icon {
width: 16px;
height: 16px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
}
.previous svg.flickity-button-icon {
background: url(https://vuokraninja.fi/wp-content/themes/vuokraninja/assets/arrow-right-white.svg) no-repeat;
transform: translate(-50%,-50%) rotate(180deg);
}
.next svg.flickity-button-icon {
background: url(https://vuokraninja.fi/wp-content/themes/vuokraninja/assets/arrow-right-white.svg) no-repeat;
}
svg.flickity-button-icon path {
display: none;
}
p.seller {
color: var(--grey);
font-size: 14px !important;
font-weight: 400 !important;
margin-top: 0;
}
.slider-element p.price {
position: absolute;
bottom:40px;
display: inline-block;
margin:0;
font-size: 18px;
letter-spacing: -1px;
} .product {
background: var(--white);
border-radius: 20px;
margin-bottom: 40px;
transition: 0.2s all ease-in-out;
}
.product:hover {    
box-shadow: 0px 10px 12px rgba(0,0,0,0.03);
}
.product:last-of-type {
margin-bottom: 0;
}
.product-image {
width: 300px;
}
.product-image img {
border-radius: 20px 0 0 20px;
width: 300px;
height: 100%;
object-fit: cover;
}
.product-content {
position: relative;
padding: 40px;
border-radius: 20px;
width: calc(100% - 300px);
}
.product-content h4 {
margin-top:0;
}
.product-content h4 a {
text-decoration: none;
color:var(--black);
}
.product-content p {
font-size: 16px;
font-weight: 500;
}
.product-content a.cta {
margin-top:40px;
}
p.price {
font-weight: 500;
font-size: 18px; }
.status {
display: block;
width: 20px;
height: 20px;
position: absolute;
right: 40px;
top: 40px;
border-radius: 20px;
}
.status.available {
background:var(--green);
} .page-template-alasivu #headercontainer {
border-bottom: solid 1px rgba(0,0,0,0.1);
}
.product-menu ul {
list-style: none;
padding: 0;
margin-top:0;
}
.product-menu ul li {
display: inline-block; 
}
.product-menu ul li a {
color: var(--black);
text-decoration: none;
font-weight: 500;
position: relative;
display: inline-block;
margin-right: 10px;
font-size: 15px;
border: solid 1px rgba(0,0,0,0.2);
padding: 10px 30px 10px 30px;
transition: 0.1s all ease-in-out;
border-radius: 40px;
}
.product-menu ul li a:hover {
background:var(--light);
}
.gallery-cell {
width: 100%;
margin-right: 80px;
}
.gallery-cell img {
border: solid 1px rgba(0,0,0,0.1);
border-radius: 20px;
border-radius: 20px;
max-height:600px;
object-fit:cover;
}
.content {
background: var(--light);
padding: 40px;
border-radius: 20px;
margin: 40px 0;
}
.small-text-headline {
margin-bottom: 0;
}
.small-text {
font-size: 14px;
}
#map {
position: relative;
}
.map iframe {
border-radius: 20px;
}
div#map:after {
content: '';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
height: 300px;
width: 300px;
border-radius: 50%;
background: rgb(5 125 199 / 30%);
}
.single-article {
border-top: solid 1px rgba(0,0,0,0.1);
margin-top: 60px;
padding-top: 20px;
}
.sticky h3 {
margin-top:0;
}
.sticky h3 span {
text-transform: lowercase;
}
.sticky h4 {
margin-bottom: 0;    
}
.home .sticky h4 {
margin-top:0;
}
.sticky img {
border-radius: 10px;
margin-bottom: 40px;
}
.sticky {
position: sticky;
top: 120px;
background:var(--light);
padding:40px;
border-radius: 20px;
}
.home .sticky {
background:var(--white);
}
.sticky ul {
padding-left: 0;
list-style: none;
}
.sticky ul li {
font-weight: 500;
}
.pricing {
border-top: solid 1px rgba(0,0,0,0.1);
margin-top: 40px;
}
.pricing span {
display: inline-block;
width: 120px;
}
img.hygglo {
margin:0;
border-radius: 0 !important;
}
.hygglo-container {
background: var(--white);
padding: 20px;
margin-top: 40px;
margin-bottom: 40px;
border-radius: 20px;
}
.hygglo-container p {
font-weight: 500;
} .sticky.review-slider {
position: relative;
top: unset;
}
.review-slider-element {
width: 100%;
}
.review-content {
width: 100%;
padding-bottom: 40px;
cursor: grab;
}
.review-slider ol.flickity-page-dots {
bottom: 0;
}
.quote {
font-style: italic;
}
.review-content h4 {
font-size: 20px;
}
.review-content h4 a {
color: var(--dark);
} .not-found-container {
background:var(--dark);
height:100vh;
width:100%;
position: relative;
}
.not-found-content {
position: absolute;
left:50%;
top:50%;
transform: translate(-50%,-50%);
max-width: 991px;
}
.not-found-container h1 {
font-size: 64px;
line-height: 78px;
color:var(--white);
} #footercontainer {
background:var(--dark);
width:100%;
}
.site-footer h5 {
max-width: 400px;
color:var(--light-blue);
}
.site-footer ul {
padding:0;
margin:0;
}
.site-footer li {
line-height: 32px;
list-style-type: none;
}
.site-footer li a {
color: var(--light-blue);
opacity: 0.7;
font-weight: 400;
text-decoration: none;
font-size: 16px;
}
.site-footer li a:hover {
opacity: 1;
}
.site-footer p {
color: var(--light-blue);
opacity: 0.7;
font-weight: 400;
text-decoration: none;
font-size: 16px;
max-width: 400px;
line-height: 32px;
}
.smallprint {
border-top: solid 1px rgba(255,255,255,0.1);
margin-top: 100px;
padding-top: 60px;
text-align: center;
}
.smallprint p {
max-width: unset;
} .contact {
width:100%;
}
.wpforms-one-half {
width: calc(50% - 10px) !important;
display: inline-block;
}
.wpforms-one-half:nth-of-type(even) {
margin-left: 20px !important;
}
.wpforms-field-large {
height: 65px !important;
border: none !important;
border-radius: 40px!important;
background: var(--white) !important;
color: var(--black) !important;
font-size: 16px !important;
padding-left: 30px !important;
font-family: 'Poppins', sans-serif !important;
}
.wpforms-field-medium {
height: 240px !important;
border: none !important;
border-radius: 30px !important;
background: var(--white) !important;
color: var(--black) !important;
font-size: 16px !important;
padding-left: 30px !important;
padding-top:30px !important;
font-family: 'Poppins', sans-serif !important;
}
.wpforms-submit {
color: var(--dark) !important;
text-decoration: none !important;    
position: relative !important;
display: inline-block !important;
font-size: 16px !important;
line-height: 25px !important;
padding-right: 38px !important;
border: solid 1px rgba(0,0,0,0.4) !important;
padding: 16px 70px 16px 40px !important;
transition: 0.1s all ease-in-out !important;
border-radius: 40px !important;
background:none !important;
box-shadow: none !important;
height: unset !important;
font-family: 'Poppins', sans-serif !important;
}
.wpforms-submit:hover {
background:var(--dark) !important;
color:var(--white) !important;
border: solid 1px var(--dark) !important;
}
.wpforms-submit:after {
content: '';
background: url(https://vuokraninja.fi/wp-content/themes/vuokraninja/assets/arrow-right.svg) no-repeat;
background-size: contain;
width: 14px;
height: 14px;
position: absolute;
right: 40px;
top: 50%;
transform: translateY(-50%);
transition: 0.1s all ease-in-out;
margin-top: 2px;
}
.wpforms-submit:hover:after {
background: url(https://vuokraninja.fi/wp-content/themes/vuokraninja/assets/arrow-right-white.svg) no-repeat;
background-size: contain;
width: 14px;
height: 14px;
right: 30px;
} @media(max-width:1920px){
}
@media(max-width:1650px){
}
@media(max-width: 1200px){
.banner-content h1 {     
font-size: 64px;
line-height: 74px;        
}
.banner-content p {     
font-size: 20px;
line-height: 28px;        
}
.flex-66 {
width:100%;
}
.flex-33 {
width:100%;
}
.flex-33.sidebar {
margin-top:30px;
}
.large h2, .large h1 {
font-size: 48px;
line-height: 56px;
}
.large p {
font-size: 20px;
line-height: 28px;
}
#footercontainer .flex-50, #footercontainer .flex-25 {     
width: 100%;
}
}
@media(max-width:991px){
.banner-container {
padding:0 40px;
}
.site-content {     
padding: 80px 40px;        
}
.product-image {
width: 200px;
}
.product-image img {     
width: 200px;
}
.product-content {             
width: calc(100% - 200px);
}
}
@media(max-width:768px){
.banner-container {
padding:0 30px;
}
.banner-content h1 {     
font-size: 48px;
line-height: 56px;        
}
.site-content {     
padding: 60px 30px;        
}
.large h2, .large h1 {
font-size: 36px;
line-height: 44px;
}
.large h4 {
font-size: 24px;
}
.large p {
font-size: 18px;
line-height: 28px;
}
.product {     
margin-bottom: 20px;
}
.content {
padding:30px;
}
.product-content h4 {    
margin-bottom: 10px;
}
.product-content {
padding: 30px;
}
.status {
right:30px;
top:30px;
}
.sticky {     
padding: 30px;        
}
.slider-element {
width: 350px;
margin-right: 20px;
}
.slider-text {
min-height: 300px;     
padding: 30px;
}
}
@media(max-width:650px){
.product-image {
width: 100%;
}
.product-image img {     
width: 100%;
border-radius: 20px 20px 0 0;
}
.product-content {             
width: 100%;
}
}
@media(max-width: 520px){
.banner-content h1 {     
font-size: 36px;
line-height: 44px;        
}
.banner-content p {     
font-size: 16px;
line-height: 24px;        
}
.large h2, .large h1 {
font-size: 32px;
line-height: 40px;
}
h3 {
font-size: 26px;
}
h4 {
font-size: 22px;
}
.hygglo-container .flex-50 {
width:100%;        
}
.hygglo-container .flex-50:first-of-type {
margin-bottom: 20px;
}
.product-menu ul li a {
padding:10px 20px;
}
}