.wrap {
	width: 100%;
	position: relative;
	box-sizing: border-box;	
	padding: 150px 300px;
}
.wrap.no-top {padding-top: 0}
.wrap.no-bottom {padding-bottom: 0}

.bc-red{background-color: #FF1502}
.bc-black {background-color: #191919}
.bc-silver {background-color: #F2F2F2}

.fc-red, .fc-red a, a.fc-red {color: #FF1502}

.fc-white {color: #C5C6C6}
.fc-white h2, .fc-white h3, .fc-white a {color: white}

.hover-opacity a, a.hover-opacity {transition: opacity 0.25s}
.hover-opacity a:hover, a.hover-opacity:hover {opacity: 0.6}

.red-to-black a {
	color: #FF1502;
	transition: color 0.25s;
}
.red-to-black a:hover {color: #191919}

.white-to-red a {
	color: white;
	transition: color 0.25s;
}
.white-to-red a:hover {color: #FF1502}

strong {font-weight: 700}

h1 {
	font-family: "Geologica", sans-serif;
	color: white;
	font-size: 140px;
	line-height: 160px;
	font-weight: 100;
	position: relative;
}

h2 {
	font-family: "Geologica", sans-serif;
	color: #191919;
	font-size: 64px;
	line-height: 78px;
	font-weight: 600;
	margin-bottom: 75px;
}

h3 {
	font-family: "Maven Pro", sans-serif;
	color: #191919;
	font-size: 30px;
	line-height: 40px;
	font-weight: 700;
	margin-bottom: 30px;
}

h4 {
	font-family: "Geologica", sans-serif;
	font-size: 22px;
	line-height: 25px;
	font-weight: 600;
	color: #FF1502;
	position: relative;
	padding-left: 75px;
}
h4::before {
	content: "";
	display: block;
	width: 50px;
	height: 2px;
	background: #FF1502;
	position: absolute;
	top: 12px;
	left: 0;
}

.link-block {
	position: relative;
	font-family: "Geologica", sans-serif;
	font-size: 21px;
	line-height: 21px;
	font-weight: 600;
	display: table;
	border: 1px solid #C5C6C6;
	margin-top: 35px;
	border-radius: 30px;
	height: 60px;
	box-sizing: border-box;
	padding: 0 45px 0 35px;
}

.link-block > span {
	display: table;
	transition: all 0.25s;
}

.link-block > span:first-of-type {
	position: relative;
	top: 18px;
}
.link-block:hover > span:first-of-type {
	top: 5px;
	opacity: 0;
}

.link-block > span:last-of-type {
	position: absolute;
	opacity: 0;
	top: 30px;	
}
.link-block:hover > span:last-of-type {
	opacity: 1;
	top: 18px;
}

.link-block::after {
	content: "";
	display: table;
	width: 60px;
	height: 60px;
	background-color: #FF1502;
	border-radius: 50%;
	background-image: url(../img/link-block-arrow.png);
	background-position: center;
	background-size: cover;
	position: absolute;
	top: 0;
	right: -40px;
	transition: all 0.25s;
}
.link-block:hover::after {
	background-color: #191919;
	rotate: 45deg;
}

.link-block.link-block-red, .link-block.link-block-black {
	border: 1px solid white;
	color: white;
}

.link-block.link-block-red::after {
	background-color: white;
	background-image: url(../img/link-block-arrow-red.png);
}

.link-block.link-block-black::after {background-color: #FF1502 !important}

.link-block.link-block-pdf::after {
	background-image: url(../img/link-block-arrow-pdf.png);
}

.link-cont {
	display: table;
	position: relative;
	padding-left: 60px;
	box-sizing: border-box;
	margin-top: 25px;
}

.link-cont > div {
	display: table;
	background: white;
	border-radius: 47px;
	padding: 15px 40px 15px 50px;
}

.link-cont > figure {
	display: block;
	width: 94px;
	height: 94px;
	position: absolute;
	overflow: hidden;
	border-radius: 50%;
	left: 0;
	top: 50%;
    transform: translateY(-50%);
}

.link-cont > figure img {
	display: block;
	width: 100%;
}

#menu {
	position: absolute;
	z-index: 10;
	top: 0;
	left: 0;
	padding-top: 50px;
	padding-bottom: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-weight: 600;
}

#menu-under {
	width: 100%;
	height: 175px;
}

#home-link {
	display: block;
	width: 400px;
}

#home-link img {
	display: block;
	width: 100%;
}
#home-link img:last-of-type {display: none}

#menu-rwd {display: none}

#menu nav {
	display: flex;
	align-items: center;
}

#menu .tel-link {
	position: relative;
	padding-left: 45px;
}

#menu .tel-link img {
	display: block;
	position: absolute;
	width: 30px;
	left: 0;
	top: -2px;
}

#menu ul {
	list-style: none;
	display: flex;
	margin-left: 35px;
}

