@charset "utf-8";
/* /// Vulkan Bros. CSS Styles ©2019 Vulkan Bros. Limited /// */

/* /// 0. Custom Font /// */
@font-face {
	font-family: 'texgyreheros';
	src: url("../fonts/texgyreheros-regular-webfont.woff") format('woff'), /* Pretty Modern Browsers */
		 url("../fonts/texgyreheros-regular-webfont.ttf")  format('truetype'); /* Safari, Android, iOS */
	font-weight:100;
	font-display: auto;
}

@font-face {
	font-family: 'texgyreheros';
	src: url("../fonts/texgyreheros-bold-webfont.woff") format('woff'), /* Pretty Modern Browsers */
		 url("../fonts/texgyreheros-bold-webfont.ttf")  format('truetype'); /* Safari, Android, iOS */
	font-weight:400;
	font-display: auto;

}

/* /// 1. Defaults /// */
* {
    margin:0;
    padding:0;
  }

html,
body {
	padding: 0;
	margin: 0;
	height: 100%;
	background: #fff;
	color: #000;
	box-sizing: border-box;
	font-family: "texgyreheros";
	font-size: calc(1em + 1vw);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	-webkit-overflow-scrolling: touch;
}

a {
	text-decoration: none;
	text-decoration-line: none;
	text-decoration-color: transparent;
	color: #000;
}

a:hover{
	text-decoration: none;
	color: #97999B;
}

a.link{
	margin-top: 30px;
	display: block;
	float: right;
	transition: 0.3s;
}

a.link:hover{
	color: #97999B;
}

.table a.link{
	margin-top: 0;
}

a:hover{
	color: inherit;
}

p {
	font-size: 16px;
	line-height: 1.5;
	margin-bottom: 1rem;
}

.page {
	overflow: hidden;
}

.full-wrapper {
	margin: .5em;
	z-index: 100;
}

.container {
	width: 90%;
	max-width: 1400px;
}

section {
	/*margin-top: 200px;
	height: 100vh; */
}

video {
  left: 50%;
  position: relative;
  top: 50%;
  transform: translate(-50%, -50%);
}

.clear {
	clear: both;
}

.module {
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
}

/* /// 2. Page Elements /// */

/* Colours */
.ri-red {
	color: #E10600;
}

.ri-blue {
	color: #00BBDC;
}

.ri-green {
	color: #26D07C;
}

.ri-yellow {
	color: #ECE81A;
}

.ri-gray {
	color: #97999B;
}

.ri-pale-gray {
	background-color: #f2f2f2;
}

.white {
	color: #fff;
}

.black {
	color: #000;
}

/* Background Colors */
.bg-ri-red {
	background-color: #E10600;
}

.bg-ri-blue {
	background-color: #00BBDC;
}

.bg-ri-green {
	color: #26D07C;
}

.bg-ri-yellow {
	color: #ECE81A;
}

.bg-ri-gray {
	color: #97999B;
}

.bg-ri-pale-gray {
	background-color: #f2f2f2;
}

.bg-white {
	background-color: #fff;
}

.bg-black {
	background-color: #000;
}

/* Padding & Margins */

.margin-auto {
	margin: auto;
}

.margin-0 {
	margin: 0;
}

.margin-top-15 {
	margin-top: 15px;
}

.margin-top-25 {
	margin-top: 25px;
}

.margin-top-35 {
	margin-top: 35px;
}

.margin-top-50 {
	margin-top: 50px;
}

.margin-top-100 {
	margin-top: 100px;
}

.margin-left-1-em {
	margin-left: 1em;
}

.margin-left-2-em {
	margin-left: 2em;
}

.margin-right-1-em {
	margin-right: 1em;
}

.margin-right-2-em {
	margin-right: 2em;
}

.margin-bottom-15 {
	margin-bottom: 15px;
}

.margin-bottom-25 {
	margin-bottom: 25px;
}

.margin-bottom-35 {
	margin-bottom: 35px;
}

.margin-bottom-50 {
	margin-bottom: 50px;
}

.margin-bottom-100 {
	margin-bottom: 100px;
}

.padding-auto {
	padding: auto;
}

.padding-0 {
	padding: 0;
}

.padding-sml {
	padding: 1.25em;
}

.padding-top-10 {
	padding-top: 10px;
}

.padding-top-15 {
	padding-top: 15px;
}

.padding-lr-15 {
	padding: 0 11px 0 11px;
}

.padding-lr-25 {
	padding: 0 25px 0 25px;
}

/* Indents */
.left-0 {
	left: 0;
}

.left-half-em {
	left: .5em;
}

