/* Missing Piece Only */

.watkins_puzzle_box {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 400px;
  text-shadow: 3px 3px 5px rgba(0,0,0,0.3) !important;
  aspect-ratio: 1 / 1;
}

.watkins_puzzle_center {
  width: 400px;
  background: url('../images/missing_piece-inner_shadow-400.png') no-repeat center center;
  background-size: contain;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
}

.watkins_puzzle_center, .watkins_puzzle_center a {
  color: var(--bs-green);
}

.watkins_puzzle_center h1 {
  text-align: center;
  color: var(--bs-green);
  font-size: 1.5em !important;
}

.watkins_puzzle_center h1 a {
  text-decoration: none;
}

.watkins_puzzle_free_quote_h1 a {
    color: var(--bs-green) !important;
    font-size: 1.5rem;
    text-decoration: underline !important;
}

.watkins_puzzle_free_quote_h1 a:hover {
    color: var(--bs-purple);
}

.watkins_puzzle_tag {

}


.watkins_puzzle_box .typewrite {

}


.watkins_puzzle_box .wrap {

}


.watkins_puzzle_free_quote {
  position: absolute;
  bottom: 0;
  right: 0;
}


/* Non-animated Puzzle */

.watkins_puzzle_container {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 400px;
  height: 520px;
  text-shadow: 3px 3px 5px rgba(0,0,0,0.3) !important;
}

.watkins_puzzle_middle {
  width: 300px;
  height: 300px;
  background: url('../images/service_logos/watkins_missing_piece-diag.png') no-repeat center center;
  background-size: contain;
  display: flex;
  align-items: center;
  justify-content: center;
}

.watkins_puzzle_tagline {
  text-align: center;
  font-family: "corinthia_bold",sans-serif;
  color: white;
  font-size: 1.2em;
  position: absolute;
  transform: rotate(-45deg);
  top: 50%;
  left: 50%;
  margin-left: -195px;
  margin-top: -105px;
}

.watkins_puzzle_quote_link {
  text-align: center;
  position: absolute;
  transform: rotate(-45deg);
  top: 50%;
  left: 50%;
  margin-left: 100px;
  margin-top: 20px;
}

.watkins_puzzle_quote_link a {
  color: yellow !important;
  text-decoration: none;
}

.watkins_puzzle_middle a {
  color: var(--bs-green);
}

.watkins_puzzle_middle h1 {
  text-align: center;
  color: var(--bs-green);
  font-size: 1.5em !important;
}

.watkins_puzzle_middle h1 a {
  text-decoration: none;
}

.watkins_puzzle_middle .green_button {
  font-family: sans-serif;
  font-size: 1em;
}

.watkins_puzzle_piece_design {
  position: absolute;
  top: 50px;
  left: 0px;
  width: 100px;
  height: 100px;
}

.watkins_puzzle_piece_websites {
  position: absolute;
  top: 0px;
  left: 50%;
  margin-left: -50px;
  width: 100px;
  height: 100px;
}

.watkins_puzzle_piece_marketing {
  position: absolute;
  top: 50px;
  right: 0px;
  width: 100px;
  height: 100px;
}

.watkins_puzzle_piece_signs {
  position: absolute;
  bottom: 50px;
  left: 0px;
  width: 100px;
  height: 100px;
}

.watkins_puzzle_piece_payments {
  position: absolute;
  bottom: 0px;
  left: 50%;
  margin-left: -50px;
  width: 100px;
  height: 100px;
}

.watkins_puzzle_piece_consulting {
  position: absolute;
  bottom: 50px;
  right: 0px;
  width: 100px;
  height: 100px;
}



/* Puzzle Animation */

.puzzle_container {
	position: relative;
	height: calc( .54 * 750px );
	width: calc( .54 * 750px );
  	margin-left: auto;
  	margin-right: auto;
	overflow: hidden;
}

