/*
Theme Name: groteski
Theme URI: http://underscores.me/
Author: Sami Tarkiainen | Mainos- ja digitoimisto Groteski
Author URI: http://groteski.fi
Description: Description
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: groteski
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

groteski is based on Underscores http://underscores.me/, (C) 2012-2016 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal http://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Links
	## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
	## Posts and pages
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries
--------------------------------------------------------------*/

@import url("https://use.typekit.net/sld8jmk.css");

/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
html {
	font-family: sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust:     100%;
}

body {
	margin: 0;
}

article,
aside,
details,
figcaption,a
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
	display: block;
}

audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

[hidden],
template {
	display: none;
}

a {
	background-color: transparent;
}

a:active,
a:hover {
	outline: 0;
}

abbr[title] {
	border-bottom: 1px dotted;
}

b,
strong {
	font-weight: bold;
}

dfn {
	font-style: italic;
}

h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

mark {
	background: #ff0;
	color: #000;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

img {
	border: 0;
}

svg:not(:root) {
	overflow: hidden;
}

figure {
	margin: 1em 40px;
}

hr {
	box-sizing: content-box;
	height: 0;
}

pre {
	overflow: auto;
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}

button {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}

button[disabled],
html input[disabled] {
	cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input {
	line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}

legend {
	border: 0;
	padding: 0;
}

textarea {
	overflow: auto;
}

optgroup {
	font-weight: bold;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

td,
th {
	padding: 0;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;
	font-family: proxima-nova, sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", Courier, monospace;
	font-size: 1rem;
	font-size: 0.9375rem;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
	font-size: 0.9375rem;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
html {
	box-sizing: border-box;
}

*,
*:before,
*:after { /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
	box-sizing: inherit;
}

body {
	background: #fff; /* Fallback for when there is no custom background color defined. */
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
}

blockquote,
q {
	quotes: "" "";
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: bold;
}

dd {
	margin: 0 1.5em 1.5em;
}

img {
	height: auto; /* Make sure images are scaled correctly. */
	max-width: 100%; /* Adhere to container width. */
}

figure {
	margin: 1em 0; /* Extra wide images within figure tags don't overflow the content area. */
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, .8);
	font-size: 0.75rem;
	line-height: 1;
	padding: .6em 1em .4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
button:active,
input[type="button"]:active,
input[type="reset"]:active,
input[type="submit"]:active {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

select {
	border: 1px solid #ccc;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a {
	color: royalblue;
}

a:visited {
	color: purple;
}

a:hover,
a:focus,
a:active {
	color: midnightblue;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/
.main-navigation {
	clear: both;
	display: block;
	float: left;
	width: 100%;
	height: 100%;
	transition: all 0.25s;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation li {
	float: left;
	position: relative;
	margin: 0 8px;
}

.main-navigation a {
	display: block;
	text-decoration: none;
	color: #ED1C24;
	margin: 6px 14px;
	text-transform: uppercase;
	font-size: 1.125rem;
	font-weight: 600;
	transition: all 0.25s;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
	background: #fff;
	padding: 0 12px;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul a {
	width: 200px;
	padding: 6px 0;
}

.main-navigation ul ul li {

}

.main-navigation li:hover > a,
.main-navigation li.focus > a {
}

.main-navigation ul ul :hover > a,
.main-navigation ul ul .focus > a {
}

.main-navigation ul ul a:hover,
.main-navigation ul ul a.focus {
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	left: 100%;
}

.main-navigation .current_page_item > a,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_ancestor > a,
.main-navigation .current-menu-ancestor > a {
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {
	.menu-toggle {
		display: none;
	}
	.main-navigation ul {
		display: block;
	}
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
	margin: 0 0 1.5em;
	overflow: hidden;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	float: left;
	width: 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	float: right;
	text-align: right;
	width: 50%;
}

.current-menu-item, .menu-item:hover {
	background-color: #ED1C24;
	border-radius: 20px;
}
.current-menu-item a, .menu-item:hover a {
	color: #fff;
}
/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
	outline: 0;
}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}

.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
	content: "";
	display: table;
	table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
	clear: both;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {
	margin: 0 0 1.5em;
}

/* Make sure select elements fit in widgets. */
.widget select {
	max-width: 100%;
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
.sticky {
	display: block;
}

.hentry {
	margin: 0 0 1.5em;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/*--------------------------------------------------------------
# Infinite scroll
--------------------------------------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation, /* Older / Newer Posts Navigation (always hidden) */
.infinite-scroll.neverending .site-footer { /* Theme Footer (when set to scrolling) */
	display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {
	margin-bottom: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	vertical-align: top;
	width: 100%;
}

.gallery-columns-2 .gallery-item {
	max-width: 50%;
}

.gallery-columns-3 .gallery-item {
	max-width: 33.33333%;
}

.gallery-columns-4 .gallery-item {
	max-width: 25%;
}

.gallery-columns-5 .gallery-item {
	max-width: 20%;
}

.gallery-columns-6 .gallery-item {
	max-width: 16.66667%;
}

.gallery-columns-7 .gallery-item {
	max-width: 14.28571%;
}

.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	max-width: 11.11111%;
}

.gallery-caption {
	display: block;
}
/*--------------------------------------------------------------
# Site layout content
--------------------------------------------------------------*/
.site-content {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}
body:not(.home) .page-header-image {
	margin-top: 120px;
}
.home.site-content {
	margin-top: 120px;
}
/*--------------------------------------------------------------
# Site layout header
--------------------------------------------------------------*/

.admin-bar .site-header {
	top: 32px;
}
.site-header {
	width: 100%;
	background: #fff;
	height: 80px;
	top: 0px;
	position: fixed;
	z-index: 99999;
    -webkit-transition: background 0.45s; /* Safari */
    transition: background 0.45s;
}
.topBar {
	position: absolute;
	top: 0;
	z-index: 999;
	width: 100%;
	padding-top: 18px;
    height: 50px;
}
.site-header .site-header-wrapper, .topBar .site-header-wrapper {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
	z-index: 999999;
}
.site-header-wrapper {
	height: 100%;
}
.site-header .site-header-wrapper .menu {
	margin-top: 25px;
}
.site-header .logo {
	height: 150%;
	display: block;
    margin: 0 auto;
}
.site-header.scrolled  .logo:not(#site-logo-scrolled) {
	display: none;
}
.site-header:not(.scrolled) #site-logo-scrolled {
	display: none;
}
.site-header.scrolled #site-logo-scrolled {
	display: block;
}
.site-header .logo a {
	height: 100%;
}
.site-header .logo img {
    height: 100%;
    width: auto;
    padding: 10px;
}
.site-header.scrolled {
	background: #fff;
	top: 0;
}
.topBar.scrolled {
	display: none;
}
.site-header.scrolled {
	height: 80px;
}
.site-header.scrolled .site-header-wrapper .menu {
	margin-top: 28px;
}
.site-header.scrolled .main-navigation .nav-menu > li > a:before {
	background-color: #404040;
}
.site-branding {
	width: 30%;
	height: 100%;
	display: inline-block;
}
.headerWrapper {
	width: 69%;
	height: 100%;
	display: inline-block;
	vertical-align: top;
}
body .page-header-image, body .page-header-image img {
	width: 100%;
}
body .page-header-image {
	height: 450px;
    overflow: hidden;
    position: relative;
    margin-top: 120px;
}
body .page-header-image:after {
	content: "";
	background: rgba(0,0,0,0.25);
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}
body .page-header-image .title-wrapper {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    transform: translate(-50%, -50%);
    z-index: 99;
    text-align: center;
	margin: 0;
}
body .page-header-image .title-wrapper * {
	margin: 0;
}
body .page-header-image .title-wrapper h2 {
	color: #dcdcdc;
}
body .page-header-image .page-title, .title-wrapper .blog-title {
    color: #fff;
    padding-bottom: 42px;
}
body .menu-ylavalikko-container .menu, body .menu-topbar-container .menu, body .menu-topbar-es-container .menu {
	list-style-type: none;
	text-align: right;
}
body .menu-ylavalikko-container .menu li, body .menu-topbar-container .menu li, body .menu-topbar-es-container .menu li {
	display: inline;
}
body .menu-ylavalikko-container .menu li a, body .menu-topbar-container .menu li a, body .menu-topbar-es-container .menu li a {
	color: #fff;
	border: 1px solid #fff;
	padding: 6px 12px;
	text-decoration: none;
    -webkit-transition: all 0.25s; /* Safari */
    transition: all 0.25s;
}
body .menu-ylavalikko-container .menu li a:hover {
	background-color: #fff;
	color: #404040;
}

.site-header:after {
	content: "";
	width: 100%; 
	height: 100px; 
	/*border-left: 1500px solid transparent;
	border-right: 1000px solid transparent;
	border-top: 100px solid #f00;*/
	transform: translateX(50%);
	right: 50%;
	position: absolute;
	background: #fff;
	clip-path: polygon(100% 0, 0 0%, 70% 100%);
}
/*--------------------------------------------------------------
# Footer layout content 
--------------------------------------------------------------*/
footer .site-info {
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
	padding-top: 16px;
} 
footer.site-footer .footer-widgets .footer-widget {
	width: 33%;
	display: inline-block;
	vertical-align: top;
	padding-left: 2%;
	color: #fff;
	text-align: center;
	position: relative;
	z-index: 999;
}
footer.site-footer .footer-widgets .footer-widget ul {
	margin-left: 0;
	padding-left: 0;
	list-style-type: none;
}
footer.site-footer {
    border-top: 16px solid #fff;
	background-color: #101010;
}
footer.site-footer:before {
    content: "";
    width: 100%;
    height: 100px;
    transform: translateX(50%);
    right: 50%;
    position: absolute;
    background: rgba(178,178,178,0.19);
    clip-path: polygon(100% 0, 0 0%, 70% 100%);
}
footer.site-footer .footer-widgets .footer-widget a {
    color: #fff;
    text-decoration: none;
    padding-bottom: 2px;
    margin-bottom: 4px;
    display: inline-block;
    line-height: 20px;
    position: relative;
}

footer.site-footer .footer-widgets .footer-widget a.iconLink:before {
	display: none !important;
}
footer.site-footer .footer-widgets .footer-widget img {
	height: 64px;
	width: auto;
}
/*--------------------------------------------------------------
# Custom layout content 
--------------------------------------------------------------*/

.home .entry-header {
	display: none;
}
body .hentry {
	margin-bottom: 0;
}
body .hentry, body .entry-content {
	margin-top: 60px;
}
.biggerFont p, .bigFont p {
	font-size: 2rem;
}
body .shadow .wpb_column {
	box-shadow: -10px 10px 16px #cccccc;
}
body .visible.vc_row {
	overflow: visible;
}
body .white-text * {
	color: #fff;
}
body h1 {
	font-size: 2.5rem;
    line-height: 110%;
    margin-bottom: 10px;
    text-transform: uppercase;
}
body h2 {
	font-size: 2rem;
	line-height: 120%;
	margin-bottom: 0.5em;
	color: #000;
}
body h3 {
	font-size: 1.75rem;
	text-transform: uppercase;
	color: #000;
}
.regular-row {
	margin-top: 2em;
	margin-bottom: 2em;
}
.footer-bottom {
	text-align: center;
    margin-top: 20px;
    margin-bottom: 16px;
    color: #f0f0f0;
}
.footer-bottom a {
	color: #E62625;
	text-decoration: none;
	-webkit-transition: color 0.2s; /* Safari prior 6.1 */
	transition: color 0.2s;
}
.footer-bottom a:hover {
	color: #fff;
}
.single-post #main, .archive #main, .blog #primary {
    width: 70%;
    float: left;
    margin-right: 5%;
}
.archive #main img, .blog #primary img {
	width: 100%;
	margin-top: 20px;
}
.archive #main .entry-footer , .blog #primary .entry-footer {
	display: none;
}
.single-post #secondary, .archive #secondary, .blog #secondary {
    width: 25%;
    float: left;
}
.blog-banner .site-main {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}
.single-post #main h1.entry-title, .archive #main h2.entry-title, .blog #primary h2.entry-title {
	font-size: 2rem;
	line-height: 26px;
	font-weight: 300;
	margin-top: 0;
	margin-bottom: 16px;
}
.archive #main h2.entry-title a, .blog #primary h2.entry-title a {
	text-decoration: none;
	color: #7D7D7D;
}
.archive #main article, .blog #primary article {
    margin-bottom: 20px;
    background-color: #fff;
	padding: 30px;
}
body .to-top {
	top: -50px;
	position: relative;
}
.overflow-visible {
	overflow: visible !important;
}
.wpcf7-form {
	 width:80%;
	 margin: 0 auto;
}
.wpcf7 input:not(.wpcf7-submit), .wpcf7 textarea, .wpcf7 select {
	width: 100%;
	border-radius: 0;
	border: none;
	background-color: transparent;
	padding: 8px 16px;
	margin-bottom: 10px;
	border: 2px solid #fff;
	color: #fff;
}
.wpcf7 input[type="radio"] {
	width: auto;
	margin: 0 6px;
}
.wpcf7 input[type="radio"] + span {
	display: inline-block;
}
.wpcf7 input::-webkit-input-placeholder, .wpcf7 input:-ms-input-placeholder, .wpcf7 input::placeholder {
	color: #fff;
}
.wpcf7 input.wpcf7-submit {
	background-color: #ED1C24;
    border: 6px solid #fff;
    padding: 10px 16px;
    border-radius: 26px;
    text-decoration: none;
    color: #fff;
    text-transform: uppercase;
    font-weight: 600;
    box-shadow: 0px 0px 4px #a9a9a9;
    font-size: 1rem;
}
span.wpcf7-list-item {
	margin-left: 0;
}
.wpb_text_column ul {
	margin-left: 0;
	padding-left: 20px;
}
.wpb_text_column blockquote {
	border-left: 4px solid #444;
	padding-left: 15px;
}
.wpb_text_column a {
	color: #000;
	text-decoration: none;
	border-bottom: 1px solid #000;
}
.center {
	text-align: center;
}
.ingressi {
	font-size: 1.5rem;
	line-height: 30px;
}
.red-bg {
	background-color: #ED1C24;
	color: #fff;
}
.red-bg h1, .red-bg h2, .red-bg h3 {
	color: #fff;
}
.red-bg a {
	color: #fff;
	border-bottom: 1px solid #fff;
}
.grey-bg {
	background-color: #F5F5F5; 
}
.grey-right:after {
	content: "";
	background-color: #F5F5F5; 
	width: 4000px;
    height: 100%;
    position: absolute;
    left: 100%;
}
.line-top, .top-border {
	border-top: 16px solid #fff;
}
.bottom-border {
	border-bottom: 16px solid #fff;
}
.bottom-border-red {
	border-bottom: 16px solid #ED1C24;
}
.arrow-left:before {
	content: "";
    width: 50px;
    height: 100%;
    transform: translateX(-99%);
    left: 0;
    position: absolute;
    background: #F5F5F5;
    clip-path: polygon(100% 0, 0 50%, 100% 100%);
    z-index: 9;
}
.arrow-right:after {
	content: "";
    width: 50px;
    height: 100%;
    transform: translateX(99%);
    right: 0;
    position: absolute;
    background: #F5F5F5;
    clip-path: polygon(0% 0, 100% 50%, 0% 100%);
    z-index: 9;
}
.shadow {
	box-shadow: 0px 0px 4px #a9a9a9;
	z-index: 9;
}
.price {
	background-color: rgba(178,178,178,0.14) !important;
	color: #ED1C24 !important;
	font-size: 1.5rem !important;
	font-weight: 600 !important;
	padding: 8px 16px !important;
}
.tp-caption {
	font-family: proxima-nova, sans-serif !important;

}
h2.tp-caption {
	font-weight: 600 !important;
}
.rev-btn {
	background-color: #ED1C24 !important;
    border: 6px solid #fff !important;
    padding: 10px 16px !important;
    border-radius: 26px !important;
    text-decoration: none !important;
    color: #fff !important;
    text-transform: uppercase !important;
    font-weight: 600 !important;
    box-shadow: 0px 0px 4px #a9a9a9 !important;
}
.wpb_text_column ul {
	list-style: none;
	margin-left: 38%;
}
.wpb_text_column ul li {
	font-weight: 600;
}
.wpb_text_column ul li::before {
	content: "\2022";
	color: #ED1C24;
    font-size: 1.5rem;
    margin-right: 4px;
    line-height: 1;
}
.arrow-right a, .arrow-left a {
	background-color: #ED1C24;
	border: 6px solid #fff;
	padding: 10px 16px;
	border-radius: 26px;
	text-decoration: none;
	color: #fff;
	text-transform: uppercase;;
	font-weight: 600;
	box-shadow: 0px 0px 4px #a9a9a9;
	margin-top: 32px;
}
.triangle-up:before {
    content: "" !important;
    width: 100%;
    height: 100px;
    transform: translate(50%, -100%);
    right: 50%;
    position: absolute;
    background: #fff;
    clip-path: polygon(100% 100%, 0% 100%, 30% 0%);
    z-index: 99999999;
}
.tparrows {
	background: #fff !important;
	border-radius: 50% !important;
}
.tparrows.tp-leftarrow:before {
	color: #ED1C24 !important;
}
.tparrows.tp-rightarrow:before {
	color: #ED1C24 !important;
}
@media screen and (min-width: 1280px) {
    body .margin {
        margin-left: 150px;
        margin-right: 150px;
    }
}

