/**
 * therobbinscompany.com responsive CSS for mobile/tablet
 * Breakpoints for tablet landscape, tablet portrait and mobile phone
 */


/* desktop less than 1200 (to make things fit) */
@media only screen and (max-width: 1200px) {	
	/* events blocks */
	.square-box .event h2 {
		font-size:22px;
		line-height:26px;
	}
	.square-box .event h2.smaller-title {
		font-size:18px;
		line-height:22px;
	}
	.square-box .event p {
		font-size:15px;
		font-weight:bold;
		color:#fff;
	}
}

@media only screen 
  and (min-device-width: 768px) 
  and (max-device-width: 1024px) 
  and (-webkit-min-device-pixel-ratio: 1) {

  	header .language-search input[type="text"] {
		width:156px;
	}
	header .language-search button {
		text-align:center !important;
		font-size:17px;
		width:30px;
		height:29px;
		padding-left:0px !important;
		padding-right:0px !important;
		margin-top:-1px;
	}

}

/* desktop & tablet landscape */
@media only screen and (max-width: 1100px) {	
	
	.navigation {
		display:none !important;
	}
	.menu-hamburger {
		display:inline-block !important;
	}
	header .language-search {
		right:120px;
	}
	
	.product-landing .square-content span.contents {
	    padding-top:8%;
	}
	
	.container .section.inside {
		max-width:calc(100% - 40px);
		padding-right:20px;
		padding-left:20px;
	}
	
	.centerpiece .video {
		display:none !important;
	}
	
	/* ready to advance (small version) */
	.ready-to-advance.small .intro {
		text-align:center;
		width:100%;
		max-width:550px !important;
	}
	.ready-to-advance.small .intro h1 {
		font-size:35px;
		color:#d0a73a;
		padding-top:50px;
		margin-top:0px;
	}
	.ready-to-advance.small .intro p {
		font-size:27px;
		line-height:33px;
		font-weight:400;
	}
	.ready-to-advance.small .col h2 {
		font-size:17px;
		line-height:20px;
	}
	.ready-to-advance.small .col p {
		font-size:17px;	
		line-height:20px;
	}
	
	.tunnel-boring-machines .col.span_1_of_5 {
		width: 18.72%;
	}
	
	.ready-to-advance .crossing-length h3 {
		font-size:21px;
		line-height:25px;
	}
	.ready-to-advance .crossing-length ul li {
		font-size:14px;
		line-height:18px;
	}
	.ready-to-advance .crossing-length ul li .title {
		width:calc(30% - 12px);
	}
	.ready-to-advance .crossing-length ul li .length.short span {
		width:calc(60% - 0px);
	}
	.ready-to-advance .crossing-length ul li .length.medium span {
		width:calc(80% - 0px);
	}
	.ready-to-advance .crossing-length ul li .length.long span {
		width:calc(100% - 0px);
	}
}