.missing_piece {
	width: calc( .5 * 300px );
	height: calc( .5 * 300px );
	margin-top: calc( .5 * -150px );
	margin-left: calc( .5 * -150px );
	position: absolute;
	top: 50%;
	left: 50%;
	background-image: url('/images/watkins_missing_piece-350.png');
	background-repeat: no-repeat;
	background-size: contain;
	display: grid;
    place-items: center;
}

.missing_piece h1, .missing_piece h1 a {
    font-size: .9em;
    margin-top: calc( .5 * -50px );
    margin-right: calc( .5 * 25px );
    color: #275338;
    text-shadow: none;
    text-decoration: none;
}

ul.missing_parent {
	margin-left: calc( .5 * -172px );
    margin-top: calc( .5 * -140px );
    width: calc( .5 * 300px );
    height: calc( .5 * 300px );
    display: grid;
    place-items: center;
    position: absolute;
    top: 50%;
    left: 50%;
    list-style-type: none;
    transform-origin: center;
	-webkit-animation: orbit 15s linear infinite;
    animation: orbit 15s linear infinite;
}

ul.missing_parent:hover, ul.missing_parent:hover * {
    -webkit-animation-play-state: paused;
	animation-play-state: paused;
}

.puzzle_piece {
    width: calc( .5 * 184px );
    height: calc( .5 * 130px );
    margin-top: calc( .5 * -90px );
    margin-left: calc( .5 * -90px );
    position: absolute;
    top: 50%;
    left: 50%;
    transform: rotate(var(--angle)) translate( calc( .5 * 280px )) rotate(calc(-1 * var(--angle)));
    background-size: contain;
    perspective: 1000px;
    display: grid;
    place-items: center;
}

.puzzle_piece_inner a {
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
	color: transparent;
}

.puzzle_piece_inner {
	display: block;
	width: 100%;
	height: 100%;
	background-image: url('/images/puzzle_lighter_bg_sprite.png');
	background-repeat: no-repeat;
	background-size: 100% auto;
	filter: drop-shadow(-1px -1px 0 rgba(255,255,255,0.6)) drop-shadow(2px 3px 5px black);
	-webkit-animation: orbit 15s linear reverse infinite;
	animation: orbit 15s linear reverse infinite;
}

.design {
	--angle: 60deg;
}

.design .puzzle_piece_inner {
	background-position: 0 0px;
}

.design .puzzle_piece_inner:hover {
	background-position: 0 calc( .5 * -130px );
}

.websites {
	--angle: 120deg;
}

.websites .puzzle_piece_inner {
	background-position: 0 calc( .5 * -260px );
}

.websites .puzzle_piece_inner:hover {
	background-position: 0 calc( .5 * -390px );
}

.marketing {
	--angle: 180deg;
}

.marketing .puzzle_piece_inner {
	background-position: 0 calc( .5 * -520px );
}

.marketing .puzzle_piece_inner:hover {
	background-position: 0 calc( .5 * -650px );
}

.signs {
	--angle: 240deg;
}

.signs .puzzle_piece_inner {
	background-position: 0 calc( .5 * -780px );
}

.signs .puzzle_piece_inner:hover {
	background-position: 0 calc( .5 * -910px );
}

.payments {
	--angle: 300deg;
}

.payments .puzzle_piece_inner {
	background-position: 0 calc( .5 * -1040px );
}

.payments .puzzle_piece_inner:hover {
	background-position: 0 calc( .5 * -1170px );
}

.consulting {
	--angle: 360deg;
}

.consulting .puzzle_piece_inner {
	background-position: 0 calc( .5 * -1300px );
}

.consulting .puzzle_piece_inner:hover {
	background-position: 0 calc( .5 * -1430px );
}

/* Puzzle Keyframes */

@-webkit-keyframes orbit {
	100% {
		transform: rotate(360deg);
	}
}

@keyframes orbit {
	100% {
		transform: rotate(360deg);
	}
}


