/* ----------------   IN BETWEEN  ------------------ */
/* ----------------   IN BETWEEN  ------------------ */
/* ----------------   IN BETWEEN  ------------------ */



.in_between {
	display: flex;
	flex-direction: row;
	background-repeat: no-repeat;
	position: relative;
	order: 2;
	float: right;
	width: 100%;
	height: auto;
	background-image: -webkit-linear-gradient(0deg, rgba(0,0,0,1.00) 41%, rgba(255,255,255,1.00) 41%, rgba(255,255,255,1.00) 100%);
	background-image: -moz-linear-gradient(0deg, rgba(0,0,0,1.00) 41%, rgba(255,255,255,1.00) 41%, rgba(255,255,255,1.00) 100%);
	background-image: -o-linear-gradient(0deg, rgba(0,0,0,1.00) 41%, rgba(255,255,255,1.00) 41%, rgba(255,255,255,1.00) 100%);
	background-image: linear-gradient(90deg, rgba(0,0,0,1.00) 41%, rgba(255,255,255,1.00) 41%, rgba(255,255,255,1.00) 100%);
}

.in_between_mountain {
	width: 100%;
	z-index: 50;
	padding-bottom: 0px;
	position: relative;
}
.footer_top_mountain {
	width: 100%;
	height: auto;
	background-repeat: no-repeat;
	background-size: 100% auto;
	z-index: 100;
	overflow-x: hidden;
	margin-bottom: 3px;
}
.the_sun {
	width: 80px;
	height: 80px;
	background: white;
	z-index: 10;
	position: absolute;
	border-radius: 50%;
	margin-left: 36px;
	-webkit-box-shadow: 0 0 30px 0 #FFFFFF;
	box-shadow: 0 0 30px 0 #FFFFFF;
	margin-top: -4px;
}
/* ---------------- Footer Footer Footer ------------------ */
/* ---------------- Footer Footer Footer ------------------ */
/* ---------------- Footer Footer Footer ------------------ */



.footer_container {
	display: flex;
	flex-direction: column;
	background-repeat: no-repeat;
	width: 100%;
	z-index: 120;
	position: relative;
	overflow: hidden;
	padding: 10px;
	background: black;
}
.footer_content {
	width: 100%;
	align-content: center;
	z-index: 125;
	position: relative;
	clear: both;
	overflow: hidden;
}
/*  Footer Content Flex Box    */

.footer_main_content {
	display: flex;
	flex-direction: row;
	width: 98%;
	height: auto;
	position: relative;
	overflow-x: hidden;
	z-index: 150;
	padding: 15px;
	color: white;
}
/*  Footer Content Contact Us Start  */