/* tablet portrait */
@media only screen and (max-width: 800px) {
	body {
		font-size:14px;
		line-height:22px;
	}
	
	.container .section.inside {
		max-width:calc(100% - 40px);
		padding-right:20px;
		padding-left:20px;
	}
	
	.desktop-only {
		display:none !important;
	}
	.tablet-portrait-only {
		display:block !important;
	}
	.hide-on-tablet-portrait {
		display:none !important;
	}
	
	/* navigation */
	nav.menu .section.group {
		padding:20px 0px 20px 20px;
		max-width:calc(100% - 40px);
	}
	nav.menu a {
		font-size:12px;
		line-height:12px;
	}
	nav.menu ul li {
		line-height:14px;
		padding:6px 0px;
	}
	nav.menu ul li ul li {
		line-height:10px;
		padding:4px 0px;
	}
	nav.menu ul li a {
		font-size:11px;
	}
	nav.menu ul li ul li a {
		font-size:9px;
	}
	nav.menu ul li a .fa {
		display:inline-block;
		width:20px;
		margin-left:-20px;
	}
	nav.menu ul li a .fa {
		width:14px;
		margin-left:-14px;
	}
	
	/* main content */
	.main-content .col.span_4_of_6 {
		/*width:calc(100% - 80px);
		padding-left:40px;
		padding-right:40px;
		*/
	}
	.content-column {
		display:block !important;
		width:100% !important;
	}
	
	/* page title centerpiece */
	.page-title {
		height:340px;
	}
	.page-title h1 {
		font-size:28px;
		line-height:32px;
		padding-top:200px;
	}
	.page-title.includes-subtitle h1 {
		padding-top:190px;
	}
	.page-title h2 {
		font-size:19px;
		line-height:25px;
		margin:16px auto 0px auto;
	}
	
	/* centerpiece */
	.centerpiece {
		margin-top:-500px;
		height:500px;
	}
	.centerpiece-background {
		height:500px;
	}
	.centerpiece .col {
		width:50%;
		padding-top:165px;
		padding-left:80px;
	}
	
	/* blocks for grid listing */
	.news-blocks.events-listing {
		margin-top:0px;
	}
	.news-blocks .section.group {
		padding:0px;
	}
	.news-blocks .section.group .col {
		width:50%;
		margin-top:-10px;
	}
	
	/* history */
	.timeline {
		display:none;
	}
	
	/* event blocks */
	.square-box .event h2 {
		font-size:30px;
		line-height:34px;
	}
	.square-box .event h2.smaller-title {
		font-size:22px;
		line-height:28px;
	}
	.square-box .event p {
		font-size:15px;
	}
	
	/* post listing (image left/right, content) */
	.post-listing .section .col {
		display:block;
		height:auto;
		min-height:200px;
	}
	.post-listing .section .col.image {
		display:block;
		width:100%;
		height:420px;
		margin:0px 0px 40px 0px;
		padding:0px;
	}
	.post-listing .section .col.span_2_of_5 {
		display:block;
		float:none;
		width:100%;
	}
	.post-listing .section .content {
		padding:20px;
		width:calc(100% - 40px);
	}
	
	/* sidebar */
	.sidebar {
		display:none;
	}
	.content-right-of-sidebar {
		max-width:calc(100% - 40px);
		padding-right:20px;
		padding-left:20px;
		margin:0px;
		float:none;
	}
	.page-with-sidebar .col {
		width:calc(100% - 20px);
	}
	
	/* project filter */
	.filter .col {
		float:none !important;
		display:block !important;
		width:100% !important;
	}
	
	.product-landing .square-content span.contents {
	    padding-top:25%;
	}
	
	/* news landing twitter-feed */
	.news-landing .col.no-margin.span_2_of_6,
	.news-landing .col.no-margin.span_4_of_6 {
		display:block;
		width:100%;
		float:none;
	}
	.news-landing .col.no-margin.span_3_of_6 {
		display:block;
		width:50%;
	}
	.news-landing .twitter-feed,
	.news-landing .press-release {
		display:block;
		width:50%;
		float:left;
	}
	.news-landing .twitter-feed {
		height:480px;
	}
	
	/** 
	 * CSS form mobile & tablet portrait 
	 */
	
	/* news blocks/grid */
	.col.no-margin.span_1_of_4,
	.product-landing .col.no-margin.span_2_of_6,
	.news-blocks .col.no-margin.span_2_of_6 {
		width:50%;
	}
	
	/* sub-navigation below page title */
	.sub-navigation {
		height:40px;
		text-align:center;
	}
	.sub-navigation img {
		z-index:9;
		top:-24px;
		right:10px;
		width:57px;
		height:auto;
	}
	.sub-navigation ul {
		display:block;
		position:absolute;
		z-index:8;
		width:100%;
		margin:0px auto;
		padding:0px;
	}
	.sub-navigation ul li {
		display:none;
		margin:0px;
		padding:10px;
		list-style:none;
		text-align:center;
		background:#04344E;
		border-bottom:1px solid #fff;
	
		-webkit-transition:background 300ms ease-out;
		-moz-transition:background 300ms ease-out;
		-o-transition:background 300ms ease-out;
		transition:background 300ms ease-out;
	}
	.sub-navigation ul li:first-child {
		display:block;	
	}
	.sub-navigation ul li:hover {
		background:#99BAD2;	
	}
	.sub-navigation ul li .fa {
		display:none;
		margin-left:8px;
		opacity:1;
	}
	.sub-navigation ul li:first-child .fa {
		display:inline-block;
	}
	.sub-navigation ul li a {
		font-size:16px;
		font-weight:400;
		display:block;
		width:100%;
	}
	.sub-navigation ul li:first-child a {
		font-weight:500;
	}
	.sub-navigation ul li a:first-child {
		opacity:1;
	}
	
	/* WordPress WYSIWYG Editor Styles */
	img.size-large,
	img.size-full,
	img.alignnone.size-large,
	img.alignnone.size-full,
	.wp-caption,
	.wp-caption img {
		margin-left:0px !important;
		padding-left:0px !important;
		margin-right:0px !important;
		padding-right:0px !important;
		width:100% !important;
		min-width:100% !important;
		max-width:100% !important;
		height:auto !important;
	}
}