#menu ul li {margin-left: 35px}

#menu ul li a {position: relative}

#menu ul li a.active::after {
	content: "";
	display: block;
	position: absolute;
	bottom: -7px;
	left: -5px;
	width: calc(100% + 10px);
	height: 3px;
	background: #FF1502;
}

#hamburger {display: none}

#nav-socilas {
	position: fixed;
	z-index: 90;
	top: 250px;
	right: 75px;
}

#nav-socilas a {
	display: block;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	overflow: hidden;
	background: #FF1502;
	transition: background 0.25s;
	margin-bottom: 15px;
}
#nav-socilas a:hover {background: #191919}

#nav-socilas a img {
	display: block;
	width: 100%;
}

#footer-cta > div {
	position: relative;
	width: 100%;
	box-sizing: border-box;
	padding-right: 300px;
}

#footer-cta a {
	display: block;
	width: 200px;
	height: 200px;
	border-radius: 50%;
	position: absolute;
	right: 0;
	top: 50%;
    transform: translateY(-50%);
	background-image: url(../img/footer-cta-figure.png);
	background-size: cover;
	background-position: center;
	transition: background-color 0.5s;
}

#footer-cta a:hover {background-color: #191919}

#footer {
	padding-bottom: 75px;
	background-image: url(../img/footer-bg.jpg);
	background-size: cover;
	background-position: center;
}

#footer > img {
	display: block;
	width: 400px;
	position: relative;
	margin: 0 auto 100px;
}

#copyrights {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-size: 18px;
	line-height: 20px;
	color: #C5C6C6;
}

#copyrights a {color: #C5C6C6}

#scroll-top {
	position: fixed;
	z-index: 99;
	bottom: 75px;
	right: 75px;
	width: 75px;
	height: 75px;
	border-radius: 50%;
	background-color: #555555;
	background-image: url('../img/scroll-top.png');
	background-size: 100%;
	opacity: 0.6;
	transition: opacity 0.25s;
	display: none;
}

#scroll-top:hover {opacity: 1}



/*GRID: 1920px */
@media all and (max-width: 1920px) {

.wrap {padding: 100px 250px}

h1 {
    font-size: 100px;
    line-height: 120px;
}

h2 {
	font-size: 56px;
	line-height: 64px;
	margin-bottom: 50px;
}

h3 {
	font-size: 26px;
	line-height: 32px;
	font-weight: 700;
	margin-bottom: 25px;
}

h4 {
	font-size: 18px;
	line-height: 20px;
	padding-left: 60px;
}
h4::before {
	width: 40px;
	height: 2px;
	top: 10px;
	left: 0;
}	

.link-block {
	font-size: 18px;
	line-height: 18px;
	margin-top: 25px;
	border-radius: 25px;
	height: 50px;
	padding: 0 35px 0 25px;
}

.link-block > span:first-of-type {top: 15px}
.link-block:hover > span:first-of-type {top: 5px}

.link-block > span:last-of-type {top: 25px}
.link-block:hover > span:last-of-type {top: 15px}

.link-block::after {
	width: 50px;
	height: 50px;
	right: -35px;
}

.link-cont {
	padding-left: 50px;
	margin-top: 25px;
}

.link-cont > div {
	border-radius: 35px;
	padding: 10px 35px 10px 45px;
}

.link-cont > figure {
	width: 76px;
	height: 76px;
}

#menu {padding-top: 50px}

#menu-under {height: 155px}

#home-link {width: 300px}

#menu .tel-link {padding-left: 35px}

#menu .tel-link img {width: 25px}

#menu ul {margin-left: 25px}

#menu ul li {margin-left: 25px}

#menu ul li a.active::after {
	bottom: -5px;
	height: 2px;
}

#nav-socilas {
	top: 200px;
	right: 50px;
}

#nav-socilas a {
	width: 36px;
	height: 36px;
	margin-bottom: 10px;
}

#footer-cta > div {padding-right: 275px}

#footer-cta a {
	width: 175px;
	height: 175px;
}

#footer {padding-bottom: 50px}

#footer > img {
	width: 350px;
	margin: 0 auto 75px;
}

#copyrights {
	font-size: 16px;
	line-height: 18px;
}

#scroll-top {
	bottom: 50px;
	right: 50px;
	width: 50px;
	height: 50px;
}
	
}



/*GRID: 1600px */
@media all and (max-width: 1600px) {
	
.wrap {padding: 100px 150px}

}