@media screen and (max-width: 600px) {
	body h1 {
		font-size: 2rem;
	}	
	body h2 {
		font-size: 1.45em;
	}	
	body .page-header-image img {
		height: 150px;
	    width: auto;
	    position: absolute;
	    top: 0;
	    left: 0;
	    max-width: none;
	}
	body .page-header-image {
		height: 275px;
		text-align: center;
	}
	footer.site-footer .footer-widgets .footer-widget {
		width: 100%;
		float: none;
		padding-left: 20%;
	}
	footer.site-footer .footer-widgets .footer-widget#media_image-2 {
		text-align: center;
	}
	.site-header .site-branding {
		width: 75%;
	}
	footer.site-footer .footer-widgets .footer-widget {
		width: 100%;
		float: none;
		padding-left: 0%;
	}
	footer.site-footer .footer-widgets .footer-widget#media_image-2 {
		text-align: center;
	}
	body .site-header .logo {
		height: 100%;
	}
	body #primary {
		margin-top: 45px;
	}
	body .current-menu-item, body .menu-item:hover {
		background-color: transparent;
	}
	body .vc_col-has-fill {
		height: 300px;
	}
	body .vc_video-bg.vc_hidden-xs {
		display: block !important;
	}
	body .site-header:after, body footer.site-footer:before {
		height: 50px;
		margin-top: -1px;
	}
	body .triangle-up {
		position: relative;
	}
	body .triangle-up:before {
	    top: 1px;
	    height: 50px;
	}
	body .hentry, body .entry-content {
		margin-top: 45px;
	}
	.wpb_text_column ul {
		margin-left: 25%;
	}
	.site-header .site-branding img {
		padding: 15px;
	}
}