.left-1-em {
	left: 1em;
}

.right-0 {
	right: 0;
}

.right-half-em {
	right: .5em;
}

.right-1-em {
	right: 1em;
}

/* Misc */
.pimg-max-height {
	max-width: auto;
	max-height: 640px;
}

.no-border {
	border-style: none;
}

/* Widths */
.w-0 {
	width: 0;
}

.w-10 {
	width: 10%;
}

.w-15 {
	width: 15%;
}

.w-20 {
	width: 20%;
}

.w-25 {
	width: 25%;
}

.w-30 {
	width: 30%;
}

.w-35 {
	width: 35%;
}

.w-40 {
	width: 40%;
}

.w-45 {
	width: 45%;
}

.w-50 {
	width: 50%;
}

.w-55 {
	width: 55%;
}

.w-60 {
	width: 60%;
}

.w-65 {
	width: 65%;
}

.w-70 {
	width: 70%;
}

.w-75 {
	width: 75%;
}

.w-80 {
	width: 80%;
}

.w-85 {
	width: 85%;
}

.w-90 {
	width: 90%;
}

.w-95 {
	width: 95%;
}

.w-100 {
	width: 100%;
}

/* /// 3. Typography /// */

/* Headlines */

h1 {
	font-weight: 400;
	font-size: 42px;
	line-height: 1.3;
	width: 100%;
	letter-spacing: -0.4px;
}

h1.sub {
	font-size: 26px;
	letter-spacing: -0.4px;
}

h1.wtitle {
	font-size: 40px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: -0.4px;
}

h2 {
	letter-spacing: -0.6px;
}

h2.sec-title, h2.sec-subtitle {
	font-size: 50px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: -1.5px;
}

h2.sec-subtitle {
	margin-top: 100px;
	margin-bottom: 120px;
	font-size: 40px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: -0.4px;
}

h3.ptitle {
	font-size: 22px;
	font-weight: 400;
    position: relative;
	clear: both;
	margin-bottom: 15px;
	letter-spacing: -0.4px;
  }

/* Section text */
.section-text p {
	font-size: 18px;
}

.prj-text p {
	font-size: 18px;
}

/* Titles */
.project h2 {	
	font-size: 22px;
	font-weight: 400;
	text-align: left;
	color: #E10600;
	margin-bottom: 10px;
	letter-spacing: -0.4px;
}

.project-description {
	font-size: 18px;
	width: 90%;
	margin: auto;
	line-height: 1.6;
	font-weight: 100;
	letter-spacing: 0;
	color: #97999B;
	text-align: left;
}

/* Links */

 .plink {
	width: 100%;
	float: left;
	height: 28px;
    position: relative;
	clear: both;
  }

 .plink a {
	font-size:18px;
	font-weight: 400;
  }

 .plink a:hover{
	color: #97999B;
	text-decoration: none;
  }

/* Font Weight */
.bold-txt {
	font-weight: 400;
}

.reg-txt {
	font-weight: 100;
}

/* Line Height */
.line-sml {
	line-height: .9;
}

.line-med {
	line-height: 1;
}

.line-lrg {
	line-height: 1.2;
}

.line-xl {
	line-height: 1.6;
}

.line-xxl {
	line-height: 1.8;
}

/* Letter Spacing */
.letter-spacing-narrow {
	letter-spacing: -.04em;
}

.letter-spacing-wide {
	letter-spacing: -.02em;
}

.no-letter-spacing {
	letter-spacing: 0;
}

/* Alignment */
.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

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

/* /// 3. Sections /// */

/* Section - Hero */
.hero {
	position: relative;
	height: 100vh;
	width: 100%;
	box-sizing: border-box
}

.intro {
	position: relative;
	height: 100vh;
	width: 100%;
	box-sizing: border-box
}

.about {
	position: relative;
	height: 100vh;
	width: 100%;
	box-sizing: border-box
}

.about-hero {
	position: relative;
	height: 100vh;
	width: 100%;
	box-sizing: border-box;
}

.about-us {
	position: relative;
	height: auto;
	width: auto;
	margin: 150px 0 150px 0;
	box-sizing: border-box
}

.about-reinvent {
	position: relative;
	height: auto;
	width: auto;
	margin: 150px 0 150px 0;
	box-sizing: border-box
}

.clients {
	position: relative;
	height: auto;
	width: 100%;
	margin: 150px 0 150px 0;
	box-sizing: border-box
}

.disciplines {
	position: relative;
	height: auto;
	width: 100%;
	margin: 150px 0 150px 0;
	box-sizing: border-box
}