/*GRID: 1440px */
@media all and (max-width: 1440px) {
	
.wrap {padding: 100px 100px}

h1 {
	font-size: 80px;
	line-height: 90px;
}

h2 {
	font-size: 46px;
	line-height: 50px;
}

h3 {
	font-size: 22px;
	line-height: 28px;
	margin-bottom: 20px;
}

#scroll-top {right: 25px}

#nav-socilas {
    top: 150px;
    right: 30px;
}

#footer-cta > div {padding-right: 200px}

#footer-cta a {
    width: 150px;
    height: 150px;
}

#footer > img {width: 300px}

}



/*GRID: 1280px */
@media all and (max-width: 1280px) {
	
.wrap {padding: 75px 100px}

h1 {
	font-size: 70px;
	line-height: 80px;
}

h2 {
	font-size: 42px;
	line-height: 46px;
	margin-bottom: 25px;
}

h3 {
	font-size: 20px;
	line-height: 24px;
	margin-bottom: 20px;
}

.link-block {
	font-size: 16px;
	line-height: 16px;
	margin-top: 20px;
	border-radius: 22px;
	height: 44px;
	padding: 0 35px 0 25px;
}

.link-block > span:first-of-type {
	top: 12px;
}
.link-block:hover > span:first-of-type {
	top: 5px;
}

.link-block > span:last-of-type {
	top: 20px;	
}
.link-block:hover > span:last-of-type {
	top: 12px;
}

.link-block::after {
	width: 44px;
	height: 44px;
	right: -25px;
}

/*
#home-link {width: 250px}

#menu {
	font-size: 16px;
	line-height: 16px;
}

#menu-under {height: 150px}

#menu .tel-link img {
	width: 22px;
	top: -5px;
}

#menu ul {margin-left: 0}
*/


#menu ul {display: none}	
	
#hamburger {
	display: block;
	width: 36px;
	height: 30px;
	margin-left: 30px;
	position: relative;
}

#hamburger > span {
	display: table;
	position: absolute;
	margin: auto;
	right: 0;
	top: 0;
	bottom: 0;
	width: 100%;
	height: 5px;
	border-radius: 3px;
	background: #FF1502;
}
#hamburger > span:first-of-type {bottom: auto}	
#hamburger > span:last-of-type {
	top: auto;
	width: 60%;
}	

#hamburger.clicked > span:first-of-type {
	bottom: 0;
	transform: rotate(45deg);
}
#hamburger.clicked > span:nth-of-type(2) {transform: rotate(-45deg)}	
#hamburger.clicked > span:last-of-type {display: none}

#menu-rwd {
	display: block;
	position: absolute;
	z-index: 9;
	top: -200px;
	left: 0;
	width: 100%;
	height: 200px;
	box-sizing: border-box;
	padding: 125px 50px 25px;
	background-color: #191919;
	background-image: url(../img/menu-rwd-bg.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 500px 700px;
}

#menu-rwd ul {
	list-style: none;
	width: 100%;
	text-align: center;
}

#menu-rwd li {
	display: inline-block;
	margin: 0 25px 5px;
}

#menu-rwd a {
	font-size: 16px;
	line-height: 16px;
	font-weight: 600;
	color: white;
}

#menu-rwd a.active {color: #FF1502}

#menu-rwd .tel-link {display: none}
	
}	



/*GRID: 1024px */
@media all and (max-width: 1024px) {

.hover-opacity a:hover, a.hover-opacity:hover {opacity: 1}
.red-to-black a:hover {color: #FF1502}
.white-to-red a:hover {color: white}	
.link-block:hover::after {
	rotate: 0deg;
	background-color: #FF1502;
}
.link-block.link-block-red:hover::after {background-color: white}
#nav-socilas a {background: #FF1502 !important}
#scroll-top:hover {opacity: 0.6}
#footer-cta a:hover {background-color: #FF1502}
	
.wrap {padding: 75px}

h1 {
	font-size: 60px;
	line-height: 70px;
}

.link-block {
	border-radius: 22px;
	height: auto;
	padding: 15px 30px 15px 20px;
}

.link-block > span:first-of-type {
	top: 0 !important;
	opacity: 1 !important;
}

.link-block > span:last-of-type {display: none}

.link-block::after {
	width: 44px;
	height: 44px;
	right: -25px;
	margin: auto;
	top: 0;
	bottom: 0;
}

#nav-socilas {right: 20px}

/*	
#menu ul {display: none}	
	
#hamburger {
	display: block;
	width: 36px;
	height: 30px;
	margin-left: 30px;
	position: relative;
}

#hamburger > span {
	display: table;
	position: absolute;
	margin: auto;
	right: 0;
	top: 0;
	bottom: 0;
	width: 100%;
	height: 5px;
	border-radius: 3px;
	background: #FF1502;
}
#hamburger > span:first-of-type {bottom: auto}	
#hamburger > span:last-of-type {
	top: auto;
	width: 60%;
}	

#hamburger.clicked > span:first-of-type {
	bottom: 0;
	transform: rotate(45deg);
}
#hamburger.clicked > span:nth-of-type(2) {transform: rotate(-45deg)}	
#hamburger.clicked > span:last-of-type {display: none}

#menu-rwd {
	display: block;
	position: absolute;
	z-index: 9;
	top: -200px;
	left: 0;
	width: 100%;
	height: 200px;
	box-sizing: border-box;
	padding: 125px 50px 25px;
	background-color: #191919;
	background-image: url(../img/menu-rwd-bg.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 500px 700px;
}

#menu-rwd ul {
	list-style: none;
	width: 100%;
	text-align: center;
}

#menu-rwd li {
	display: inline-block;
	margin: 0 25px 5px;
}

#menu-rwd a {
	font-size: 16px;
	line-height: 16px;
	font-weight: 600;
	color: white;
}

#menu-rwd a.active {color: #FF1502}

#menu-rwd .tel-link {display: none}
*/

#footer-cta > div {padding-right: 150px}

#footer-cta a {
	width: 125px;
	height: 125px;
}

#footer > img {width: 250px}

#copyrights > div {
    width: 100%;
	text-align: center;
}	