@media screen and (min-width: 601px) and (max-width: 1000px) {
	body h1 {
		font-size: 2.6rem;
	}
	body h2 {
		font-size: 2rem;
	}
	body h3 {
		font-size: 1.125rem;
	}
	body .page-header-image img {
		height: 200px;
	    width: auto;
	    position: absolute;
	    top: 0;
	    left: 0;
	    max-width: none;
	}
	body .current-menu-item, body .menu-item:hover {
		background-color: transparent;
	}
	.site-header .logo {
		height: 100%;
	}
	body .hentry, body .entry-content {
		margin-top: 45px;
	}
	.site-header:after, footer.site-footer:before {
		height: 75px;
	}
	body .triangle-up {
		position: relative;
	}
	body .triangle-up:before {
	    top: 1px;
	    height: 75px;
	}
}
@media screen and (min-width: 1024px) {
	.navbar {
    	display: none;
    }
}
@media screen and (max-width: 1023px) {
	body .headerWrapper {
		display: none !important;
	}
	body .topBar {
		display: none !important;
	}
	body .site-header {
		top: 0;
	}
	.site-header .site-branding img {
		margin-left: 15px;
	}
	body .vc_row {
		margin-left: 0;
		margin-right: 0;
	}
	body .site-branding {
		width: 50%;
	}
	.triangle-up:before {
		z-index: 3;
	}
}
@media screen and (max-width: 800px) {
	body .headerWrapper {
		display: none !important;
	}
	body .topBar {
		display: none !important;
	}
	body .site-header {
		top: 0;
		height: 80px;
	}
	body .vc_row {
		margin-left: 0;
		margin-right: 0;
	}
	.site-header .site-branding img {
		margin-left: 15px;
	}
	body:not(.home) .page-header-image {
		margin-top: 80px;
	}
}

