/******************************************************************
Site Name: MDR Duo Interactive Product Demo | Alpha Technologies
Stylesheet: Main Stylesheet
******************************************************************/
@import url(../css/bootstrap.min.css);
/******************************************************************
Variables
******************************************************************/
* {
  --primary: #003D7A;
  --secondary: #D0DF00;
  --white: #FFFFFF;
  --black: #000000;
  --shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.25);
}

body {
  box-sizing: border-box;
}

@font-face {
  font-family: "Lato";
  font-weight: 100;
  font-style: normal;
  src: url("../fonts/Lato/Lato-Thin.ttf");
}

@font-face {
  font-family: "Lato";
  font-weight: 100;
  font-style: italic;
  src: url("../fonts/Lato/Lato-ThinItalic.ttf");
}

@font-face {
  font-family: "Lato";
  font-weight: 300;
  font-style: normal;
  src: url("../fonts/Lato/Lato-Light.ttf");
}

@font-face {
  font-family: "Lato";
  font-weight: 300;
  font-style: italic;
  src: url("../fonts/Lato/Lato-LightItalic.ttf");
}

@font-face {
  font-family: "Lato";
  font-weight: 400;
  font-style: normal;
  src: url("../fonts/Lato/Lato-Regular.ttf");
}

@font-face {
  font-family: "Lato";
  font-weight: 400;
  font-style: italic;
  src: url("../fonts/Lato/Lato-Italic.ttf");
}

@font-face {
  font-family: "Lato";
  font-weight: 700;
  font-style: normal;
  src: url("../fonts/Lato/Lato-Bold.ttf");
}

@font-face {
  font-family: "Lato";
  font-weight: 700;
  font-style: italic;
  src: url("../fonts/Lato/Lato-BoldItalic.ttf");
}

@font-face {
  font-family: "Lato";
  font-weight: 900;
  font-style: normal;
  src: url("../fonts/Lato/Lato-Black.ttf");
}

@font-face {
  font-family: "Lato";
  font-weight: 900;
  font-style: italic;
  src: url("../fonts/Lato/Lato-BlackItalic.ttf");
}


/* CUT FORMS */

/******************************************************************
Base Stylesheet
******************************************************************/
/*****************************************
** Base Styling 
*****************************************/
body {
  /* font-family: Arial, sans-serif; */
  font-family: "Lato", Arial, sans-serif;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  /* background-color: #f4f4f4; */
  background-color: #000;
  -webkit-transition: background-color .24s ease-in-out;
  transition: background-color .24s ease-in-out;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.link {
  cursor: pointer;
}

img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  border: none;
}

.centered {
  text-align: center;
}

.pointer {
  cursor: pointer;
}

/*****************************************
** SVG Container + Functionality
*****************************************/
.svg-wrapper {
  width: 100vw;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.svg-container {
  display: block;
  position: relative;
  width: 3840px;
  height: 2160px;
  box-shadow: 0 0 12px 0px rgba(0, 0, 0, 0.5);
  overflow: hidden;
}


/*****************************************
** Loading Screen
*****************************************/
#cover {
  background: url(../images/loading.svg) no-repeat scroll center center var(--white);
  background-size: 25%;
  position: absolute;
  width: 100vw;
  height: 100vh;
  z-index: 100;
}


/*****************************************
** Home Screen - Title Bar
*****************************************/
.title {
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  background: var(--primary);
  color: var(--white);
  width: 33.3333%;
  height: 13%;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 95px;
  font-weight: 800;
  text-transform: uppercase;
}


/*****************************************
** Home Screen - Touchpoints
*****************************************/
svg.home ~ .touchpoints {
  position: absolute;
  z-index: 5;
  top: 0;
  right: 0;
  width: 66.6667%;
  height: 100%;
}

svg[class*="modal"] ~ .touchpoints {
  display: none;
}

.touchpoints > .touchpoint {
  background-image: url('../images/icon-plus.svg');
  color: var(--black);
}

.touchpoint {
  aspect-ratio: 1 / 1;
  background-color: var(--secondary);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 60%;
  width: 120px;
  max-width: 120px;
  font-size: 1px;
  text-indent: -9999px;
  cursor: pointer;
  border-radius: 50%;
}


/*****************************************
** Modal Content & Copy
*****************************************/
.content {
  position: absolute;
  z-index: 10;
  left: 0;
  top: 13%;
  background: var(--white);
  color: var(--black);
  width: 33.3333%;
  display: flex;
  height: 71%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4% 1%;
}