.footer_content_box01 {
	width: 30%;
	height: auto;
	margin: 3px auto;
	background: black;/*	border: solid thin #00BFF0;
*/
}
.footer_content_box01_01 {
	background: black;
	width: 90%;
	height: 50px;
	margin: 10px auto;
	font-family: "Roboto", sans-serif;
	font-size: 2em;
}
.footer_content_box01_01 xx {
	background-color: white;
	color: black;
	padding: 2px;
	margin-left: 2px;
	margin-right: 2px;
	font-weight: 600;
}
.footer_contact_us_logo {
}
.footer_content_box01_02 {
	width: 90%;
	height: auto;
	margin: 10px auto;
	margin-bottom: 30px;
}
.footer_adress {
	font-family: "Lato", sans-serif;
	text-align: left;
	width: 100%;
	text-decoration: none;
	list-style: none;
	padding-left: 10px;
}
.footer_content_box01_03 {
	width: 90%;
	height: 50px;
	margin: 10px auto;
	display: flex;
	flex-direction: row;
	border-style: solid;
	border-width: 0px 0 0 0;
	padding-top: 5px;
}
.footer_social {
	width: 22%;
	height: auto;
	margin: auto;
}
.footer_content_title {
	font-family: "Roboto", sans-serif;
	color: #00BFF0;
	font-size: 1.5em;
	font-weight: 600;
}
.gradient_line_separator {
	border-style: solid;
	border-width: 1px 0 0 0;
	border-image: linear-gradient(to left, #000000 10%, #00BFF0 25%, #00BFF0 75%, #000000 90%) 1 stretch;
	margin: 10px 0;
	height: 3px;
}
/*  Footer Content Contact Us End  */

  /*  Footer Content Our Services   */


.footer_content_box02 {
	width: 24%;
	height: 250px;
	margin: 3px auto;
}
.footer_content_box02 li {
	padding: 5px 0;
	font-size: 1.2em;
	font-weight: 100;
}
.footer_links_styles {
	padding-left: 20px;
	color: white;
}
/* unvisited link */
a:link {
	color: white;
}
/* visited link */
a:visited {
	color: grey;
}
/* mouse over link */
a:hover {
	color: #00BFF0;
}
/* selected link */
a:active {
	color: blue;
}
/*  Footer Content Our Services   */


/*  Footer Content Latest Work  */


.footer_content_box03 {
	width: 24%;
	height: 210px;
	margin: 3px auto;
}
.latest_work_content {
	width: 90%;
	height: 90%;
	display: flex;
	flex-direction: column;
	margin: auto;
	flex-wrap: wrap;
}
.latest_work_content_box01, .latest_work_content_box02, .latest_work_content_box03, .latest_work_content_box04 {
	width: 99%;
	height: 99%;
	margin: auto;
	position: relative;
}
.latest_work_img_container {
	width: 80%;
	height: 80%;
	position: relative;
	top: 50%;
	left: 50%;
	transform: translate( -50%, -50%);
	vertical-align: center;
	background: white;
}
.latest_work_img_container::after {
	display: block;
	width: 30px;
	height: 30px;
	content: ' ';
	position: absolute;
	top: -10px;
	left: -10px;
	border-width: 1px 0 0 1px;
	border-color: #00BFF0;
	border-style: solid;
}
.latest_work_img_container::before {
	display: block;
	width: 30px;
	height: 30px;
	content: ' ';
	position: absolute;
	bottom: -10px;
	right: -10px;
	border-width: 0 1px 1px 0;
	;
	border-color: #00BFF0;
	border-style: solid;
}
.latest_work_img {
	height: 100%;
	width: auto;
	background-size: contain;
	margin: auto;
	position: absolute;
	margin-left: 50%;
	transform: translateX(-50%);
}
/*  Footer Content Latest Work  */



.footer_content_box04 {
	width: 24%;
	height: 220px;
	margin: 3px auto;
}
.logo_footer {
	width: 100%;
	height: 100%;
}
/*  Footer Content Flex Box  End   */



.footer_moving_mountain_wrapper {
	overflow: hidden;
	z-index: 20;
}
.footer_moving_mountain_back {
	background: url( ../Images/mountain_back.png);
	background-position: bottom;
	vertical-align: bottom;
	background-repeat: repeat-x;
	position: absolute;
	height: 200px;
	width: 5076px;
	animation: slide 70s linear infinite;
	overflow: hidden;
}
.footer_moving_mountain_front {
	background: url( ../Images/mountain_front.png);
	background-position: bottom;
	background-repeat: repeat-x;
	float: left;
	height: 200px;
	width: 5076px;
	animation: slide 40s linear infinite;
	overflow: hidden;
	margin-bottom: 29px;
}
 @keyframes slide {
 0% {
 transform: translate3d(0, 0, 0);
}
 100% {
 transform: translate3d(-1692px, 0, 0);
}
}
.flying_superhero {
	width: 170px;
	height: 150px;
	left: 100px;
	position: absolute;
	z-index: 300;
	margin-top: -29px;
}
/* Footer Under the line      */


.footer_under_the_line {
	display: flex;
	flex-direction: row;
	background-color: black;
	width: 100%;
	height: auto;
	border-width: 1px 0 0 0;
	border-image: linear-gradient(to left, #000000 10%, #00BFF0 25%, #00BFF0 75%, #000000 90%) 1 stretch;
	padding: 5px;
}
.under_the_line_box_01, .under_the_line_box_02, .under_the_line_box_03 {
	width: 32%;
	margin: 5px auto;
}
.copyright {
	color: white;
	font-size: 1em;
	font-family: "Roboto", sans-serif;
	font-style: normal;
	font-variant: normal;
	width: auto;
	height: 50px;
	padding: 15px;
	margin: auto;
	text-align: center;
	white-space: nowrap;
}
.copyright c {
	background: white;
	color: black;
	padding: 2px;
	border: solid thin white;
	margin-left: 2px;
}
.copyright v {
	border: solid thin white;
	padding: 2px;
	margin-left: -4px;
	white-space: nowrap;
}
.designed {
	color: white;
	font-size: 1em;
	font-family: "Roboto", sans-serif;
	font-style: normal;
	font-variant: normal;
	width: 215px;
	height: 50px;
	padding-top: 15px;
	padding-right: 7px;
	padding-left: 15px;
	padding-bottom: 2px;
	margin: auto;
}
.new_zealand {
	width: 166px;
	height: 50px;
	color: white;
	padding: 15px;
	margin: auto;
	align-content: right;
}
.footer_sb_logo {
	background-image: url(../Images/SB_logo_footer.png);
	background-size: contain;
	background-repeat: no-repeat;
	height: 40px;
	width: 120px;
	float: right;
	margin-top: -11px;
}
.flag {
	background-image: url(../Images/nz_flag.png);
	background-size: contain;
	background-repeat: no-repeat;
	width: 50px;
	height: 20px;
	float: left;
	margin-top: -4px;
}
.copyright w, .designed w, .new_zealand w {
	color: #00BFF0;
}
.footer_quotes {
	color: #00BFF0;
	margin: auto;
	text-align: center;
	width: 60%;
	font-size: 2em;
	border-image: linear-gradient(to left, #000000 10%, #00BFF0 25%, #00BFF0 75%, #000000 90%) 1 stretch;
	text-shadow: 0 0 31px #FFFFFF;
}

/* Medium devices (landscape tablets, 930px and down) */
/* Medium devices (landscape tablets, 930px and down) */
/* Medium devices (landscape tablets, 930px and down) */


@media only screen and (max-width: 930px) {
.in_between {
	background-image: none;
}
}

/* Extra small devices (phones, 800px and down) */
 /* Extra small devices (phones, 800px and down) */
 /* Extra small devices (phones, 800px and down) */


@media only screen and (max-width: 800px) {
	
.footer_container {
	width: 100%;	
}
.footer_main_content {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	width: 98%;
	height: auto;
	position: relative;
	overflow-x: hidden;
	z-index: 150;
	padding: 5px;
	color: white;
	margin-bottom: 20px
}
.footer_content_box01, .footer_content_box02, .footer_content_box03, .footer_content_box04 {
	margin: auto;
	width: 45%;
	height: 250px;
}
.flying_superhero {
	width: 170px;
	height: 150px;
	left: 38px;
	position: absolute;
	z-index: 300;
	margin-top: -4px;
	
	
}
	
	
	.footer_content_box03 {
		
		display: none;
		
		
	}
	
}

/* Extra small devices (phones, 660px and down) */
 /* Extra small devices (phones, 660px and down) */
 /* Extra small devices (phones, 660px and down) */




/* Small devices (portrait tablets and large phones, 660px and down) */
@media only screen and (max-width:660px) {
.footer_container {
}
.footer_under_the_line {
	flex-direction: column;
}
}

/* Extra small devices (phones, 600px and down) */
 /* Extra small devices (phones, 600px and down) */
 /* Extra small devices (phones, 600px and down) */


@media only screen and (max-width: 600px) {
	

.footer_container {
	overflow: hidden;
}
.under_the_line_box_01,  .under_the_line_box_02, .under_the_line_box_03 {
	width: auto;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 2px;
	padding-top: 0px;
}
.footer_main_content {
	flex-direction: column;
}
.in_between {
	background: black;
}
.footer_content_box01 {
	width: 90%;
}
.footer_content_box02 {
	width: 90%;
}
.footer_content_box03 {
	width: 90vw;
	height: 90vw;
}
.footer_content_box04 {
	width: 90%;
}
.footer_under_the_line {
	flex-direction: column;
	margin: 10px auto;
	height: 100%;
	width: 90%;
}
.new_zealand {
	margin-top: 2px;
	width: 158px;
	align-content: center;
	height: 50px;
}
.designed {
	margin-top: 2px;
	width: 214px;
	align-content: center;
	height: 50px;
}
.copyright {
	margin-top: 2px;
	width: 100%;
	align-content: center;
}
.copyright p {
	font-size: 0.9em;
	margin-top: 6px;
}
	
		
.the_sun {
	width: 50px;
	height: 50px;
	background: white;
	z-index: 10;
	position: absolute;
	border-radius: 50%;
	margin-left: 36px;
	-webkit-box-shadow: 0 0 30px 0 #FFFFFF;
	box-shadow: 0 0 30px 0 #FFFFFF;
	margin-top: -4px;
}
	

}

/* Small devices (portrait tablets and large phones, 400px and up) */
@media only screen and (max-width: 400px) {
	

.footer_container {
	overflow: hidden;
}
.under_the_line_box_01,  .under_the_line_box_02,  .under_the_line_box_03 {
	margin: 2px auto;
}
.footer_under_the_line {
	border-image: linear-gradient(to left, #000000 10%, #00BFF0 25%, #00BFF0 75%, #000000 90%) 1 stretch;
	padding: 5px;
	margin: 5px auto;
}
	


}

/*   ---------------------------------------------    */
/*   ---------------------------------------------    */
/*   ---------------------------------------------    */




/* Small devices (portrait tablets and large phones, 800px and up) */
@media only screen and (max-width: 800px) {
}


 /* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 600px) {
...
}

/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) {
...
}

/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {
...
}

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {
...
}

/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1200px) {
...
}