@-webkit-keyframes throb {
	100% {
		transform: scale(1.1);
	}
}

@keyframes throb {
	100% {
		transform: scale(1.1);
	}
}

@-webkit-keyframes border_blink {
  from, to {
    border-right-color: transparent;
  }
  50% {
    border-right-color: #275338;
  }
}

@keyframes border_blink {
  from, to {
    border-right-color: transparent;
  }
  50% {
    border-right-color: #275338;
  }
}

/* END of Puzzle Animation */

/* Extra Small devices (phones 575px and down) */
@media only screen and (max-width: 575px) {
	
/* Puzzle Animation */ 

/* .puz_col {
  position: absolute;
  top: -55px
} */
  
.filled_pieces {
    margin-bottom: 60px;
    margin-top: 40px;
}
  
.puzzle_container {
  top: -25px;
  margin-bottom: -50px;
}

/* END of Puzzle Animation */
	
}

/* Small devices (phones, tablets, 991px and down) */
@media only screen and (max-width: 991px) {
	
/* Puzzle Animation */  
.filled_pieces {
  margin-bottom: 60px;
  margin-top: 60px;
}

/* END of Puzzle Animation */
	
}

/* XL and SMALLER devices (phones, tablets, 1399px and down) */
@media only screen and (max-width: 1399px) {
	
}

/* sm Small devices (portrait tablets and large phones, 576px and up) */
@media only screen and (min-width: 576px) {
	
}

/* md Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {
	
/* Puzzle Animation */

.puzzle_container {
	height: calc( .7 * 760px );
  	width: calc( .7 * 760px );
}

.missing_piece {
	width: calc( .7 * 300px );
	height: calc( .7 * 300px );
	margin-top: calc( .7 * -150px );
	margin-left: calc( .7 * -150px );
}

.missing_piece h1, .missing_piece h1 a {
    font-size: 1em;
    margin-top: calc( .7 * -50px );
    margin-right: calc( .7 * 25px );
}

ul.missing_parent {
	margin-left: calc( .7 * -172px );
    margin-top: calc( .7 * -140px );
    width: calc( .7 * 300px );
    height: calc( .7 * 300px );
}

.puzzle_piece {
    width: calc( .7 * 184px );
    height: calc( .7 * 130px );
    margin-top: calc( .7 * -90px );
    margin-left: calc( .7 * -90px );
    transform: rotate(var(--angle)) translate( calc( .7 * 280px )) rotate(calc(-1 * var(--angle)));
}

.design .puzzle_piece_inner {
	background-position: 0 0px;
}

.design .puzzle_piece_inner:hover {
	background-position: 0 calc( .7 * -130px );
}

.websites .puzzle_piece_inner {
	background-position: 0 calc( .7 * -260px );
}

.websites .puzzle_piece_inner:hover {
	background-position: 0 calc( .7 * -390px );
}

.marketing .puzzle_piece_inner {
	background-position: 0 calc( .7 * -520px );
}

.marketing .puzzle_piece_inner:hover {
	background-position: 0 calc( .7 * -650px );
}

.signs .puzzle_piece_inner {
	background-position: 0 calc( .7 * -780px );
}

.signs .puzzle_piece_inner:hover {
	background-position: 0 calc( .7 * -910px );
}

.payments .puzzle_piece_inner {
	background-position: 0 calc( .7 * -1040px );
}

.payments .puzzle_piece_inner:hover {
	background-position: 0 calc( .7 * -1170px );
}

.consulting .puzzle_piece_inner {
	background-position: 0 calc( .7 * -1300px );
}

.consulting .puzzle_piece_inner:hover {
	background-position: 0 calc( .7 * -1430px );
}

/* END of Puzzle Animation */
	
}

/* lg Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {
	
/* Puzzle Animation */

.puzzle_container {
	height: calc( .8 * 760px );
  	width: calc( .8 * 760px );
}

