.regions {
  padding: calc(3% + 20px) 0 0 0;
  background-color: #FAF9F8;
}

.feaured_region.regions {
  padding: calc(5% + 20px) 0 0 0;
  background-color: #FAF9F8;
}

.regions .content,
.regions .content_wrap {
  position: relative;
}

.region_list .region_location {
  padding-bottom: 2%;
}

.region_list .region_more span {
  font-size: 20px;
  text-transform: uppercase;
}

.region_page {
  padding: calc(4% + 20px) 0 0 0;
}

.region_page .content {
  padding: 0 0 5% 0;
}

.region_location .spec_map {
  padding-bottom: 24px;
}

.region_location .region_spec {
  padding-top: 0;
}

.region_page .region_info {
  padding: 0 0 2% 0;
}

.left_bg {
  width: calc(((100% - 1360px) / 2) + 783px);
  height: 100%;
  top: 0;
  left: 0;
  right: auto;
  bottom: 0;
  position: absolute;
}

.feaured_region .left_bg {
  background-image: url('/themes/wiize/assets/img/backgrounds/grapes_home.svg');
  background-size: 490px;
  background-position: -64px top;
  background-repeat: no-repeat;
}

.region_page .left_bg {
  background-color: #EFEAE7;
}

.region_info .r_intro {
  width: 74%;
}

.region_info .r_extra {
  width: 26%;
}