#scroll-top {right: 12px}	
	
}


/*GRID: 950px */
@media all and (max-width: 950px) {
	
body.body-horizontal h1 {
	font-size: 50px;
	line-height: 60px;
}
	

body.body-horizontal #header {
	padding-bottom: 25px;
	height: calc(var(--vh, 1vh) * 100);
}

body.body-horizontal #header hgroup figure {display: none}

body.body-horizontal #nav-socilas {top: 125px}

body.body-horizontal #scroll-top {bottom: 25px}

body.body-horizontal  #menu {padding: 25px 25px 0}
	
}


/*GRID: 768px */
@media all and (max-width: 768px) {
	
#menu {padding: 50px 25px 0}
	
#home-link {width: 250px}
	
#menu-rwd {background-size: 375px 500px}

#menu-rwd li {margin: 0 15px 5px}	
	
#footer-cta > div {padding-right: 0}

#footer-cta a {
	position: relative;
	width: 125px;
	height: 125px;
	top: 0;
    transform: none;
	margin-top: 25px;
}
	
#footer > img {margin: 0 auto 50px}	
	
}


/*GRID: 568px */
@media all and (max-width: 568px) {
	
.wrap {padding: 50px 25px}

h1 {
	font-size: 44px;
	line-height: 54px;
}

h2 {
	font-size: 34px;
	line-height: 38px;
}

#menu {padding-top: 30px}
#menu-under {height: 100px}

#menu .tel-link {display: none}

#menu-rwd {
	top: -360px;
	height: 360px;
	padding: 100px 25px 50px;
}

#menu-rwd ul {margin-bottom: 25px}

#menu-rwd li {
	width: 100%;
	margin: 5px 0;
}

#menu-rwd .tel-link {
	display: table;
	position: relative;
	margin: 0 auto;
	padding-left: 35px;
}

#menu-rwd .tel-link img {
    display: block;
    position: absolute;
    width: 22px;
    left: 0;
    top: -5px;
}

#nav-socilas {
	top: 100px;
	right: 25px;
}	

#copyrights {
    font-size: 15px;
    line-height: 16px;
}
	
}



/*GRID: 440px */
@media all and (max-width: 440px) {
	
.wrap {padding: 40px 20px}

h1 {
	font-size: 36px;
	line-height: 40px;
}

h2 {
	font-size: 30px;
	line-height: 34px;
}

h3 {
	font-size: 18px;
	line-height: 22px;
	margin-bottom: 15px;
}

.link-block {
	font-size: 15px;
	line-height: 15px;
}

#scroll-top {
    bottom: 40px;
    right: 10px;
    width: 40px;
    height: 40px;
}	

#menu {padding-top: 20px}

#menu-under {height: 115px}

#home-link {width: 150px}

#home-link img:first-of-type {display: none}
#home-link img:last-of-type {display: block}


#menu-rwd {padding: 125px 20px 25px}


#menu-rwd a {
	font-size: 15px;
	line-height: 15px;
}

#nav-socilas {right: 20px}

#nav-socilas a {
    width: 30px;
    height: 30px;
    margin-bottom: 5px;
}

#footer-cta a {
	width: 110px;
	height: 110px;
}

#footer > img {
	width: 200px;
}

#copyrights {
    font-size: 14px;
    line-height: 15px;
}

}