.missing_piece {
	width: calc( .8 * 300px );
	height: calc( .8 * 300px );
	margin-top: calc( .8 * -150px );
	margin-left: calc( .8 * -150px );
}

.missing_piece h1, .missing_piece h1 a {
    font-size: 1.1em;
    margin-top: calc( .8 * -50px );
    margin-right: calc( .8 * 25px );
}

ul.missing_parent {
	margin-left: calc( .8 * -172px );
    margin-top: calc( .8 * -140px );
    width: calc( .8 * 300px );
    height: calc( .8 * 300px );
}

.puzzle_piece {
    width: calc( .8 * 184px );
    height: calc( .8 * 130px );
    margin-top: calc( .8 * -90px );
    margin-left: calc( .8 * -90px );
    transform: rotate(var(--angle)) translate( calc( .8 * 280px )) rotate(calc(-1 * var(--angle)));
}

.design .puzzle_piece_inner {
	background-position: 0 0px;
}

.design .puzzle_piece_inner:hover {
	background-position: 0 calc( .8 * -130px );
}

.websites .puzzle_piece_inner {
	background-position: 0 calc( .8 * -260px );
}

.websites .puzzle_piece_inner:hover {
	background-position: 0 calc( .8 * -390px );
}

.marketing .puzzle_piece_inner {
	background-position: 0 calc( .8 * -520px );
}

.marketing .puzzle_piece_inner:hover {
	background-position: 0 calc( .8 * -650px );
}

.signs .puzzle_piece_inner {
	background-position: 0 calc( .8 * -780px );
}

.signs .puzzle_piece_inner:hover {
	background-position: 0 calc( .8 * -910px );
}

.payments .puzzle_piece_inner {
	background-position: 0 calc( .8 * -1040px );
}

.payments .puzzle_piece_inner:hover {
	background-position: 0 calc( .8 * -1170px );
}

.consulting .puzzle_piece_inner {
	background-position: 0 calc( .8 * -1300px );
}

.consulting .puzzle_piece_inner:hover {
	background-position: 0 calc( .8 * -1430px );
}

/* END of Puzzle Animation */
	
}

/* xl Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1200px) {
  

.watkins_puzzle_box {
  width: 600px;
}

.watkins_puzzle_center {
  width: 600px;
  background: url('../images/missing_piece-inner_shadow-600.png') no-repeat center center;
  background-size: contain;
}
  
.watkins_puzzle_container {
  width: 600px;
  height: 700px;
}

.watkins_puzzle_middle {
  width: 350px;
  height: 350px;
}

.watkins_puzzle_tagline {
  margin-left: -240px;
  margin-top: -130px;
}

.watkins_puzzle_quote_link {
  margin-left: 120px;
  margin-top: 25px;
}

.watkins_puzzle_middle h1 {
  text-align: center;
  color: var(--bs-green);
  font-size: 1.5em !important;
}

.watkins_puzzle_middle .green_button {
  font-size: 1em;
}

.watkins_puzzle_piece_design {
  top: 75px;
  width: 150px;
  height: 150px;
}

.watkins_puzzle_piece_websites {
  margin-left: -75px;
  width: 150px;
  height: 150px;
}

.watkins_puzzle_piece_marketing {
  top: 75px;
  width: 150px;
  height: 150px;
}

.watkins_puzzle_piece_signs {
  bottom: 75px;
  width: 150px;
  height: 150px;
}

.watkins_puzzle_piece_payments {
  margin-left: -75px;
  width: 150px;
  height: 150px;
}

.watkins_puzzle_piece_consulting {
  bottom: 75px;
  width: 150px;
  height: 150px;
}
	
/* Puzzle Animation */

.puzzle_container {
	height: calc( .9 * 760px );
	width: calc( .9 * 760px );
}

.missing_piece {
	width: calc( .9 * 300px );
	height: calc( .9 * 300px );
	margin-top: calc( .9 * -150px );
	margin-left: calc( .9 * -150px );
}