.region_info .r_intro,
.region_info .r_extra {
  height: 200px;
  float: left;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.region_info .region_intro {
  max-height: 220px;
  overflow: hidden;
}

.region_info .region_intro .image {
  width: 100%;
  height: auto;
}

.right_bg {
  width: calc(((100% - 1360px) / 2) + 577px);
  top: 0;
  left: auto;
  right: 0;
  bottom: 0;
  position: absolute;
}

.feaured_region .right_bg {
  top: 27px;
  background-color: #EFEAE7;
}

.region_page .right_bg {
  background-color: #FFFFFF;
}

.region_desc {
  width: 783px;
  float: left;
}

.region_page .region_info .region_desc {
  margin-top: 235px;
}

.region_page .region_info .region_desc {
  padding: 26px 58px 26px 0;
}

.region_info .region_desc .text_block {
  margin-bottom: 44px;
}

.region_info .region_desc .text_block:last-child {
  margin-bottom: 0;
}

.region_info .region_desc .text_block svg {
  position: absolute;
  width: 34px;
  height: auto;
}

.region_info .region_desc .text_block h4 {
  font-size: 20px;
  font-weight: 500;
  margin-left: 60px;
  padding-bottom: 4px;
  margin-bottom: 10px;
  border-bottom: 1px solid #CAC5C1;
}

.region_page .region_info .region_desc .text_block p {
  padding-left: 60px;
}

.region_spec {
  width: 577px;
  float: left;
  padding: 66px 0 66px 57px;
}

.spec_data {
  width: 100%;
  overflow: hidden;
  padding-bottom: 55px;
}

.region_page .spec_data:last-child {
  padding-bottom: 0;
}

.spec_data h3 {
  font-size: 18px;
  font-weight: 900;
  padding-bottom: 20px;
}

.img_history {
  display: block;
}

.region_info {
  background-color: #FFFFFF;
}

.region_info h3 {
  font-size: 24px;
}

.region_info .spec_data h3 {
  padding-bottom: 26px;
}

.region_info .region_desc h3 {
  padding-bottom: 6px;
  margin-bottom: 28px;
  border-bottom: 1px solid #000000;
}

.vert {
  width: 100%;
  height: 536px;
  padding: 0;
  padding-top:40px;
  background-color: #5B7265;
}

.spec_table,
.spec_map {
  width: 100%;
  float: left;
  display: block;
  overflow: hidden;
}

.spec_row {
  width: 100%;
  height: 60px;
  display: block;
  overflow: hidden;
  border-bottom: 1px solid #565B63;
}

.spec_row:last-child {
  border-bottom: 0;
}

.spec_icon {
  width: 70px;
  height: 60px;
  float: left;
  position: relative;
}

.spec_icon svg {
  width: auto;
  height: auto;
  max-width: 32px;
  max-height: 42px;
  top: 0;
  left: 0;
  right: auto;
  bottom: 0;
  margin: auto;
  position: absolute;
}

.spec_icon span {
  font-size: 42px;
  font-weight: 900;
  line-height: 60px;
}

.spec_info {
  width: calc(100% - 70px);
  float: left;
  color: #2B2E34;
  font-size: 16px;
  font-weight: 400;
  line-height: 60px;
  text-transform: uppercase;
}

.spec_slice {
  width: 47%;
  float: left;
  margin-left: 6%;
}

.spec_slice:first-child {
  margin-left: 0;
}

.spec_slice .image_container {
  margin-bottom: 25px;
}

.spec_slice span {
  float: left;
  width: 100%;
  display: block;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4em;
}

.regions .text_block {
  width: 100%;
  float: left;
}

.regions .text_block p {
  font-size: 19px;
  line-height: 1.4em;
  margin-bottom: 1.4em;
}

.regions .text_block p:empty,
.regions .text_block p:last-child {
  margin-bottom: 0;
}

.feaured_region .text_block {
  padding-top: 80px;
  padding-left: 175px;
  padding-right: 125px;
}

.feaured_region .text_block p {
  font-size: 20px;
}

.region_more {
  float: left;
  width: 100%;
  height: 25px;
  display: block;
  margin-bottom: 44px;
}

.region_more span {
  cursor: pointer;
  color: #211A15;
  font-size: 18px;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-decoration: none;
  text-transform: uppercase;
  border-bottom: 2px solid #211A15;
}

.region_logo {
  width: 100%;
  overflow: hidden;
  margin-bottom: 20px;
}

.region_logo:last-child {
  margin-bottom: 0;
}

.ticino svg {
  width: 55%;
  height: auto;
  cursor: pointer;
}

.sw_ticino .image_container {
  width: 180px;
  cursor: pointer;
}

.ticinowine .image_container {
  width: 250px;
  cursor: pointer;
}

@media only screen and (max-width: 1979px) {
  .feaured_region .left_bg {
    background-size: calc(((100vw - 1360px) / 2) + 200px);
  }
}

@media only screen and (max-width: 1680px) {
  .feaured_region .left_bg {
    background-size: calc(((100vw - 1360px) / 2) + 204px);
    background-position: -44px 22%;
  }
}

@media only screen and (max-width: 1600px) {
  .region_info .spec_data h3 {
    padding-bottom: 18px;
  }

  .regions .text_block p,
  .feaured_region .text_block p {
    font-size: 18px;
  }

  .regions .text_block p {
    line-height: 1.35em;
    margin-bottom: 1.2em;
  }
}

@media only screen and (max-width: 1430px) {
  .regions {
    padding: 4% 0 0 0;
  }

  .regions .content .content_wrap {
    padding: 0 0 0 36px;
  }

  .regions .region_info.content .content_wrap {
    padding: 0 0 0 0;
  }

  .feaured_region .left_bg {
    width: 100%;
    background-size: 300px;
    background-position: -44px center;
  }

  .feaured_region .right_bg,
  .region_page .right_bg {
    display: none;
  }

  .region_info .region_desc {
    background-color: #EFEAE7;
    padding-left: 36px;
  }

  .region_page .region_info .region_spec {
    background-color: #FFFFFF;
  }

  .region_page .region_info .region_desc {
    margin-top: 200px;
  }

  .region_page .region_info .region_desc {
    padding: 44px 38px;
  }

  .region_page .left_bg {
    background-color: #FFFFFF;
  }

  .region_page .left_bg,
  .region_desc {
    width: 60%;
  }

  .feaured_region .text_block {
    padding-top: 54px;
    padding-left: 275px;
    padding-right: 40px;
  }

  .patrons {
    width: calc(60% + 6px);
    display: block;
    overflow: hidden;
    position: absolute;
    left: 0;
    bottom: 0;
    padding: 0 20px;
    background-color: #FAF9F8;
  }

  .region_logo {
    width: 33.333%;
    height: 50px;
    margin: auto;
    float: left;
    padding-left: 3%;
    margin-bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .region_logo.ticino {
    padding-left: 0;
  }

  .ticino svg {
    width: 138px;
  }

  .sw_ticino .image_container {
    width: 106px;
  }

  .ticinowine .image_container {
    width: 180px;
  }

  .region_spec {
    width: 40%;
    padding: 20px 36px 20px 20px;
  }

  .feaured_region .region_spec {
    background-color: #EFEAE7;
  }
}

@media only screen and (max-width: 1280px) {
  .region_spec {
    padding: 20px 30px 20px 20px;
  }

  .regions .content .content_wrap {
    padding: 0 0 0 30px;
  }
}

@media only screen and (max-width: 1200px) {
  .spec_row {
    height: 50px;
  }

  .spec_icon {
    width: 50px;
    height: 50px;
  }

  .spec_icon span {
    font-size: 40px;
    line-height: 50px;
  }

  .spec_info {
    width: calc(100% - 50px);
    font-size: 14px;
    line-height: 50px;
  }
}

@media only screen and (max-width: 1080px) {
  .regions .content .content_wrap {
    padding: 0 0 50px 28px;
  }

  .feaured_region .left_bg {
    background-position: -44px top;
  }

  .region_info .spec_data h3 {
    padding-bottom: 16px;
  }

  .region_page .region_info .region_desc {
    padding: 26px;
  }

  .region_more {
    margin-bottom: 24px;
  }

  .patrons {
    width: 100%;
    background-color: #F5F3F2;
  }

  .spec_data {
    padding-bottom: 24px;
  }

  .spec_data h3 {
    font-weight: 700;
    padding-bottom: 8px;
  }

  .region_info h3 {
    font-size: 22px;
  }

  .region_info .region_desc .text_block {
    margin-bottom: 34px;
  }

  .region_info .region_desc .text_block svg {
    width: 30px;
  }

  .region_info .region_desc .text_block h4 {
    margin-left: 52px;
  }

  .region_info .region_desc .text_block p {
    padding-left: 52px;
  }

  .region_page .text_block p {
    font-size: 17px;
  }
}

@media only screen and (max-width: 980px) {
  .feaured_region .left_bg {
    background-size: 260px;
    background-position: -44px center;
  }

  .feaured_region .text_block {
    padding-top: 44px;
    padding-left: 235px;
    padding-right: 40px;
  }
}

@media only screen and (max-width: 908px) {
  .region_spec {
    padding: 20px 28px 20px 20px;
  }

  .regions .content .content_wrap {
    padding: 0 0 50px 28px;
  }
}

@media only screen and (max-width: 900px) {
  .feaured_region .left_bg {
    background-size: 190px;
    background-position: -68px center;
  }

  .feaured_region .text_block {
    padding-left: 116px;
    padding-right: 18px;
  }

  .region_spec {
    padding: 16px 28px 16px 16px;
  }

  .spec_row {
    height: 40px;
  }

  .spec_icon {
    width: 45px;
    height: 40px;
  }

  .spec_icon svg {
    max-width: 28px;
    max-height: 30px;
  }

  .spec_icon span {
    font-size: 36px;
    height: 40px;
    line-height: 40px;
  }

  .spec_info {
    width: calc(100% - 45px);
    line-height: 40px;
  }

  .spec_slice span {
    font-size: 14px;
  }
}

@media only screen and (max-width: 880px) {
  .region_spec {
    padding: 16px;
  }

  .regions .content .content_wrap {
    padding: 0 0 50px 16px;
  }

  .region_list .region_more span {
    font-size: 18px;
  }
}

@media only screen and (max-width: 780px) {
  .regions {
    padding: 34px 0 0 0;
  }

  .regions .content .content_wrap {
    padding: 0 0 50px 0;
  }

  .feaured_region .left_bg {
    background-size: 214px;
    background-position: -42px 62px;
  }

  .region_info .left_bg {
    position: relative;
  }

  .region_info .left_bg,
  .region_desc,
  .region_spec {
    width: 100%;
  }

  .region_desc {
    padding: 0 16px 38px 16px;
  }

  .region_info .region_desc {
    padding: 26px 20px 28px 20px;
  }

  .region_page .region_info .region_desc {
    margin-top: 0;
  }

  .feaured_region .text_block {
    padding-top: 36px;
    padding-left: 180px;
    padding-right: 28px;
  }

  .region_info .region_desc .text_block {
    margin-bottom: 24px;
  }

  .region_info .region_desc .text_block h4 {
    margin-left: 48px;
  }

  .region_info .region_desc .text_block p {
    padding-left: 48px;
  }

  .regions .text_block p,
  .feaured_region .text_block p,
  .region_more span {
    font-size: 17px;
  }

  .region_spec {
    padding: 26px 14px;
  }

  .spec_data {
    width: 53%;
    float: left;
    margin-left: 4%;
  }

  .spec_data:first-child {
    width: 43%;
    margin-left: 0;
  }

  .region_page .spec_data,
  .region_page .spec_data:first-child {
    width: 100%;
  }

  .spec_row {
    border-bottom: 1px solid rgb(86 91 99 / 20%);
  }

  .patrons {
    width: 100%;
  }
}

@media only screen and (max-width: 650px) {
  .region_more {
    margin-bottom: 18px;
  }

  .spec_data,
  .spec_data:first-child {
    width: 100%;
    margin-left: 0;
  }

  .spec_data:last-child {
    padding-bottom: 0;
  }
}

@media only screen and (max-width: 580px) {
  .region_desc {
    padding: 0 14px 24px 14px;
  }

  .feaured_region .text_block {
    padding-left: 170px;
    padding-right: 18px;
  }

  .region_info .region_desc .text_block {
    margin-bottom: 14px;
  }

  .region_info .region_desc .text_block svg {
    width: 28px;
  }

  .region_info .region_desc .text_block h4 {
    margin-left: 44px;
  }

  .region_info .region_desc .text_block p {
    padding-left: 44px;
  }
}

@media only screen and (max-width: 520px) {
  .feaured_region .left_bg {
    display: none;
  }

  .region_desc {
    padding: 0 14px 8px 14px;
  }

  .feaured_region .text_block {
    padding-top: 12px;
    padding-left: 0;
    padding-right: 0;
  }

  .regions .text_block p,
  .feaured_region .text_block p,
  .region_more span {
    font-size: 16px;
  }

  .regions .text_block p {
    margin-bottom: 12px;
  }

  .spec_slice span,
  .spec_info {
    font-size: 13px;
  }
}

@media only screen and (max-width: 420px) {
  .regions .text_block p,
  .feaured_region .text_block p,
  .region_more span {
    font-size: 15px;
    line-height: 1.2em;
  }

  .regions .text_block p {
    margin-bottom: 10px;
  }

  .spec_data h3 {
    font-size: 17px;
  }

  .region_info h3 {
    font-size: 20px;
  }
}

@media only screen and (max-width: 320px) {
  .region_more span {
    font-size: 14px;
  }
}