.expertise {
	position: relative;
	height: 100vh;
	width: 100%;
	box-sizing: border-box
}

.exp-sdesign {
	position: relative;
	height: auto;
	width: auto;
	margin: 150px 0 150px 0;
	box-sizing: border-box
}

.exp-cbranding {
	position: relative;
	height: auto;
	width: auto;
	margin: 150px 0 150px 0;
	box-sizing: border-box
}

.exp-digitals {
	position: relative;
	height: auto;
	width: auto;
	margin: 150px 0 150px 0;
	box-sizing: border-box
}

.exp-sdesign {
	position: relative;
	height: auto;
	width: auto;
	margin: 150px 0 150px 0;
	box-sizing: border-box
}

.exp-hcd {
	position: relative;
	height: auto;
	width: auto;
	margin: 150px 0 150px 0;
	box-sizing: border-box
}

.exp-devolution {
	position: relative;
	height: auto;
	width: auto;
	margin: 150px 0 150px 0;
	box-sizing: border-box
}

.exp-nature {
	position: relative;
	height: auto;
	width: auto;
	margin: 150px 0 150px 0;
	box-sizing: border-box
}

.expertise-icons {
	position: relative;
	height: 100vh;
	width: 100%;
	box-sizing: border-box
}

.privacy {
	position: relative;
	height: auto;
	width: 100%;
	box-sizing: border-box
}

.terms {
	position: relative;
	height: auto;
	width: 100%;
	box-sizing: border-box
}

.projects {
	position: relative;
	height: 100vh;
	width: 100%;
	box-sizing: border-box
}

.projects-links {
	position: relative;
	height: auto;
	width: 100%;
	box-sizing: border-box;
		margin: 0 15px 0 15px;
}

.w-row-1 {
	position: relative;
	height: auto;
	width: 100%;
	box-sizing: border-box;
}

.w-row-2 {
	position: relative;
	height: auto;
	width: 100%;
	box-sizing: border-box;
}

.w-row-3 {
	position: relative;
	height: auto;
	width: 100%;
	box-sizing: border-box;
	margin-left: 15px;
	margin-right: 15px;
}

.row-centered {
	text-align: center;
}

.col-centered {
	display:inline-block;
	float:none;
	text-align:left;
	margin-right:-4px;
}

.section-text {
	height: auto;
	min-height: 150px;
	margin: auto 15px;
}

.img-box {
	width: 100vw;
	height: auto;
	
}

.flexi-box {
	display: flex;
	justify-content: center;
	align-items: center;
}

.box-1 {
	display: inline-block;
	width: 450px;
}

/* /// 6. Projects /// */

/* Homepage images */
.project .vb {
	background: url("../img/card-vb.jpg") center center no-repeat;
	background-size: 100%;
}

.project .mob {
	background: url("../img/card-mob.jpg") center center no-repeat;
	background-size: 100%;
}

.project .aa {
	background: url("../img/card-aa.jpg") center center no-repeat;
	background-size: 100%;
}

.project .eco {
	background: url("../img/card-eco.jpg") center center no-repeat;
	background-size: 100%;
}

.project .bar {
	background: url("../img/card-bar.jpg") center center no-repeat;
	background-size: 100%;
}

.project .trp {
	background: url("../img/card-trp.jpg") center center no-repeat;
	background-size: 100%;
}

.project .work {
	width: 66%;
	height: 100%;
	margin-bottom: 30px;
}

.project {
	margin-bottom: 80px;
}

.project a:hover .work {
}

.project a:hover h2, .project a:hover p.description{
	color: #97999B;
}


.lazy {
	background-color: #fff;
	height: inherit;
	margin-bottom:  32px;
}

figure {
	height: auto;
}

.grid_card_wrapper {
	float:left;
	width: 100%;
	height: auto;
	display: flex;
	margin-bottom: 32px;
}

.grid_card_description {
	margin-right: 0px;
}

.grid_card_headline {
	float: left;
	width: 100%;
    font-size: 30px;
    line-height: 1.5em;
    letter-spacing: -0.4px;
    margin-bottom: 16px;
}

.grid_card_headline-r {
	float: right;
	width: 90%;
    font-size: 30px;
    line-height: 1.5em;
    letter-spacing: -0.4px;
    margin-bottom: 16px;
	padding-right: 40px;
}

.grid_card_sub {
    font-size: 26px;
	font-weight: 100;
    margin-bottom: 0px;
	padding-right: 40px;
    line-height: 35px;
}

.grid_card_sub-r {
    font-size: 26px;
	font-weight: 100;
    margin-bottom: 0px;
	padding-left: 40px;
    line-height: 35px;
}