.missing_piece h1, .missing_piece h1 a {
    font-size: 1.2em;
    margin-top: calc( .9 * -50px );
    margin-right: calc( .9 * 25px );
}

ul.missing_parent {
	margin-left: calc( .9 * -172px );
    margin-top: calc( .9 * -140px );
    width: calc( .9 * 300px );
    height: calc( .9 * 300px );
}

.puzzle_piece {
    width: calc( .9 * 184px );
    height: calc( .9 * 130px );
    margin-top: calc( .9 * -90px );
    margin-left: calc( .9 * -90px );
    transform: rotate(var(--angle)) translate( calc( .9 * 280px )) rotate(calc(-1 * var(--angle)));
}

.design .puzzle_piece_inner {
	background-position: 0 0px;
}

.design .puzzle_piece_inner:hover {
	background-position: 0 calc( .9 * -130px );
}

.websites .puzzle_piece_inner {
	background-position: 0 calc( .9 * -260px );
}

.websites .puzzle_piece_inner:hover {
	background-position: 0 calc( .9 * -390px );
}

.marketing .puzzle_piece_inner {
	background-position: 0 calc( .9 * -520px );
}

.marketing .puzzle_piece_inner:hover {
	background-position: 0 calc( .9 * -650px );
}

.signs .puzzle_piece_inner {
	background-position: 0 calc( .9 * -780px );
}

.signs .puzzle_piece_inner:hover {
	background-position: 0 calc( .9 * -910px );
}

.payments .puzzle_piece_inner {
	background-position: 0 calc( .9 * -1040px );
}

.payments .puzzle_piece_inner:hover {
	background-position: 0 calc( .9 * -1170px );
}

.consulting .puzzle_piece_inner {
	background-position: 0 calc( .9 * -1300px );
}

.consulting .puzzle_piece_inner:hover {
	background-position: 0 calc( .9 * -1430px );
}

/* END of Puzzle Animation */
	
}

/* xxl Extra extra large devices (large laptops and desktops, 1400px and up) */
@media only screen and (min-width: 1400px) {
	
/* Puzzle Animation */

.puzzle_container {
	height: 760px;
  	width: 760px;
}

.missing_piece {
	width: 300px;
	height: 300px;
	margin-top: -150px;
	margin-left: -150px;
}

.missing_piece h1, .missing_piece h1 a {
    font-size: 1.2em;
    margin-top: -50px;
    margin-right: 25px;
}

ul.missing_parent {
	margin-left: -172px;
    margin-top: -140px;
    width: 300px;
    height: 300px;
}

.puzzle_piece {
    width: 184px;
    height: 130px;
    margin-top: -90px;
    margin-left: -90px;
    transform: rotate(var(--angle)) translate(280px) rotate(calc(-1 * var(--angle)));
}

.design .puzzle_piece_inner {
	background-position: 0 0px;
}

.design .puzzle_piece_inner:hover {
	background-position: 0 -130px;
}

.websites .puzzle_piece_inner {
	background-position: 0 -260px;
}

.websites .puzzle_piece_inner:hover {
	background-position: 0 -390px;
}

.marketing .puzzle_piece_inner {
	background-position: 0 -520px;
}

.marketing .puzzle_piece_inner:hover {
	background-position: 0 -650px;
}

.signs .puzzle_piece_inner {
	background-position: 0 -780px;
}

.signs .puzzle_piece_inner:hover {
	background-position: 0 -910px;
}

.payments .puzzle_piece_inner {
	background-position: 0 -1040px;
}

.payments .puzzle_piece_inner:hover {
	background-position: 0 -1170px;
}

.consulting .puzzle_piece_inner {
	background-position: 0 -1300px;
}

.consulting .puzzle_piece_inner:hover {
	background-position: 0 -1430px;
}

/* END of Puzzle Animation */
	
}