body ul.close-menu-wrapper {
	position: absolute;
	right: 24px;
	top: 10px;
	display: inline-block;
    width: auto;
}
.navbar {
	width: 60px;
	height: 80px;
	float: right;
}
.overlay {
  position: fixed;
  background: rgba(0,0,0,0.9);
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity .35s, visibility .35s, height .35s;
  overflow: hidden;
}
.overlay.open {
  opacity: 1;
  visibility: visible;
  height: 100%;
}
.overlay .nav-title {
  font-size: 1.375rem;
  color: #fff;
  font-weight: bold;
  text-transform: uppercase;
  text-align: center;
  position: absolute;
  left: 50%;
  transform: translate(-50%);
  top: 8%;
}
.overlay nav {
  position: relative;
  height: 70%;
  top: 50%;
  transform: translateY(-50%);
  font-size: 3rem;
  font-weight: 400;
  text-transform: uppercase;
  text-align: center;
}
.overlay ul {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  display: block;
  position: relative;
  height: 100%;
  width: 100%;
}
.overlay ul li {
  display: block;
  position: relative;
  opacity: 0;
  margin-bottom: 20px;
  width: 100%;
}
.overlay ul li.menu-item-has-children::after {
	font-family: FontAwesome;
	content: "\f078";
	display: block;
	position: absolute;
	right: 24px;
	top: 0;
	color: #fff;
	font-weight: 900;
}
.overlay ul li.open.menu-item-has-children::after {
	transform: rotate(180deg);
}
.overlay ul li.menu-item-has-children ul li a {
	font-size: 1.5rem;
	line-height: 30px;
}
.overlay ul li.menu-item-has-children ul li {
	margin-bottom: 0;
	max-width: 360px;
	margin: 0 auto;
}
.overlay ul li a {
  display: inline-block;
  position: relative;
  color: #FFF;
  text-decoration: none;
  overflow: hidden;
  transition: color .25s;
}
/*.overlay ul li a:after {
  content: '';
  position: absolute;
  top: 50%;
  left: 43.5%;
  width: 0%;
  transform: translateX(-50%);
  height: 3px;
  background: #FFF;
  transition: .35s;
}*/
 