/* mobile phones */
@media only screen and (max-width: 760px) {
	body {
		font-size:14px;
		line-height:22px;
	}
	
	.desktop-only,
	.tablet-portrait-only {
		display:none !important;
	}
	.mobile-only {
		display:block !important;
	}
	.hide-on-tablet-portrait {
		display:block !important;
	}
	
	/* header */
	header {
		height:75px;
	}
	header .col {
		margin:0px;
		width:50%;
		position:relative;
	}
	header .logo {
		width:110px;
		height:auto;
		padding:16px 0px 0px 20px;
	}
	header .language-search {
		display:none;
	}
	header .search-toggle {
		display:inline-block;
		position:absolute;
		top:0px;
		right:66px;
		height:75px;
		width:60px;
		text-align:center;
		padding-top:0px;
		font-size:10px;
	}
	header .search-toggle .open .fa.fa-search {
		display:inline-block;
		width:36px;
		margin-top:20px;
		padding:8px 0px;
		background:#2B8ABE;
		color:#fff;
		font-size:16px;
		text-align:center;
	
		-webkit-transition:background 300ms ease-out;
		-moz-transition:background 300ms ease-out;
		-o-transition:background 300ms ease-out;
		transition:background 300ms ease-out;
	}
	header .search-toggle .open:hover .fa.fa-search {
		background:#938056;
		cursor:pointer;
	}
	header .search-toggle .close {
		display:none;
	}
	header .menu-hamburger {
		position:absolute;
		top:0px;
		right:0px;
		font-size:10px;
		height:75px;
		width:60px;
		padding-top:0px;
	}
	header .menu-hamburger img,
	header .search-toggle img {
		width:32px;
		height:32px;
		padding-top:14px;
		margin:0px auto -4px auto;
	}
	
	/* nav menu */
	nav.menu {
		height:100vh;
	}
	nav.menu .language {
		right: 0px !important;
	}
	nav.menu .section.group {
		padding:55px 0px 20px 0px;
		max-width:auto;
	}
	nav.menu a {
		font-size:21px;
		line-height:25px;
		font-weight:400;
		display:block;
		padding:2px 20px 8px 20px;
		opacity:0.45;
		border-bottom:1px solid rgba(255,255,255,0.3);
	}
	nav.menu a.selected,
	nav.menu a:hover {
		opacity:1;
	}
	nav.menu a.selected {
		font-weight:500;
		border-bottom:1px solid rgba(255,255,255,0);
	}
	nav.menu a .fa {
		display:inline-block !important;
		margin-right:20px;
		margin-left:0px;
	}
	nav.menu ul.submenu {
		display:none;
		width:calc(100% - 40px);
		min-width:calc(100% - 40px);
		max-width:calc(100% - 40px);
		margin:0px 20px;
		padding:0px;
	}
	nav.menu ul li {
		padding-top:0px;
		padding-bottom:0px;
	}
	nav.menu ul li a {
		display:block;
		width:100%;
		font-size:17px;
		line-height:20px;
		font-weight:400;
		padding:6px 0px;
		opacity:0.45;
		border-bottom:none;
	}
	nav.menu ul li ul {
		margin-top:0px;
		margin-bottom:0px;
	}
	nav.menu ul li ul li:last-child {
		padding-bottom:18px;
	}
	nav.menu ul li ul li a {
		font-size:14px;
		line-height:18px;
		font-weight:400;
		padding:0px 20px;
		opacity:0.45;
		border-bottom:none;
	}
	nav.menu ul li a .fa {
		display:inline-block;
		width:18px;
		margin-left:0px;
	}
	nav.menu ul li ul {
		width:calc(100% - 40px);
		min-width:calc(100% - 40px);
		max-width:calc(100% - 40px);
		margin:6px 20px 0px 20px;
		padding:0px;
	}
	nav.menu .language {
		display:block;
		position:absolute;
		top:20px;
		right:20px;
		
		font-size:12px;
		line-height:14px;
		text-transform:uppercase;
	}
	nav.menu .language a {
		margin:0px;
		padding:0px;
		font-size:12px;
		line-height:14px;
		list-style:none;
		display:inline-block;
		text-decoration:none !important;
	}
	
	/* footer */
	footer .logo {
		width:150px;
		height:auto;
		padding:0px;
		margin:0px auto;
	}
	footer .text-right {
		text-align:center;
		padding-top:20px;
	}
	footer .page-links {
		font-size:7.5px;
		margin-top:-12px;
		margin-bottom:14px;
	}
	footer .footer-background {
		background-size:auto 100%;
		height:130px;
	}
	
	/* search menu */
	.menu-search {
		display:none;
		position:fixed;
		z-index:998;
		top:75px;
		left:0;
		width:calc(100% - 80px);
		background:#04344E;
		color:#fff;
		text-align:center;
		padding:18px 40px;
	}
	.menu-search table,
	.menu-search table tr,
	.menu-search table tr td {
		margin:0px;
		padding:0px;
		background:#177BC2;
		border:none;
	}
	.menu-search table {
		width:100%;
	}
	.menu-search input[type="text"] {
		-webkit-appearance:none;
		-moz-appearance:none;
		font-size:15px;
		line-height:40px;
		height:auto;
		width:100%;
		display:inline-block;
		padding-left:0px;
		padding-right:0px;
		margin:0px;
		font-weight:500;
		margin-left:0px;
		float:none;
	}
	.menu-search button,
	.menu-search button:hover {
		font-size:20px;
		line-height:40px;
		width:100%;
		height:auto;
		margin:0px;
		display:inline-block;
		text-align:center;
		float:none;
		
		-webkit-transition:background 300ms ease-out;
		-moz-transition:background 300ms ease-out;
		-o-transition:background 300ms ease-out;
		transition:background 300ms ease-out;
	}
	
	/* navigation menu */
	nav.menu {
		top:75px;
		min-height:0px;
	}
	
	/* centerpiece / hero */
	.centerpiece {
		margin-top:-570px;
		height:570px;
	}
	.centerpiece-background {
		height:570px;
	}
	.centerpiece-background {
		position: relative;	
	}
	.centerpiece,
	.centerpiece-background, 
	.centerpiece-container {
		background-size: auto 340px;
		background-position: center top;
	}
	.centerpiece .overlay,
	.centerpiece-background .overlay {
		position: absolute;
		bottom: 0;
		left: 0;
		height:50%;
		background: #404041;
	}
	.centerpiece-navigation {
		margin-top: -244px;
		margin-bottom: 244px;
		text-align: center;
	}
	.centerpiece-navigation .dot:first-child {
		margin-left: 4px;
	}
	.centerpiece h1 {
		font-size:22px;
		line-height:26px;
		width:100%;
		padding-left: 0;
		padding-bottom: 0;
		border: none;
	}
	.centerpiece .col {
		top: 0;
		padding-top: 30px;
		padding-left: 20px;
		padding-right: 20px;
		width: calc(100% - 40px);
	}
	.centerpiece .col .content {
		padding-left: 0;
		padding-right: 0;
	}
	.centerpiece .col .content {
		width: 100%;	
	}
	.centerpiece p {
		padding:0;
		font-size:14px;
		line-height:20px;
	}
	.centerpiece p a {
		color:#d0a73a;
		font-weight:600;
		text-transform:uppercase;
		
		-webkit-transition:color 300ms ease-out;
		-moz-transition:color 300ms ease-out;
		-o-transition:color 300ms ease-out;
		transition:color 300ms ease-out;
	}
	.centerpiece p a:hover {
		color:#0082C8;	
	}
	
	/* main content */
	.container .section.inside {
		max-width:calc(100% - 40px);
		padding-right:20px;
		padding-left:20px;
	}
	.main-content {
		max-width:calc(100% - 40px);
		padding-right:20px;
		padding-left:20px;
		padding-top:30px;
		padding-bottom:60px;
	}
	
	/* sidebar */
	.sidebar {
		display:none;
	}
	.content-right-of-sidebar {
		max-width:calc(100% - 40px);
		padding-right:20px;
		padding-left:20px;
		margin:0px;
	}
	
	/* news blocks/grid */
	.col.no-margin.span_1_of_4,
	.product-landing .col.no-margin.span_2_of_6,
	.news-blocks .col.no-margin.span_2_of_6 {
		width:50%;
	}
	
	/* page title centerpiece */
	.page-title {
		height:230px;
	}
	.page-title h1 {
		font-size:24px;
		line-height:30px;
		padding-top:140px;
	}
	.page-title.includes-subtitle h1 {
		padding-top:116px;
	}
	.page-title h2 {
		font-size:19px;
		line-height:25px;
		margin:16px auto 0px auto;
	}
	.page-title h1,
	.page-title h2 {
		text-shadow: 0px 0px 20px rgba(0, 0, 0, 1);
	}
	
	
	
	/* history */
	.timeline {
		display:none;
	}
	
	/* post listing (image left/right, content) */
	.post-listing .section .col {
		display:block;
		height:auto;
		min-height:200px;
	}
	.post-listing .section .col.image {
		display:block;
		width:100%;
		height:250px;
		margin:0px 0px 40px 0px;
		padding:0px;
	}
	.post-listing .section .col.span_2_of_5 {
		display:block;
		float:none;
		width:100%;
	}
	.post-listing .section .content {
		padding:20px;
		width:calc(100% - 40px);
	}
	
	/* blocks for grid listing */
	.news-blocks.events-listing {
		margin-top:0px;
	}
	.news-blocks .section.group {
		padding:0px;
	}
	.news-blocks .section.group .col {
		padding:0px;
		margin:0px;
	}
	.square-box .event h2,
	.square-box .event h2.smaller-title {
		font-size:16px;
		line-height:20px;
	}
	.square-box .event date.days {
		display:none;
	}
	.square-box .event p {
		display:none;
	}
	.square-box .category {
		padding:2px 6px;
		font-size:9px;
	}
	.square-box .right-angle-arrow {
		display:inline-block;
		position:absolute;
		top:0px;
		right:70px;
	}
	.square-box .right-angle-arrow:after {
		border-top:430px solid rgba(0,0,0,0.6);
		border-right:0 solid transparent;
		border-bottom:0 solid transparent;
		border-left:430px solid transparent;
	}
	
	/* ready to advance blade */
	.ready-to-advance .intro {
		text-align:center;
		width:calc(100% - 40px);
		max-width:calc(100% - 40px) !important;
	}
	.ready-to-advance .buttons {
		margin-bottom:12px;
	}
	.ready-to-advance .button {
		margin:12px 0px 8px 0px;
	}
	.ready-to-advance.small {
		width:calc(100% + 40px);
		max-width:calc(100% + 40px);
		margin-right:-20px;
		margin-left:-20px;
	}
	.ready-to-advance.small .intro {
		width:calc(100% - 40px);
		max-width:calc(100% - 40px);
		margin-right:auto;
		margin-left:auto;
	}
	.ready-to-advance .section.group.inside.inner-content {
		position:relative;
		width:100%;
		max-width:100%;
		padding-right:0px;
		padding-left:0px;
		overflow:hidden;
	}
	.ready-to-advance .tunnel-boring-machines {
		/*width:1000px !important;*/
		margin-left:0px;
		margin-rigth:0px;
		padding:0px;
	}
	.ready-to-advance .tunnel-boring-machines .col {
		opacity:0.4;
		margin-left:0px;
		margin-right:0px;
		width:20% !important;
	}
	.ready-to-advance .tunnel-boring-machines .col.visible {
		opacity:1;
	}
	.ready-to-advance .circle {
		width:80%;
		margin-left:auto;
		margin-right:auto;
		margin-top:12px;
	}
	.ready-to-advance .crossing-length ul li {
		font-size:14px;
		line-height:18px;
		padding:6px 0px;
	}
	.ready-to-advance .crossing-length ul li .title {
		display:inline-block;
		color:#545355;
		text-align:right;
		padding:10px 12px 10px 0px;
		width:calc(30% - 12px);
	}
	.ready-to-advance .crossing-length ul li .length {
		display:inline-block;
		width:calc(70% - 24px);
		text-align:left;
	}
	.ready-to-advance .crossing-length ul li .length span {
		display:inline-block;
	    position:relative;
		background:#1E7EC3;
		color:#fff;
		text-align:left;
		padding:10px 35px 10px 12px;
	}
	.ready-to-advance .crossing-length ul li .length.short span {
		width:calc(60% - 45px);
	}
	.ready-to-advance .crossing-length ul li .length.medium span {
		width:calc(80% - 45px);
	}
	.ready-to-advance .crossing-length ul li .length.long span {
		width:calc(100% - 45px);
	}
	.ready-to-advance .crossing-length ul li .length span:after {
		border-width:60px 0px 0px 60px;
	}
	.ready-to-advance .slider-previous,
	.ready-to-advance .slider-next {
		display:block;
		position:absolute;
		z-index:4;
		top:0px;
		width:20%;
		height:100%;
		background-size:22px 45px;
		background-repeat:no-repeat;
		background-position:center center;
		
		-webkit-transition:opacity 300ms ease-out;
		-moz-transition:opacity 300ms ease-out;
		-o-transition:opacity 300ms ease-out;
		transition:opacity 300ms ease-out;
	}
	.ready-to-advance .slider-previous:hover,
	.ready-to-advance .slider-next:hover {
		cursor:pointer;
		opacity:0.45;
	}
	.ready-to-advance .slider-next {
		background-image:url(../images/post-gallery-next.png);
		right:0px;
	}
	.ready-to-advance .slider-previous {
		background-image:url(../images/post-gallery-previous.png);
		left:0px;
	}
	
	/* product landing */
	.product-landing .section.group .col h3 {
		font-size:22px;
		line-height:28px;
		max-width:80%;
	}
	.product-landing .square-content span.contents {
	    padding-top:15%;
	}
	
	/* news slider */
	.news-slider {
		padding-top:0px;
		margin-top:0px;
	}
	.news-slider h1 {
		padding-top:18px;
		padding-bottom:15px;
	}
	.news-slider .image {
		margin-left:-20px;
		margin-right:-20px;
		width:calc(100% + 40px);
	}
	
	/* news landing */
	.news-landing .col.no-margin.span_4_of_6,
	.news-landing .col.no-margin.span_3_of_6,
	.news-landing .col.no-margin.span_2_of_6 {
		display:block;
		width:100%;
		float:none;
	}
	
	/* blog sidebar / categories */
	.blog-categories .contents {
		padding-left:0px;
	}
	
	/* simpleslect jquery select boxes */
	.simpleselect {
		width:100%;
	}
	.simpleselect .options {
		width:100%;
	}
	
	/* buttons */
	.buttons .button {
		display:block;
		width:calc(100% - 40px);
		margin-bottom:8px;
	}
	
	/* WordPress WYSIWYG Editor Styles */
	img.size-large,
	img.size-full,
	img.alignnone.size-large,
	img.alignnone.size-full,
	.wp-caption,
	.wp-caption img {
		margin-left:0px !important;
		padding-left:0px !important;
		margin-right:0px !important;
		padding-right:0px !important;
		width:100% !important;
		min-width:100% !important;
		max-width:100% !important;
		height:auto !important;
	}
}

/* small phone */
@media only screen and (max-width: 360px) {
	
	.centerpiece-navigation {
		display:none;
	}
		
}