.red {
  color: #e80909;
}
.darkBlue {
  color: #1a4175;
}
.black {
  color: #000000;
}
.grey {
  color: #000000e0;
}
.blue {
  color: #3c64a0;
}
/*body>div {
	text-align:center;
}

body div div {
	text-align:left;
}
*/
.linkCorrect {
  position: relative;
  top: -25px;
  height: 0px;
}
#telText,
#subOffer,
#offerDisclamer,
.button,
.text,
#offerButton,
.servPlitka,
.servMiniMenu {
  font-family: 'Open Sans';
}
nav {
  font-family: 'Open Sans Semibold';
}
#offer {
  font-family: 'Uni Sans Bold';
}
.price,
.where,
.line,
.redBig,
h2,
h3 {
  font-family: "SF UI Display";
}
/* БЛОК TOP */
/************************************************/
#topBLOCK {
  background: url(/img/bg-fone-top.jpg) center bottom -340px no-repeat;
  background-color: #f2f2f2;
}
#logo {
  grid-area: logo;
}
.nav {
  grid-area: menu;
}
#tel {
  grid-area: tel;
}
#telText {
  grid-area: telText;
}
#offer {
  grid-area: offer;
}
#subOffer {
  grid-area: subOffer;
}
#offerButton {
  grid-area: offerButton;
}
#offerDisclamer {
  grid-area: offerDisclamer;
}
#serv16 {
  grid-area: serv16;
}
#textServ {
  grid-area: textServ;
}
#aboutUs {
  grid-area: aboutUs;
}
#years16 {
  grid-area: years16;
}
#var {
  grid-area: var;
}
#gridTop,
#gridMiddle {
  display: grid;
  max-width: 1032px;
  grid-template-columns: 128px 30px 3fr 30px 6fr 64px 24px 64px 24px 64px 24px 64px 24px 64px 24px 64px 24px 64px;
  /*grid-template-rows: 36px 30px 64px 36px 16px 64px 124px 24px 64px 56px 380px;	*/
  /*grid-template-rows:~"36px 30px calc(2.5vw + 40px) 36px 16px calc(2vw + 30px) 1fr 24px calc(2vw + 30px) 56px 380px";*/
  grid-template-rows: 36px 30px calc(0.5vw + 40px) 36px 16px calc(0.5vw + 30px) 1fr 24px calc(2vw + 30px) 56px 120px;
  margin: 0 auto;
  padding: 0 30px;
  grid-template-areas: ". . . . . . . . . . . . . . . . . ." "logo logo logo . menu menu menu menu menu menu menu menu menu menu menu menu menu ." ". . . . . . . . . . . . . . . . . ." ". . . . . tel tel tel tel tel tel tel . . . . . ." ". . . . . telText telText telText telText telText telText telText . . . . . ." ". . . . . . . . . . . . . . . . . ." ". . . . . offer offer offer offer offer offer offer offer offer offer offer offer offer" ". . . . . subOffer subOffer subOffer subOffer subOffer subOffer subOffer subOffer subOffer subOffer subOffer subOffer subOffer" ". . . . . . . . . . . . . . . . . ." ". . . . . offerButton offerButton offerButton offerButton offerButton . offerDisclamer offerDisclamer offerDisclamer offerDisclamer offerDisclamer offerDisclamer offerDisclamer" "var var var var var . . . . . . . . . . . . .";
  /*align-content: center;*/
}
#var a:hover,
#var a:active {
  background: #00000080;
}
#logo {
  align-self: center;
}
#logo img {
  max-width: 140px;
}
nav {
  text-transform: uppercase;
  font-size: 0.75em;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-template-rows: 1fr;
  max-width: 980px;
}
nav a,
nav a:link,
nav a:visited {
  text-decoration: none;
  color: #00244c;
  padding: 8px 0;
  text-align: center;
  letter-spacing: 0.05rem;
}
nav a:hover,
nav a:active {
  color: #e80909;
}
#tel {
  font-weight: 600;
  font-size: 2em;
  color: #e80909;
}
#telText {
  text-transform: uppercase;
  font-size: 0.7em;
  font-weight: 300;
  color: #000000e0;
}
#offer {
  font-weight: bold;
  text-transform: uppercase;
  font-style: italic;
  color: #1a4175;
  font-size: 3.1rem;
  transition: all 0.1s ease-out;
  -moz-transition: all 0.1s ease-out;
  -o-transition: all 0.1s ease-out;
  -webkit-transition: all 0.1s ease-out;
}
#subOffer {
  font-size: 0.8em;
  font-weight: 500;
  color: #000000e0;
}
a#offerButton {
  transition: all 0.1s ease-out;
  -moz-transition: all 0.1s ease-out;
  -o-transition: all 0.1s ease-out;
  -webkit-transition: all 0.1s ease-out;
}
a#offerButton:link,
a#offerButton:visited {
  text-align: center;
  font-size: 0.9em;
  background: #e80909;
  padding: 16px;
  color: #fff;
}
a#offerButton:hover,
a#offerButton:active {
  background: #ae0404;
}
form ul li#offerButton2,
form ul li#yaMapsButton {
  padding: 24px 48px;
  background-color: #e80909;
  cursor: pointer;
  color: #fff;
  transition: all 0.1s ease-out;
  -moz-transition: all 0.1s ease-out;
  -o-transition: all 0.1s ease-out;
  -webkit-transition: all 0.1s ease-out;
}
form ul li#offerButton2:hover,
form ul li#yaMapsButton:hover {
  background: #ae0404;
}
#offerDisclamer {
  font-size: 0.6rem;
  color: #000000a0;
}
/* БЛОК ВТОРОЙ - АНОНС УСЛУГ */
/************************************************/
#middleBLOCK {
  display: grid;
  grid-template-columns: 80px 1fr 1px;
  grid-template-rows: 1fr;
  justify-items: center;
  /* выравнивание горизонталь*/
  /* align-self: center; - вертикаль */
  align-items: center;
  margin: 64px auto 40px auto;
  grid-gap: 30px;
}
#miniService {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr;
  max-width: 1100px;
  grid-gap: 30px;
}
.servMiniMenu {
  font-size: .8rem;
  color: #fff;
  background: #e80909;
  width: 120px;
  height: 168px;
  padding: 32px 16px 16px 56px;
  box-sizing: border-box;
  border-radius: 0 4px 4px 0;
  text-align: left;
  transition: all 0.4s ease-out;
  -moz-transition: all 0.4s ease-out;
  -o-transition: all 0.4s ease-out;
  -webkit-transition: all 0.4s ease-out;
  transform: translate(-20px, 0);
  -webkit-transform: translate(-20px, 0);
  /** Chrome & Safari **/
  -o-transform: translate(-20px, 0);
  /** Opera **/
  -moz-transform: translate(-20px, 0);
  /** Firefox **/
}
.servMiniMenu a {
  text-align: left;
  line-height: 0.9rem;
  color: #fff;
  text-decoration: none;
}
.servMiniMenu:hover {
  background: #1a4175;
  padding: 32px 26px 16px 46px;
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0);
  /** Chrome & Safari **/
  -o-transform: translate(0, 0);
  /** Opera **/
  -moz-transform: translate(0, 0);
  /** Firefox **/
  cursor: pointer;
}
.priceAndService {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 48px 32px 51px 1fr 48px 48px;
  margin: 0 10px;
}
/* первая колонка */
.price,
.where,
.line,
.text,
.button {
  color: #e80909;
  font-weight: 900;
  font-size: 2rem;
}
.price span,
.where span,
.line span,
.text span,
.button span {
  font-size: 1.45rem;
}
.button {
  color: #1a4175;
}
.where {
  color: #000000e0;
  font-size: 1.45rem;
}
.line {
  margin: 24px calc(100% - 64px) 24px 0;
  background: #e80909;
}
.text {
  color: #000000e0;
  font-size: 0.85rem;
  font-weight: 500;
  margin-bottom: 16px;
  line-height: 1.2rem;
}
.text p {
  padding: 0 0 16px 0;
}
.text b {
  font-family: "Open Sans Semibold";
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.6rem;
}
.button {
  position: relative;
  z-index: 1;
  font-size: 0.75em;
  font-weight: 300;
  text-transform: uppercase;
  border: 1px solid #3c64a0;
  text-align: center;
  padding-top: 16px;
  transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  -webkit-transition: all 0.2s ease-out;
  width: 70%;
  background: #1a4175;
  color: #fff;
  /*border-radius: 32px;*/
}
.button:hover,
.button:active {
  border: 1px solid #b2b2b2;
  color: #1a4175;
  cursor: pointer;
  background: #fff;
  /*background:@darkBlue;*/
}
.button:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 0;
  background: #fff;
  color: #1a4175;
  transition: all 0.05s ease-out;
  -moz-transition: all 0.05s ease-out;
  -o-transition: all 0.05s ease-out;
  -webkit-transition: all 0.05s ease-out;
}
.button:hover:after {
  height: 100%;
  cursor: pointer;
}
#price-3 {
  color: #000000e0;
}
#line-3,
#line-4 {
  background: #195eab;
}
/* четвёртая колонка */
#price-4 {
  color: #1a4175;
}
a#button-3,
a#button-4 {
  color: #000000e0;
}
a#button-3:link,
a#button-4:link,
a#button-3:visited,
a#button-4:visited {
  color: #fff;
}
a#button-3:hover,
a#button-4:hover,
a#button-3:active,
a#button-4:active {
  color: #1a4175;
}
/* БЛОК УСЛУГ */
/************************************************/
#serviceTextBLOCK {
  background-color: #f2f2f2;
  border-top: 1px solid #e3e3e3;
  border-bottom: 1px solid #e3e3e3;
}
#service,
#about {
  display: grid;
  grid-template-columns: 1px 1fr 480px 1px;
  grid-template-rows: 1fr;
  /*justify-items: center;*/
  /* выравнивание горизонталь*/
  /* align-self: center; - вертикаль */
  /*align-items: center;*/
  max-width: 980px;
  margin: 80px auto;
  grid-column-gap: 48px;
  justify-content: center;
}
#about {
  grid-template-columns: 1px 480px 1fr 1px;
  grid-template-areas: ". aboutUs years16 .";
  margin-bottom: 0;
}
#service {
  grid-template-areas: ". serv16 textServ .";
}
#service h2 {
  text-align: right;
}
#aboutBLOCK {
  background: url(/img/bg-fone-about.jpg) center bottom -50px no-repeat;
  min-height: 800px;
}
.redBig {
  color: #e80909;
  /*background: @gradientDarkBlue;
	background-clip: text;
	-moz-background-clip: text;
	-o-background-clip: text;
	-webkit-background-clip: text;
	text-fill-color: transparent;
	-moz-text-fill-color: transparent;
	-o-text-fill-color: transparent;
	-webkit-text-fill-color: transparent;	
	*/
  font-weight: 900;
  font-size: 20rem;
  line-height: 18rem;
  transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
}
.redBig.grey:hover {
  color: #00244c;
}
h2,
h3,
h4 {
  font-weight: 900;
  text-transform: uppercase;
}
h2 {
  color: #1a4175;
  font-size: 3.8rem;
}
h3 {
  color: #000000e0;
  font-size: 2.8rem;
  padding-bottom: 32px;
}
h4 {
  font-family: "Uni Sans";
  color: #00244c;
  font-size: 2rem;
}
#portfolioBLOCK {
  background: url(/img/bg-fone-logo.jpg) center bottom no-repeat;
  background-color: #e8e8e8;
}
#portfolio {
  display: grid;
  max-width: 980px;
  margin: 32px auto 0 auto;
  padding: 16px 20px 80px 20px;
  grid-gap: 20px;
  grid-template-columns: repeat(auto-fill, 140px);
  justify-content: space-between;
  /*grid: auto-flow repeat(auto-fill, 100px);*/
}
#portfolio div {
  background: #ffffff;
}
#portfolio div:hover {
  box-shadow: 0 10px 45px 0 rgba(0, 0, 0, 0.25);
}
.line2Left,
.line2Right {
  margin: 16px calc(100% - 96px) 24px 0;
  background: #da1212;
  height: 3px;
}
.line2Right {
  margin: 16px 0 24px calc(100% - 96px);
}
.title {
  display: block;
  margin: 0 auto;
  padding: 72px 20px 0 20px;
  max-width: 980px;
}
.servPlitka {
  display: grid;
  position: relative;
  max-width: 980px;
  margin: 64px auto 32px auto;
  /*padding: 1px 0 1px 1px;*/
  grid-gap: 2px;
  grid-template-columns: repeat(auto-fill, 160px);
  justify-content: space-between;
  line-height: 0.9rem;
  z-index: 10;
  cursor: context-menu;
  /*background: #d7d9df;*/
}
.servPlitka div {
  background: #ffffff;
  height: 160px;
  border: 1px solid #d7d9df;
  padding: 16px;
  text-align: left;
  margin: 10px;
  /*background: #00244c10;*/
}
.servPlitka div p {
  font-size: 0.75rem;
  text-transform: uppercase;
  text-align: center;
  color: #000000e0;
  /*padding-top: 10px;*/
  line-height: 1rem;
  transition: all 0.1s ease-out;
  -moz-transition: all 0.1s ease-out;
  -o-transition: all 0.1s ease-out;
  -webkit-transition: all 0.1s ease-out;
}
.servPlitka div img {
  display: block;
  width: 82px;
  height: 82px;
  margin: 0 auto;
  transition: all 0.2s ease-out;
  -moz-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  -webkit-transition: all 0.2s ease-out;
}
.servPlitka div:hover {
  box-shadow: 0 10px 45px 0 rgba(0, 0, 0, 0.2);
  z-index: 9;
  background: #ffffff;
}
.servPlitka div:hover img {
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -o-transform: scale(1.1);
  transform: scale(1.1);
}
#bgLuzhniki {
  position: relative;
  background: url(/img/bg-fone-luzhniki.jpg) center bottom repeat-x;
  height: 500px;
}
#footer {
  height: 390px;
  background-color: #f2f2f2;
}
@media screen and (max-width: 1100px) {
  .where,
  .where span {
    font-size: 1.35rem;
  }
}
@media screen and (max-width: 1040px) {
  #topBLOCK {
    min-height: 640px;
    height: 100vh;
    width: 100%;
  }
  .where,
  .where span {
    font-size: 1.4rem;
  }
  #gridTop,
  #gridMiddle {
    grid-template-rows: 36px 30px 3vw 36px 16px 3vw 124px 24px 3vw 56px calc(100vh-322px-9vw);
  }
  #offerDisclamer {
    display: none;
  }
  #bgLuzhniki {
    margin-top: -60px;
  }
  #miniService {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr;
  }
  #m4 {
    display: none;
  }
  #bgLuzhniki {
    margin-top: -260px;
  }
}
@media screen and (max-width: 800px) {
  /* and (orientation: portrait)*/
  #topBLOCK {
    height: 340px;
    width: 100%;
  }
  nav {
    font-size: 0.9rem;
    font-family: 'Open Sans Semibold';
  }
  #gridTop,
  #gridMiddle {
    display: grid;
    max-width: 800px;
    grid-template-columns: 128px 30px 30px 64px 24px 64px 24px 64px 24px 64px 24px 64px 24px 1fr 24px;
    grid-template-areas: ". . . . . . . . . . . . . . ." "logo logo  . menu menu menu menu menu menu menu menu menu menu menu ." ". . . . . . . . . . . . . . ." ". . . tel tel tel tel tel tel tel . . . . ." ". . . telText telText telText telText telText telText telText . . . . ." ". . . . . . . . . . . . . . ." ". . . offer offer offer offer offer offer offer offer offer offer offer offer" ". . . subOffer subOffer subOffer subOffer subOffer subOffer subOffer subOffer subOffer subOffer subOffer subOffer" ". . . . . . . . . . . . . . ." ". . . offerButton offerButton offerButton offerButton offerButton . offerDisclamer offerDisclamer offerDisclamer offerDisclamer offerDisclamer offerDisclamer" ". . . . . . . . . . . . . . .";
    grid-template-rows: 36px 30px 3vh 36px 16px 3vw 124px 24px 3vw 56px calc(100vh-322px-9vw);
  }
  .text {
    font-size: 0.95rem;
  }
  .text p b {
    display: block;
    padding: 8px 0;
  }
  #offer {
    font-size: 2.5rem;
  }
  .redBig {
    font-size: 10rem;
    line-height: 9rem;
  }
  h3 {
    font-size: 1.5rem;
  }
  #service,
  #about {
    grid-template-columns: 1px 1fr 440px 1px;
    grid-column-gap: 36px;
    align-items: center;
  }
  #about {
    grid-template-columns: 1px 440px 1fr 1px;
  }
  #bgLuzhniki {
    margin-top: -350px;
  }
  .where {
    font-size: 1.2rem;
  }
}