.overlay ul li a:hover,
.overlay ul li a:focus,
.overlay ul li a:active {
  color: #ED1C24;
}
.overlay ul li a:hover:after,
.overlay ul li a:focus:after,
.overlay ul li a:active:after {
  width: 100%;
  background: #000;
}
.overlay.open li {
  animation: fadeInRight .5s ease forwards;
  animation-delay: .35s;
}
.overlay.open li:nth-of-type(2) {
  animation-delay: .4s;
}
.overlay.open li:nth-of-type(3) {
  animation-delay: .45s;
}
.overlay.open li:nth-of-type(4) {
  animation-delay: .50s;
}
.overlay.open li:nth-of-type(5) {
  animation-delay: .55s;
}
.overlay.open li:nth-of-type(6) {
  animation-delay: .60s;
}
.overlay.open li:nth-of-type(7) {
  animation-delay: .65s;
}
.overlay.open li:nth-of-type(8) {
  animation-delay: .70s;
}
.overlay.open li:nth-of-type(9) {
  animation-delay: .75s;
}
.overlay.open li:nth-of-type(10) {
  animation-delay: .80s;
}
 
@keyframes fadeInRight {
  0% {
    opacity: 0;
    left: 20%;
  }
  100% {
    opacity: 1;
    left: 0;
  }
}
button:focus {
  outline:0;
}
 
.open-menu,
.close-menu,
.button:not(.checkout-button) {
  cursor: pointer;
  transition: transform 0.30s;
  height: 35px !important;
  margin-top: 22px;
}
.open-menu {
	filter: brightness(0%);
}
.open-menu:hover,
.close-menu:hover,
.button:hover {
  transform: scale(1.1);
}
Last thing we need to do regarding CSS is to make it responsive.
 
@media (max-width: 670px) {
  .overlay nav {
    font-size: 1.875rem;
  }
}
@media (max-width: 550px) {
  .overlay nav {
    font-size: 1.25rem;
  }
}
/*--------------------------------------------------------------
# Custom navigation ends
--------------------------------------------------------------*/