.grid_card_cap {
	width: 80%;
    font-size: 18px;
    margin-bottom: 0px;
    line-height: 24px;
}

.grid_card_body {
	float: right;
	clear: right;
    font-size: 20px;
    margin-bottom: 0px;
    line-height: 28px;
}

.grid_card_wrapper img{
    float:center;
    height:auto;
    width: 100%;
    padding:none;
    vertical-align: top;
}

a.link_block {
	display: inline-block;
    width: 100%;
    margin: 0 0 0 auto;
}

.embed-responsive-item {
	margin: 0;
	padding: 0;
	border: none;
	border-image-width: 0px;
}
/* /// 3. Main Menu - Sticky /// */
#main-nav {
  width: 100%;
  height: 65px;
  display: block;
  color: #00BBDC;
  z-index: 999;
  left: 0;
  top: 0;
  right: 0;
  position: fixed;
  padding-top: 0px;
}

#main-nav {
  transition: 1s ease all;
}

#main-nav.scrolling {
  background-color: rgba(255, 255, 255, 0.8);
  color: #00BBDC;
}

#nav-logo-wrap a img {
  width: 25px;
  height: 32px;
}

#nav-logo-wrap {
  position: fixed;
  float: left;
  height: 32px;
  width: 25px;
  margin-right: 0px;
  z-index: 4000;
}

.slogan {
	display: flex;
	position: relative;
	height: 32px;
	left: 50px;
	width: 250px;
	margin-top: 2px;
	float: left;
	clear: right;
	font-size: 15px;
    font-weight: 400;
	line-height: 15px;
    text-transform: uppercase;
	vertical-align: bottom;
}

.slogan-green{
	color: #26D07C;
}

#nav-menu-wrap {
  float: right;
  padding-top: 7px;
}

#nav-menu-wrap a {
  text-decoration: none;
}

#nav-page-section {
  float: left;
}

#nav-menu-wrap ul {
  font-size: 15px;
  font-weight: 400;
  text-transform: uppercase;
}

#nav-menu-wrap ul li {
  display: inline;
}

#nav-page-section ul li a {
  margin-left: 40px;
  text-decoration: none;
}

#nav-page-section ul li a {
  color: #00BBDC;
}

#nav-page-section ul li a:hover {
  color: #97999B;
  text-transform: uppercase;
  padding-top: 20px;
}

#nav-page-section.scrolling ul li a {
  color: #00BBDC;
}

#nav-page-section.scrolling ul li a:hover {
  color: #97999B;
}

#header-logo {
  position: fixed;
  float: left;
  width: 22px;
  height: 32px;
  background-image: url(../img/ri-logo-mobile-white.svg);
  background-size: cover;
  z-index: 5000;
}

#ri-logo-mobile {
  position: fixed;
  float: left;
  width: 22px;
  height: 32px;
  background-image: url(../img/ri-logo-mobile.svg);
  background-size: cover;
  z-index: 6000;
}

#ri-logo-mobile a {
	text-decoration: none;
	text-decoration-line: none;
	text-decoration-color: transparent;
}

#ri-logo-mobile.scrolling {
  background-image: url(../img/ri-logo-mobile.svg);
  z-index: 7000;
}

.separator-menu {
  float: left;
  height: 25px;
  background: #FFF;
  display: block;
  width: 1px;
  margin: -3px 0 0 40px;
}

/* /// 4. Main Menu - Hamburger /// */

/* icon+overlay */
.overlay-menu ul li a {
  display: inline-block;
  position: relative;
  text-align: center;
  color: #fff;
  text-decoration: none;
  font-size: 20px;
  font-family: "texgyreheros";
  font-weight: 400;
  overflow: hidden;
  top: 5px;
}

.overlay-menu ul li a:hover:after, .overlay-menu ul li a:focus:after, .overlay-menu ul li a:active:after {
  width: 100%;
  color: #97999B;
}

.button_container {
  position: fixed;
  top: 18px;
  right: 18px;
  height: 26px;
  width: 30px;
  cursor: pointer;
  z-index: 100;
  transition: opacity .25s ease;
}

.button_container:hover {
  opacity: .7;
}

.button_container.active .top {
  -webkit-transform: translateY(11px) translateX(0) rotate(45deg);
          transform: translateY(11px) translateX(0) rotate(45deg);
  background: #FFF;
}

.button_container.active .middle {
  opacity: 0;
  background: #FFF;
}

.button_container.active .bottom {
  -webkit-transform: translateY(-11px) translateX(0) rotate(-45deg);
          transform: translateY(-11px) translateX(0) rotate(-45deg);
  background: #FFF;
}