svg ~ .content .copy {
  height: 0;
  opacity: 0;
  transition: 300ms ease all;
}

svg.home ~ .content .copy,
svg[class*="modal"] ~ .content .copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: auto;
  width: 100%;
  opacity: 1;
}

.content .copy .heading h3 {
  font-size: clamp(36px, 2.2vw, 84px);
  line-height: 1.15;
  font-weight: 800;
  margin-bottom: 0;
  text-align: center;
  color: var(--primary);
}

.content .copy .divider {
  width: 25%;
  height: 1vh;
  margin: 4% 0;
  background: var(--secondary);
}

.content .copy .text-area {
  font-size: clamp(24px, 1.4vw, 54px);
  line-height: 1.35;
  width: 88%;
  text-align: center;
  overflow-wrap: anywhere;
  color: var(--black);
}

.logo {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 10;
  width: 33.3333%;
  height: 16%;
  background: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2% 6%;
}

.logo img {
  width: 75%;
  max-width: 780px;
}


/*****************************************
** Inner Modal Controls
*****************************************/
svg ~ .controls {
  opacity: 0;
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 3.5%;
  padding: 0 0 4% 2.8%;
  z-index: 1;
  right: 0;
  width: 66.6667%;
  height: 100%;
  bottom: 0;
  transition: 500ms ease opacity;
}

svg[class*="modal"] ~ .controls {
  opacity: 1;
}

.controls #home {
  background-image: url('../images/icon-home.svg');
  background-size: 80%;
  margin-left: -10vh;
}

svg[class*="modal"] ~ .controls #home {
  margin-left: 0;
  transition-property: margin-left;
  transition-timing-function: ease;
  transition-duration: 200ms;
  transition-delay: 400ms;
}

.controls #replay {
  background-image: url('../images/icon-replay.svg');
  background-size: 80%;
  margin-left: -10vh;
}

svg[class*="modal"] ~ .controls #replay {
  margin-left: 0;
  transition-property: margin-left;
  transition-timing-function: ease;
  transition-duration: 300ms;
  transition-delay: 400ms;
}

.controls #next {
  /* display: none; */ /** TODO: hide button if client returns with feedback and we can't get modal-to-modal transitions **/
  background-image: url('../images/icon-next.svg');
  background-size: 80%;
  margin-left: -10vh;
}

svg[class*="modal"] ~ .controls #next {
  margin-left: 0;
  transition-property: margin-left;
  transition-timing-function: ease;
  transition-duration: 400ms;
  transition-delay: 400ms;
}


/*****************************************
** Animation
*****************************************/
.ani-breathe {
  animation: breathe infinite 3s;
}

@keyframes breathe {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(.9);
  }
  100% {
    transform: scale(1);
  }
}

@-moz-keyframes breathe {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(.9);
  }
  100% {
    transform: scale(1);
  }
}

@-webkit-keyframes breathe {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(.9);
  }
  100% {
    transform: scale(1);
  }
}


/*****************************************
** Video Transition Player
*****************************************/
#video-player-container {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 66.6667%;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
}

#video-player-container.play {
  opacity: 1;
  z-index: 1;
}

#video-player {
  width: 100%;
  height: 100%;
  object-fit: cover;
}


/*****************************************
** Fullscreen Toggle
*****************************************/

#btnFullscreen {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 2vh;
  height: auto;
  aspect-ratio: 1 / 1;
  z-index: 15;
  padding: .5vh;
}

#btnFullscreen img {
  display: none;
}

#btnFullscreen img.show {
  display: inherit;
}


/*****************************************
** SVG Styling + Modals
*****************************************/
svg {
  position: absolute;
  top: 0;
  right: 0;
  width: 66.6667%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  -webkit-transition: background-image 750ms ease-in-out;
  transition: background-image 500ms ease-in-out;
}

svg.contained {
  width: 66.6667%;
  height: 100%;
}

svg.home {
  background-image: url("../images/bg-home.jpg");
}
svg.modal-comparision {
  background-image: url("../images/bg-comparision.jpg");
}
svg.modal-motor {
  background-image: url("../images/bg-motor.jpg");
}
svg.modal-output {
  background-image: url("../images/bg-output.jpg");
}
svg.modal-pressuretransducer {
  background-image: url("../images/bg-pressuretransducer.jpg");
}
svg.modal-roller {
  background-image: url("../images/bg-roller.jpg");
}
svg.modal-sensors {
  background-image: url("../images/bg-sensors.jpg");
}

svg.modal-screen {
  background-image: url("../images/bg-screen.jpg");
}
