@charset "utf-8";

/* CSS Document */


/************************************************************************************

REVISED STRUCTURE - June 11th, 2026

*************************************************************************************/

:root {
  page-margin: 30px;
  panel-gap: clamp(18px, 3vw, 30px);
}
  

body {
  margin: 0;
  line-height: 1.5;
  font-family: Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";
  background-color: #ffffff;
}



.site {
  width: min(100%, 1920px);
  margin: 0 auto;
  padding: 0 px;
  
}



/* Horonzontal Line - Full width of the page */

      .line {
            
			border: none;           /* Remove default border */
			
			align-self: stretch;		        
			
            background-color: black; /* Line color */
			
            width: 100%;            /* Full width of the page */
			
			height: 2px;				/* Line thickness */
			
            margin: 20px 0;         /* Space above and below */
        }


	

.basic_text {

	font-size: 12px;

	line-height: 22px;

	text-align: left;

	font-weight: normal;

	font-family: Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";

	color: #000;

}



.basic_text_color {

	font-size: 12px;

	line-height: 22px;

	font-weight: normal;

	font-family: Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";

	color: #09C;
	
	text-decoration: none;

}



.basic_text_italic {

	font-size: 12px;

	line-height: 22px;

	font: italic;

	font-weight: bold;

	font-family: Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";

	color: #000;
	


}



.H1 {

	font-size: 18px;

	line-height: 22px;

	font-style: normal;

	font-weight: bold;

	font-family: Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";

	text-align: left;

	color: #09C;
	
	

}



.H2 {

	font-size: 14px;

	line-height: 22px;

	font-style: normal;

	font-weight: bold;

	font-family: Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";

	text-align: left;

	color: #000;	
	
	

}



.H3 {

	font-size: 11px;

	line-height: 22px;

	font: italic;

	font-weight: bold;

	font-family: Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";

	text-align: left;

	color: #000;
	
	

}



.copyright_text {

	font-size: 10px;

	line-height: 22px;

	font-weight: normal;

	font-family: Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";

	color: #333;
	

}


.date {

	font-size: 12px;
	
	text-align: right;
	
	float: right;

	line-height: 22px;

	text-align: left;

	font-weight: normal;

	font-family: Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";

	color: #000;

}


.bottom-section {
  margin-bottom: 30 px;
  
}

.top-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  align-items: start;
  
}

.left-stack,
.right-stack {
 width: 100%;
 

}

.left-stack,
.right-stack,
.content-stack {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
  
}


.graphic-panel {
  position: relative;
  aspect-ratio: 1007 / 569;
  background: url('images/top_background_desktop_large.jpg');
  background-repeat: no-repeat;
  background-position: center, center;
  background-size: contain;
  width: 100%;
}

.graphic-content {
  display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px; /* keeps vertical spacing consistent */
}

.notice-row {
  display: flex;
  width: 50%;
  position: relative;
  grid-template-columns: repeat(2, minmax(0, 250px));
  justify-content: flex-start;
  gap: clamp(70px, 7vw, 90px);
  font-size: clamp(0.8rem, 1.2vw, 1.08rem);
  
}

.notice-row a.main-left-graphic-email {
  font-family: Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";
  color: #000;
  font-weight: bold;
}



/* Move left-controls about 20px higher */
.left-controls {
  position: relative;
  left: 50%;
  bottom: clamp(78px, 15%, 104px);
  width: min(88%, 800px);
  transform: translateX(-50%);
  display: flex;
  grid-template-columns: repeat(4, minmax(0, 166px));
  justify-content: center;
  gap: 0px;
  flex-wrap: nowrap;
}

.left-content {
  position: relative;
  left: 50%;
  bottom: clamp(78px, 15%, 104px);
  width: min(88%, 800px);
  transform: translateX(-50%);
  display: flex;
  grid-template-columns: repeat(4, minmax(0, 166px));
  justify-content: center;
  gap: 10px;
  flex-wrap: nowrap;
}



.icon-box {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 166/203;
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 200% 100%;
}
.icon-box:hover,
.icon-box:active {
  background-position: right top;
}


#icon-video {
  background-image: url("images/btn_video.jpg");
	
}

#icon-multimedia {
  background-image: url("images/btn_multimedia.jpg");
	
}