.button_container span {
  background: #00BBDC;
  border: none;
  height: 2px;
  width: 90%;
  position: absolute;
  top: 0;
  left: 0;
  transition: all .35s ease;
  cursor: pointer;
}

.scrolling .button_container span { 
    background-color: #00BBDC;
}

.button_container span:nth-of-type(2) {
  top: 11px;
}

.button_container span:nth-of-type(3) {
  top: 22px;
}

.overlay {
  position: fixed;
  background: #00BBDC;
  top: 0;
  left: 0;
  width: 100%;
  height: 0%;
  opacity: 0;
  visibility: hidden;
  transition: opacity .35s, visibility .35s, height .35s;
  overflow: hidden;
}

.overlay.open {
  opacity: .9;
  visibility: visible;
  height: 100%;
  z-index: 1;
}

.overlay.open li {
  display: block;
  -webkit-animation: fadeInRight .5s ease forwards;
          animation: fadeInRight .5s ease forwards;
  -webkit-animation-delay: .35s;
          animation-delay: .35s;
}

.overlay.open li:nth-of-type(2) {
  -webkit-animation-delay: .4s;
          animation-delay: .4s;
}

.overlay.open li:nth-of-type(3) {
  -webkit-animation-delay: .45s;
          animation-delay: .45s;
}

.overlay.open li:nth-of-type(4) {
  -webkit-animation-delay: .50s;
          animation-delay: .50s;
}

.overlay nav.overlay-menu {
  position: relative;
  height: 70%;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 50px;
  font-weight: 400;
  text-align: center;
}

.overlay ul {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  display: inline-block;
  position: relative;
  height: 100%;
}

.overlay ul li {
  display: block;
  height: 25%;
  height: calc(100% / 3);/* Number of Menu Items */
  min-height: 50px;
  position: relative;
  opacity: 0;
}

.overlay ul li a {
  display: block;
  position: relative;
  color: #fff;
  text-decoration: none;
  overflow: hidden;
}

.overlay ul li a:hover, .overlay ul li a:focus:after, .overlay ul li a:active:after {
  width: 100%;
  color: #97999B;
}

@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    left: 20%;
  }
  100% {
    opacity: 1;
    left: 0;
  }
}

@keyframes fadeInRight {
  0% {
    opacity: 0;
    left: 20%;
  }
  100% {
    opacity: 1;
    left: 0;
  }
}

.r-flex {
	margin: 50px 0 35px 0;
}

.pic-flex {
	margin: 50px 1em 150px 1em;
}

.ibox {
	display:flex;
	justify-content:center;
	align-items:center;
}

.ibox:hover {
	background: #f2f2f2;
}

.icn-txt {
	display: flex;
	flex-direction: column;
  	align-items: center;
}

.img-box {
  -ms-flex: 100%; /* IE10 */
  flex: 100%;
  max-width: 100%;
  padding: 0 0px;
}

.img-box img {
  margin-top: 50px;
  margin-bottom: 50px;
  vertical-align: middle;
  object-fit: cover;
  width: 100%;
}

.seperator {
	height: 1px;
	background-color: #97999B;
	margin: 85px 1.3em 50px 1.3em;
	border-width: 0;
}

.seperator-85 {
	height: 1px;
	background-color: #97999B;
	margin: 185px 1.3em 150px 1.3em;
	border-width: 0;
}

.seperator-icon {
	height: 32px;
	margin: 100px 0 100px 0;
	border-width: 0;
}

/* /// 8. Footer /// */
.ftr-container {
  display: inline-block;
  margin: 0;
  padding: 0;
  width: 100%;
  background-color: transparent;
  z-index: 1;
  float: left;
}

footer {
  bottom: 0;
  width:100%;
  height: auto;
  background-color:#00BBDC;
  padding: 50px 0 50px 0;
  z-index: 1;
}

footer p {
  font-size: 16px;
  font-weight: 100;
  color:#fff;
  padding-bottom:8px;
  margin-bottom: 0;
}

footer a {
  color:#fff;
  padding-bottom:8px;
  margin-bottom: 0;
}

footer a:hover {
  color:#97999B;
}

.ftr-title {
  font-size: 24px;
  line-height: 1.5em;
  text-decoration: none;
}

.ftr-title a:hover {
  color: #97999B;
  text-decoration: none;
}

.ftr-text {
  font-size: 14px;
  line-height: 1.5em;
}

.ftr-text a:hover {
  color: #97999B;
  text-decoration: none;
}

.social_footer_ul {
  display:table;
  list-style-type:none;
  padding: 0;
  margin-left:auto;
  margin-right: auto;
  margin-bottom: 35px;
  margin-top: 0;

}

.social_footer_ul li {
  padding: 0 5px 0 5px;
  float:left;
  font-size: 16px;
  text-transform: uppercase;
  font-weight: 100;
  color: #FFF;
}

.social_footer_ul li a:hover {
  text-decoration: none;
  font-weight: 100;
}

.social_footer_ul li i {
  width:20px;
  height:20px;
  text-align:center;
}

/* /// 9. Contact/Forms /// */
.su-bk {
	position: relative;
	display: flex;
	padding: 0 ;
	margin: 1em;
	align-content: center;
}

.su-txt {
	color: #005284;
	margin: 0;
	padding: 10px;
}

.su-txtbox {
	background-color: #FFFFFF;
	border: 1px solid #CCCCCC;
	padding: 0;
	font-size: 12px;
	font-weight: 100;
	text-align: center;
}
	
.su-button {
	background-color: #E4002B;
	border: 1px solid #CCCCCC;
	padding: 10px;
	color: #fff;
	font-size: 12px;
}
	
fieldset { 
	border: 3px solid #fff; 
	margin: auto;
	background-color: #fff;
	width: 100%;
}

/* Button Styling */
.btn {
	font-size: 16px;
	border: 0;
	border-radius: 0;
	line-height: 22px;
}

.btn-box {
  font-family: "texgyreheros";
  margin-left: .8em;
}
.button_box {
  position: relative;
  display:inline-block;
  box-sizing: border-box;
  left: 1.5em;
  width: auto;
  padding: 10px;
  font-weight: 100;
  font-size: 1em;
  letter-spacing: normal;
  text-decoration:none;
  text-align:center;
  border-radius:0;
  transition: all 0.2s;
}

.button_box:hover {
  color:#000;
  background:#002855;
  text-decoration:none;
}

a.button1 {
 font-size: .5em;
  color:#fff;
  text-decoration:none;	
}

a.button2 {
 font-size: .5em;
  color:#fff;
  text-decoration:none;
}

.card {
  background-color: transparent;
}

.card-title {
  margin-bottom: .5rem;
}

/* forms & input */
input, textarea, select {
  border: 1px solid #d1d1d1;
  font-size: 14px;
  padding: 8px 15px;
  width: 100%;
  margin: 0 0 25px 0;
  max-width: 100%;
  resize: none;
}

.input-border-bottom {
  background: transparent;
  border: 0;
  border-bottom: 1px solid #484848;
  padding: 10px 0;
  margin-bottom: 30px;
  font-size: 14px;
}

.input-border-bottom:focus{
  background: transparent; 
  border: 0; 
  border-bottom: 1px solid #929292;
}

.input-border-bottom::-webkit-input-placeholder {
  font-weight: 400;
  font-size: 14px;
}

.input-border-bottom::-moz-placeholder {
  font-weight: 400;
  font-size: 14px;
} 

.input-border-bottom:-ms-input-placeholder {
  font-weight: 400;
  font-size: 14px;
}

.extra-big-input, .extra-big-textarea, .extra-big-select select {
  padding: 18px 25px;
  font-size: 14px;
  line-height: 24px;
  height: 62px;
}

.big-input, .big-textarea, .big-select select {
  padding: 18px 25px;
  font-size: 14px;
  border-radius: 0;
}

.medium-input, .medium-textarea, .medium-select select {
  padding: 12px 20px;
  font-size: 14px;
  line-height: normal;
  border-radius: 0;
}

.small-input, .small-textarea {
  padding: 12px 15px;
  font-size: 11px;
  line-height: normal;
}

.small-select select {
  padding: 15px 15px;
  line-height: normal;
}

.medium-input-light, .medium-textarea-light, .medium-select-light select {
  padding: 12px 25px;
  font-size: 12px;
  line-height: normal;
}

.extra-small-input, .extra-small-textarea, .extra-small-select select {
  padding: 9px 17px; 
  font-size: 12px; 
  line-height: normal;
}

.select-style {
  width: 100%;
  height: 56px;
  background-image: url("../img/select-arrow.png") no-repeat 97% 50%;
  margin-bottom: 25px;
}

.select-style select {
  width: 100%;
  box-shadow: none;
  color: #828282;
  background-color: #fff;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
}

.select-style select:focus {
  outline: none;
  border: none;
  box-shadow: none;
}

.input-group input, .input-group textarea, .input-group select {
  margin:0;
  border-radius:4px 0 0 4px;
  border-color: #fff;
  padding: 19px 25px;
}