#icon-print {
  background-image: url("images/btn_print.jpg");
	
}

#icon-web {
  background-image: url("images/btn_web.jpg");
	
}

.service-header {
	display: flex;
	aspect-ratio: 893 / 167;
	background-repeat: no-repeat;
  	background-size: contain;
	width: min(100%, 900px);
	height: auto;
}

#video-header {
	background-image: url("images/header_video_large.jpg");
}
#multimedia-header {
	background-image: url("images/header_multimedia_large.jpg");
}
#print-header {
	background-image: url("images/header_print_large.jpg");
}
#web-header {
	background-image: url("images/header_web_large.jpg");
}
#blog-header {
	background-image: url("images/header_blog_large.jpg");
}
#contact-header {
	background-image: url("images/header_contact_large.jpg");
}

.home-btn {
  display: inline-block;
  margin-top: 20%;
  margin-left: -44%;
  width: 15%;
  height: 15%;
  aspect-ratio: 72/33;
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 200% 100%;
}
.home-btn:hover,
.home-btn:active {
  background-position: right top;
}

#icon-home-btn {
  background-image: url("images/Home_BTN.gif");
}

.video-wrapper {
	width: 100%;
    aspect-ratio: 16 / 9;
	
}


.video-wrapper iframe {
    display: block;        /* removes inline spacing issues */
    width: 100%;
    height: 100%;
}



.text-buttons {
    display: inline-flex;
    grid-template-columns: repeat(3, minmax(0, 200px));
    align-items: flex-start;
    flex-wrap: nowrap; /* keep in one row on desktop */
	
}


.menu-text-button {
  min-height: clamp(36px, 4vw, 46px);
  min-width: clamp(80px, 12vw, 200px);
  color: #09C;
  margin-left: 14%;
  font-family: Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";
  font-size: clamp(0.84rem, 1.1vw, 1rem);
  font-weight: bold;
  text-decoration: none;
}
.menu-text-button.hover {
  color: #09C;
  font-weight: bold;
  text-decoration: underline;
}




.left-content,
.bottom-section {
  padding: clamp(20px, 3vw, 30px);
  
}


.article {
 
}

.media-card {
  
 
  
}


.content-block {
  width: min(100%, 920px);
  
}

.full-width {
  width: 100%;
  padding-left: 30px;
  padding-rignt: 30px;
  
}




/************************************************************************************


/* global attributes  */

.main-left-graphic-email {
  font-family: Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";
  font-size: clamp(12px, 2vw, 18px);
  font-color: #000000;
  text-decoration: none;
  margin-top: 22%;
  margin-left: -15%;
  float: left;
}

.main-left-graphic-email.hover {
  font-family: Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";
  font-size: clamp(12px, 2vw, 18px);
  text-decoration: underline;
  color: #06C;
  font-weight: bold;
}


 



.btn_phone {

		float:left;

		display: block;

		margin-top:0px;

		width: 38px;

  		height: 40px;

		background: url('images/btn_phone.jpg') no-repeat 0 0;

	}

	.btn_phone:hover {

		  background-position: 0px -40px;

	}

	.btn_phone:active {

		  background-position: 0px -40px;

	}

	

.btn_email {

		float:left;

		display: block;

		margin-top:0px;

		position:absolute 178px;

		width: 40px;

  		height: 40px;

		background: url('images/btn_email.jpg') no-repeat 0 0;

	}

	.btn_email:hover {

		  background-position: 0px -40px;

	}

	

.btn_share {

		float:left;

		display: block;

		margin-top:0px;

		position:absolute 216px;

		width: 38px;

  		height: 40px;

		background: url('images/btn_share.jpg') no-repeat 0 0;

	}

	.btn_share:hover {

		  background-position: 0px -40px;

	}



	

.btn_linkedin {

		float:right;

		display: block;

		margin-top:0px;

		position:absolute 258px;

		width: 42px;

  		height: 40px;

		background: url('images/btn_linkedin.jpg') no-repeat 0 0;

	}

	.btn_linkedin:hover {

		  background-position: 0px -40px;

	}


	

	