.input-group-btn .btn {
  border-radius:0 4px 4px 0;
}

.input-group-btn .btn.btn-large {
  line-height:2px;
  height:62px;
  padding:15px 25px!important;
}

.input-group-404 input {
  height: 62px;
}

.input-group .required-error {
  border: 1px solid #ee2323 !important;
}

.input-group .required-error,.input-group .required-error + .input-group-btn button , .input-group .required-error + .input-group-btn a.btn {
  border: 1px solid #ee2323 !important;
}

.input-border-white .input-border-bottom {
  border-bottom: 1px solid #ffffff;
  color: #fff;
  border-top: transparent !important;
  border-left: transparent !important;
  border-right: transparent !important;
}

.input-border-white .input-border-bottom:focus {
  background: transparent;
  border-bottom: 1px solid #ffffff;
  color: #fff;
}

.input-border-white .input-border-bottom::-webkit-input-placeholder {
  color: #fff;
}

.input-border-white .input-border-bottom::-moz-placeholder {
  color: #fff;
} 

.input-border-white .input-border-bottom:-ms-input-placeholder {
  color: #fff;
}

.btn .caret {
  border-top:4px solid;
}

input.input-bg {
  background-color: #f7f7f7;
  border-radius: 4px;
  border: 1px solid rgba(0,0,0,.1);
  padding: 10px 20px;
  margin-bottom: 15px;
}

input.input-bg:focus, textarea.input-bg:focus{
  border: 0;
  border: 1px solid rgba(0,0,0,.3);
}

textarea.input-bg {
  background-color: #f7f7f7;
  border-radius: 4px;
  border: 1px solid rgba(0,0,0,.1);
  padding: 10px 20px;
  margin-bottom: 15px;
  min-height: 130px;
}

.input-bg::-webkit-input-placeholder {
  font-weight: 400;
  font-size: 14px;
}

.input-bg::-moz-placeholder {
  font-weight:400;
  font-size: 14px;
} 

.input-bg:-ms-input-placeholder {
  font-weight: 400;
  font-size: 14px;
}

.required-error {
  border: 1px solid #ee2323 !important;
}

.input-border-bottom.required-error {
  border-width: 0 !important;
  border-bottom-width: 1px !important;
  border-bottom-color: #ee2323 !important;
}

#success-project-contact-form {
  clear: both;
  margin: 0 15px 15px;
  text-align: center;
  border: 1px solid #1a940a;
  color: #1a940a;
  padding: 2px 0;
  display: none;
  font-size: 11px;
}

/*****************************
MEDIA QUERIES
******************************/
/* Fluid Typography */

/* 28px @ 320px increasing to 40px @ 1200px */
@media (min-width: 320px) {
  h1.wtitle {
    font-size: calc(1rem + ((1vw - 3.2px) * 0.9));
    /* Where: * 1.3636 = 100 * font_Size_Difference / viewport_Width_Difference */
  }
}
/* Prevent font scaling beyond this breakpoint */
@media (min-width: 1200pxs) {
  h1.wtitle {
    font-size: 40px;
  }
}

/* h2 - 28px @ 320px increasing to 50px @ 1200 */
@media (min-width: 320px) {
  h2.sec-title {
    font-size: calc(1.75rem + ((1vw - 3.2px) * 1.375));
    /* Where: * 1.375 = 100 * font_Size_Difference / viewport_Width_Difference */
  }
}
/* Prevent font scaling beyond this breakpoint */
@media (min-width: 1200px) {
  h2.sec-title {
    font-size: 50px;
  }
}

/* h3 - 18px @ 320px increasing to 22px @ 1200 */
@media (min-width: 320px) {
  h3.ptitle {
    font-size: calc(1.125rem + ((1vw - 3.2px) * 0.25));
    /* Where: * 0.25 = 100 * font_Size_Difference / viewport_Width_Difference */
  }
}

/* Prevent font scaling beyond this breakpoint */
@media (min-width: 768px) {
  h3.ptitle {
    font-size: 22px;
  }
}	

/* section-text - 16px @ 240px increasing to 18px @ 1920px */
@media (min-width: 240px) {
  p.section-text {
    font-size: calc(1rem + ((1vw - 2.4px) * 0.119));
    /* Where: * 0.119 = 100 * font_Size_Difference / viewport_Width_Difference */
  }
}
/* Prevent font scaling beyond this breakpoint */
@media (min-width: 1920px) {
  p.section-text {
    font-size: 18px;
  }
}