.btn_rbm {

		float:left;

		display: block;

		margin-top:0px;

		width: 44px;

  		height: 50px;

		background: url('images/btn_rbm.jpg') no-repeat 0 0;

	}

	.btn_rbm:hover {

		  background-position: 0px -50px;

	}


	

.btn_links_linkedin {

		float:left;

		display: block;

		margin-top:0px;

		width: 44px;

  		height: 50px;

		background: url('images/btn_links_linkedin.jpg') no-repeat 0 0;

	}

	.btn_links_linkedin:hover {

		  background-position: 0px -50px;

	}

	

.btn_twitter {

		float:left;

		display: block;

		margin-top:0px;

		width: 44px;

  		height: 50px;

		background: url('images/btn_twitter.jpg') no-repeat 0 0;

	}

	.btn_twitter:hover {

		  background-position: 0px -50px;

	}



	

.btn_youtube {

		float:left;

		display: block;

		margin-top:0px;

		width: 44px;

  		height: 50px;

		background: url('images/btn_youtube.jpg') no-repeat 0 0;

	}

	.btn_youtube:hover {

		  background-position: 0px -50px;

	}



	

.btn_pintrest {

		float:left;

		display: block;

		margin-top:0px;

		width: 44px;

  		height: 50px;

		background: url('images/btn_pintrest.jpg') no-repeat 0 0;

	}

	.btn_pintrest:hover {

		  background-position: 0px -50px;

	}



	

.btn_rbproductions {

		float:left;

		display: block;

		margin-top:0px;

		width: 44px;

  		height: 50px;

		background: url('images/btn_rbproductions.jpg') no-repeat 0 0;

	}

	.btn_rbproductions:hover {

		  background-position: 0px -50px;

	}




.btn_meta {

		float:left;

		display: block;

		margin-top:0px;

		width: 44px;

  		height: 50px;

		background: url('images/btn_meta.jpg') no-repeat 0 0;

	}

	.btn_meta:hover {

		  background-position: 0px -50px;

	}




.btn_makerworld {

		float:left;

		display: block;

		margin-top:0px;

		width: 44px;

  		height: 50px;

		background: url('images/btn_makerworld.jpg') no-repeat 0 0;

	}

	.btn_makerworld:hover {

		  background-position: 0px -50px;

	}


.btn-menu-contact {

	font-size: 12px;

	line-height: 22px;

	font-weight: normal;

	font-family: Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";

	color: #09C;
	
	text-decoration: none;

}

a {
    text-decoration: none;
	
    font-weight: bold;

	font-family: Gotham, "Helvetica Neue", Helvetica, Arial, "sans-serif";

	color: #09C;
	
	text-decoration: none;
}

a.hover {
	text-decoration: underline;
}

a.visited {
	text-decoration: underline;
}




/************************************************************************************

MEDIA QUERIES

*************************************************************************************/



/* MEDIA QUERIE - 1420px */


@media (max-width: 1420px) {
  .top-section {
    grid-template-columns: 1fr;
  }
	
.video-wrapper {
	max-width: 100%;
	max-height: inherit;
	}
	
.icon-box {
		width: 166px;
		height: 203px;
	}
	
.left-stack {
		width: 100%;
	}

.content-block {
		width: 100%;
	}

	
 .right-stack {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
	background-color: #ffffff;
	width: 100%;
  }
	
.main-left-graphic-email {
  margin-left: -10%;
  float: left;
}

.media-card {
		padding-left: 30px;
	    padding-right: 30px;
	}

.left-controls {
	grid-template-columns: 4fr;
	margin-left: -28%;
}
	
	
	
/* MEDIA QUERIE - 1100px */
	

@media (max-width: 1100px) {
  .top-section {
    grid-template-columns: 1fr;
	margin-top: -2%;
  }
	
.video-wrapper {
	max-width: 100%;
	max-height: inherit;
	}
	
.icon-box {
		width: 166px;
		height: 203px;
	}

	
.main-left-graphic-email {
  margin-left: -12%;
  float: left;
}


.left-controls {
	grid-template-columns: 2fr;
}
	
.left-content {
   margin-top: 10%;
  }

 .right-stack {
    grid-template-columns: 1fr;
	background-color: #ffffff;
	width: 100%;
  }

 .media-card {
		padding-left: 30px;
	    padding-right: 30px;
	}
	
}