/* 16px @ 320px increasing to 18px @ 768px */
@media (min-width: 320px) {
  .prj-text p {
	 width: 100;
    font-size: calc(1rem + ((1vw - 3.2px) * 0.4464));
    /* Where: * 0.4464 = 100 * font_Size_Difference / viewport_Width_Difference */
  }
}
/* Prevent font scaling beyond this breakpoint */
@media (min-width: 768px) {
	.prj-text p {
		font-size: 18px;
	  	width: 80;
 	}
}

/* Small devices (landscape phones, 240px to 576px) */
@media only screen and (min-width: 240px) and (max-width: 600px) {
	#nav-page-section {
	    display: none;
	}
	
	.button_container {
		display: block;
	}
	
	.container {
		width: 90%;
	}
	
	.about-reinvent {
		height: auto;
		margin: 50px 0 50px 0;
	}
	
	.about-us {
		height: auto;
		margin: 50px 0 50px 0;
	}
	
	.clients {
		height: auto;
		margin: 50px 0 50px 0;
	}
	
	.disciplines {
		height: auto;
		margin: 50px 0 50px 0;
	}
	
	.expertise-icons {
		height: auto;
		margin-top: 150px;
	}
	
	.project .work {
		height: 150px;
	}
	
	 .plink{
		width: 80%;
		margin-bottom: 50px;
	}	
	
	.slogan {
		display: none;
	}
	
	.r-flex {
		margin-bottom: 0;
	}
	
	.footer p {
		font-size: 16px;
	}
	
	.btn-box {
		margin-left: 0;
	}
	
	.button_box {
		left: 1em;
	}
}

/* Medium devices (landscape tablets, 601px to 768px) */
@media only screen and (min-width: 320px) {
	.project .work {
		height: 125px;
	}
}

@media only screen and (min-width: 375px) {
	.project .work {
		height: 150px;
	}
}

@media only screen and (min-width: 425px) {
	.project .work {
		height: 175px;
	}
}

@media only screen and (min-width: 768px) {
	.project .work {
		height: 100px;
	}
}


/* Medium devices (landscape tablets, 601px to 768px) */
@media only screen and (min-width: 601px) and (max-width: 768px) {
  	#nav-page-section {
    	display: none;
  	}
	
  	.button_container {
    	display: block;
  	}
 
   	.slogan {
    	display: none;
  	}

  	.btn-box {
		margin-left: 0;
	}
	
	.project .work {
		height: 250px;
	}
}

/* Large devices (laptops/desktops, 769px to 992px) */
@media only screen and (min-width: 769px) and (max-width: 992px) {
  	#nav-page-section {
    	display: inline;
  	}
	
  	.button_container, #overlay {
    	display: none;
  	}
	
  	.slogan {
    	display: block;
  	}
	
  	.button_box {
    	left: 1.5em;
  	}
	
  	.btn-box {
    	margin-left: 0;
	}
	
	.project .work {
		height: 150px;
	}
}

/* Extra large devices (large laptops and desktops, 993px to 1200px) */
@media only screen and (min-width: 993px) and (max-width: 1200px) {
  	#nav-page-section {
    	display: inline;
	}
	
	.button_container, #overlay {
		display: none;
	}

	.slogan {
    	display: block;
  	}
	
	.button_box {
    	left: 1.5em;
  	}
	
	.project .work {
		height: 200px;
	}
}

/* Extra large devices (extra large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1201px) {
  	#nav-page-section {
    	display: inline;
  	}
	
  	.button_container, #overlay {
    	display: none;
  	}

  	.slogan {
    	display: block;
  	}
	
	.btn-box {
    	margin-left: .25em;
  }

	.project .work {
		height: 250px;
	}
}

/*****************************
 CSS3 ANIMATIONS
******************************/
/* used for home scroll arrow */
@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
    top: 30px;
  }
  50% {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
    top: 31px;
  }
  100% {
    opacity: 0;
    -webkit-transform: none;
            transform: none;
    top: 32px;
  }
}

@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
            transform: translate3d(0, -100%, 0);
    top: 30px;
  }
  50% {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
    top: 31px;
  }
  100% {
    opacity: 0;
    -webkit-transform: none;
            transform: none;
    top: 32px;
  }
}

@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
    top: 30px;
  }
  50% {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
    top: 31px;
  }
  100% {
    opacity: 0;
    -webkit-transform: none;
            transform: none;
    top: 32px;
  }
}

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
    top: 30px;
  }
  50% {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
    top: 31px;
  }
  100% {
    opacity: 0;
    -webkit-transform: none;
            transform: none;
    top: 32px;
  }
}

