/* trf.less
 *
 * Jason Bedard - https://jbedard.ca
 * (c) 2015 - 2017
 */
.hide {
  display: none !important;
}
.right {
  float: right;
}
.left {
  float: left;
}
.clear {
  width: 100%;
  clear: both;
}
iframe.youtube {
  border: 0;
  width: 420px;
  height: 315px;
  max-width: 100%;
}
hr.partial {
  width: 85%;
}
.animate-visibility {
  -webkit-transition: visibility 0.5s, opacity 0.5s;
  transition: visibility 0.5s, opacity 0.5s;
}
.animate-hide {
  visibility: hidden !important;
  opacity: 0 !important;
}
/** BLOCKS **/
.disclaimer {
  font-size: 75%;
  margin-top: 30px;
}
.disclaimer .title {
  font-weight: bold;
  display: block;
  margin-bottom: 3px;
}
.disclaimer .content {
  border: 1px solid black;
  padding: 0 8px;
}
/** a PHOTO with description **/
.photo-block {
  margin: 15px;
}
.photo-block img {
  margin: 0 auto;
  border: 1px solid black;
}
.photo-block p {
  text-align: center;
  font-size: 75%;
  font-weight: bold;
  margin: 2px 0 0 0;
}
/** a list of FINDS **/
.finds {
  position: relative;
  display: block;
  clear: both;
  margin: 30px 0;
}
.finds li {
  display: inline-block;
  margin-left: 60px;
}
.finds li:first-child {
  margin-left: 0;
}
.finds .find {
  margin: 0;
}
.cards {
  display: block;
  text-align: center;
}
.cards > a {
  font-size: 44px;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;
  line-height: 1;
  position: relative;
  display: inline-block;
  width: 285px;
  padding: 30px 0;
  margin: 11px;
  border-radius: 10px;
  -webkit-transition: box-shadow;
  transition: box-shadow;
  background: #000;
  color: #c1b170;
}
.cards > a:hover,
.cards > a:active {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}
.cards > a .sub {
  display: block;
  font-size: 25px;
  color: #e0d8b7;
}
.error {
  color: red;
}
ul.bullet {
  list-style: disc outside none;
  margin-left: 1em;
}
ul.bullet li {
  margin: 5px 0;
}
ul.indent {
  padding-left: 1em;
}
/* Adverts section */
.page-name-sponsors .wp-entry {
  max-width: 850px;
  margin: 0 auto;
}
.page-name-sponsors .wp-entry a[rel="noopener"],
.page-name-sponsors .wp-entry a[rel="noopener"]:hover,
.page-name-sponsors .wp-entry a[rel="noopener"]:active,
.page-name-sponsors .wp-entry a[rel="noopener"] img {
  text-decoration: none;
  border: none;
  max-width: 100%;
}
.has-no-navigator .locate-button {
  display: none;
}
/* GOOGLE ADS */
[data-ad-client] {
  display: block;
}
.meta.contact-cards {
  color: #777;
}
.meta.contact-cards > div.card {
  margin-bottom: 0.25em;
}
.meta.contact-cards > div.card:not(:last-child) {
  margin-right: 5em;
}
.wp-entry a[rel*="attachment"] {
  text-decoration: none;
  border-bottom: none;
}
#breadcrumb ul {
  margin: 10px 0;
  padding-left: 25px;
  list-style-type: none;
}
#breadcrumb li {
  display: inline-block;
  font-size: 120%;
}
#breadcrumb li:after {
  padding: 0 12px;
  content: "\BB";
}
#breadcrumb li:last-child:after {
  content: none;
}
.control-next,
.control-prev,
.control-play,
.control-pause {
  position: relative;
  display: block;
  height: 27px;
  cursor: pointer;
  background: transparent url(../images/controls.png) no-repeat 50% 50%;
}
/* widths and default state */
.control-prev {
  width: 24px;
  background-position: 0 0;
}
.control-next {
  width: 24px;
  background-position: -77px 0;
}
.control-pause {
  width: 25px;
  background-position: -52px 0;
}
.control-play {
  width: 25px;
  background-position: -25px 0;
}
/* on hover */
.control-prev:hover {
  background-position: 0 -28px;
}
.control-next:hover {
  background-position: -77px -28px;
}
.control-pause:hover {
  background-position: -52px -28px;
}
.control-play:hover {
  background-position: -25px -28px;
}
/* on press */
.control-next:active,
.control-prev:active,
.control-play:active,
.control-pause:active {
  top: 1px;
}
.loading {
  position: relative;
  min-width: 32px;
  min-height: 32px;
}
.loading:before {
  content: " ";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.3);
}
.loading:after {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-animation: fa-spin 2s infinite linear;
          animation: fa-spin 2s infinite linear;
  content: "\f110";
  font-size: 32px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -0.5em;
  margin-top: -0.5em;
}
.flag-au {
  background: url(/images/sprites/flags.png) no-repeat 0px -109px;
  width: 208px;
  height: 109px;
}
.flag-bg {
  background: url(/images/sprites/flags.png) no-repeat 0px -1962px;
  width: 208px;
  height: 109px;
}
.flag-br {
  background: url(/images/sprites/flags.png) no-repeat 0px -218px;
  width: 208px;
  height: 109px;
}
.flag-ca {
  background: url(/images/sprites/flags.png) no-repeat 0px -327px;
  width: 208px;
  height: 109px;
}
.flag-ch {
  background: url(/images/sprites/flags.png) no-repeat 0px -436px;
  width: 208px;
  height: 109px;
}
.flag-cn {
  background: url(/images/sprites/flags.png) no-repeat 0px -545px;
  width: 208px;
  height: 109px;
}
.flag-cw {
  background: url(/images/sprites/flags.png) no-repeat 0px -654px;
  width: 208px;
  height: 109px;
}
.flag-de {
  background: url(/images/sprites/flags.png) no-repeat 0px -763px;
  width: 208px;
  height: 109px;
}
.flag-do {
  background: url(/images/sprites/flags.png) no-repeat 0px -872px;
  width: 208px;
  height: 109px;
}
.flag-ee {
  background: url(/images/sprites/flags.png) no-repeat 0px -981px;
  width: 208px;
  height: 109px;
}
.flag-fi {
  background: url(/images/sprites/flags.png) no-repeat 0px -1090px;
  width: 208px;
  height: 109px;
}
.flag-fr {
  background: url(/images/sprites/flags.png) no-repeat 0px -1199px;
  width: 208px;
  height: 109px;
}
.flag-gb {
  background: url(/images/sprites/flags.png) no-repeat 0px -1308px;
  width: 208px;
  height: 109px;
}
.flag-gr {
  background: url(/images/sprites/flags.png) no-repeat 0px -1417px;
  width: 208px;
  height: 109px;
}
.flag-hk {
  background: url(/images/sprites/flags.png) no-repeat 0px -1526px;
  width: 208px;
  height: 109px;
}
.flag-hu {
  background: url(/images/sprites/flags.png) no-repeat 0px -1635px;
  width: 208px;
  height: 109px;
}
.flag-id {
  background: url(/images/sprites/flags.png) no-repeat 0px -1744px;
  width: 208px;
  height: 109px;
}
.flag-ie {
  background: url(/images/sprites/flags.png) no-repeat 0px -1853px;
  width: 208px;
  height: 109px;
}
.flag-is {
  background: url(/images/sprites/flags.png) no-repeat 0px 0px;
  width: 208px;
  height: 109px;
}
.flag-it {
  background: url(/images/sprites/flags.png) no-repeat 0px -2071px;
  width: 208px;
  height: 109px;
}
.flag-je {
  background: url(/images/sprites/flags.png) no-repeat 0px -2180px;
  width: 208px;
  height: 109px;
}
.flag-jp {
  background: url(/images/sprites/flags.png) no-repeat 0px -2289px;
  width: 208px;
  height: 109px;
}
.flag-mx {
  background: url(/images/sprites/flags.png) no-repeat 0px -2398px;
  width: 208px;
  height: 109px;
}
.flag-nl {
  background: url(/images/sprites/flags.png) no-repeat 0px -2507px;
  width: 208px;
  height: 109px;
}
.flag-no {
  background: url(/images/sprites/flags.png) no-repeat 0px -2616px;
  width: 208px;
  height: 109px;
}
.flag-nz {
  background: url(/images/sprites/flags.png) no-repeat 0px -2725px;
  width: 208px;
  height: 109px;
}
.flag-pa {
  background: url(/images/sprites/flags.png) no-repeat 0px -2834px;
  width: 208px;
  height: 109px;
}
.flag-pe {
  background: url(/images/sprites/flags.png) no-repeat 0px -2943px;
  width: 208px;
  height: 109px;
}
.flag-pl {
  background: url(/images/sprites/flags.png) no-repeat 0px -3052px;
  width: 208px;
  height: 109px;
}
.flag-pr {
  background: url(/images/sprites/flags.png) no-repeat 0px -3161px;
  width: 208px;
  height: 109px;
}
.flag-pt {
  background: url(/images/sprites/flags.png) no-repeat 0px -3270px;
  width: 208px;
  height: 109px;
}
.flag-sg {
  background: url(/images/sprites/flags.png) no-repeat 0px -3379px;
  width: 208px;
  height: 109px;
}
.flag-tc {
  background: url(/images/sprites/flags.png) no-repeat 0px -3488px;
  width: 208px;
  height: 109px;
}
.flag-th {
  background: url(/images/sprites/flags.png) no-repeat 0px -3597px;
  width: 208px;
  height: 109px;
}
.flag-us {
  background: url(/images/sprites/flags.png) no-repeat 0px -3706px;
  width: 208px;
  height: 109px;
}
.flag-vg {
  background: url(/images/sprites/flags.png) no-repeat 0px -3815px;
  width: 208px;
  height: 109px;
}
.flag-za {
  background: url(/images/sprites/flags.png) no-repeat 0px -3924px;
  width: 208px;
  height: 109px;
}
.flag-us-ak {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -109px;
  width: 208px;
  height: 109px;
}
.flag-us-al {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -2725px;
  width: 208px;
  height: 109px;
}
.flag-us-ar {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -218px;
  width: 208px;
  height: 109px;
}
.flag-us-az {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -327px;
  width: 208px;
  height: 109px;
}
.flag-us-ca {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -436px;
  width: 208px;
  height: 109px;
}
.flag-us-co {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -545px;
  width: 208px;
  height: 109px;
}
.flag-us-ct {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -654px;
  width: 208px;
  height: 109px;
}
.flag-us-dc {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -763px;
  width: 208px;
  height: 109px;
}
.flag-us-de {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -872px;
  width: 208px;
  height: 109px;
}
.flag-us-fl {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -981px;
  width: 208px;
  height: 109px;
}
.flag-us-ga {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -1090px;
  width: 208px;
  height: 109px;
}
.flag-us-hi {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -1199px;
  width: 208px;
  height: 109px;
}
.flag-us-ia {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -1308px;
  width: 208px;
  height: 109px;
}
.flag-us-id {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -1417px;
  width: 208px;
  height: 109px;
}
.flag-us-il {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -1526px;
  width: 208px;
  height: 109px;
}
.flag-us-in {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -1635px;
  width: 208px;
  height: 109px;
}
.flag-us-ks {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -1744px;
  width: 208px;
  height: 109px;
}
.flag-us-ky {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -1853px;
  width: 208px;
  height: 109px;
}
.flag-us-la {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -1962px;
  width: 208px;
  height: 109px;
}
.flag-us-ma {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -2071px;
  width: 208px;
  height: 109px;
}
.flag-us-md {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -2180px;
  width: 208px;
  height: 109px;
}
.flag-us-me {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -2289px;
  width: 208px;
  height: 109px;
}
.flag-us-mi {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -2398px;
  width: 208px;
  height: 109px;
}
.flag-us-mn {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -2507px;
  width: 208px;
  height: 109px;
}
.flag-us-mo {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -2616px;
  width: 208px;
  height: 109px;
}
.flag-us-ms {
  background: url(/images/sprites/flags_us.png) no-repeat 0px 0px;
  width: 208px;
  height: 109px;
}
.flag-us-mt {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -2834px;
  width: 208px;
  height: 109px;
}
.flag-us-nc {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -2943px;
  width: 208px;
  height: 109px;
}
.flag-us-nd {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -3052px;
  width: 208px;
  height: 109px;
}
.flag-us-ne {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -3161px;
  width: 208px;
  height: 109px;
}
.flag-us-nh {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -3270px;
  width: 208px;
  height: 109px;
}
.flag-us-nj {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -3379px;
  width: 208px;
  height: 109px;
}
.flag-us-nm {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -3488px;
  width: 208px;
  height: 109px;
}
.flag-us-nv {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -3597px;
  width: 208px;
  height: 109px;
}
.flag-us-ny {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -3706px;
  width: 208px;
  height: 109px;
}
.flag-us-oh {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -3815px;
  width: 208px;
  height: 109px;
}
.flag-us-ok {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -3924px;
  width: 208px;
  height: 109px;
}
.flag-us-or {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -4033px;
  width: 208px;
  height: 109px;
}
.flag-us-pa {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -4142px;
  width: 208px;
  height: 109px;
}
.flag-us-ri {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -4251px;
  width: 208px;
  height: 109px;
}
.flag-us-sc {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -4360px;
  width: 208px;
  height: 109px;
}
.flag-us-sd {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -4469px;
  width: 208px;
  height: 109px;
}
.flag-us-tn {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -4578px;
  width: 208px;
  height: 109px;
}
.flag-us-tx {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -4687px;
  width: 208px;
  height: 109px;
}
.flag-us-ut {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -4796px;
  width: 208px;
  height: 109px;
}
.flag-us-va {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -4905px;
  width: 208px;
  height: 109px;
}
.flag-us-vt {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -5014px;
  width: 208px;
  height: 109px;
}
.flag-us-wa {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -5123px;
  width: 208px;
  height: 109px;
}
.flag-us-wi {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -5232px;
  width: 208px;
  height: 109px;
}
.flag-us-wv {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -5341px;
  width: 208px;
  height: 109px;
}
.flag-us-wy {
  background: url(/images/sprites/flags_us.png) no-repeat 0px -5450px;
  width: 208px;
  height: 109px;
}
.flag-ca-ab {
  background: url(/images/sprites/flags_ca.png) no-repeat 0px -109px;
  width: 208px;
  height: 109px;
}
.flag-ca-bc {
  background: url(/images/sprites/flags_ca.png) no-repeat 0px -654px;
  width: 208px;
  height: 109px;
}
.flag-ca-mb {
  background: url(/images/sprites/flags_ca.png) no-repeat 0px -218px;
  width: 208px;
  height: 109px;
}
.flag-ca-nb {
  background: url(/images/sprites/flags_ca.png) no-repeat 0px -327px;
  width: 208px;
  height: 109px;
}
.flag-ca-nl {
  background: url(/images/sprites/flags_ca.png) no-repeat 0px -436px;
  width: 208px;
  height: 109px;
}
.flag-ca-ns {
  background: url(/images/sprites/flags_ca.png) no-repeat 0px -545px;
  width: 208px;
  height: 109px;
}
.flag-ca-nt {
  background: url(/images/sprites/flags_ca.png) no-repeat 0px 0px;
  width: 208px;
  height: 109px;
}
.flag-ca-nu {
  background: url(/images/sprites/flags_ca.png) no-repeat 0px -763px;
  width: 208px;
  height: 109px;
}
.flag-ca-on {
  background: url(/images/sprites/flags_ca.png) no-repeat 0px -872px;
  width: 208px;
  height: 109px;
}
.flag-ca-pe {
  background: url(/images/sprites/flags_ca.png) no-repeat 0px -981px;
  width: 208px;
  height: 109px;
}
.flag-ca-qc {
  background: url(/images/sprites/flags_ca.png) no-repeat 0px -1090px;
  width: 208px;
  height: 109px;
}
.flag-ca-sk {
  background: url(/images/sprites/flags_ca.png) no-repeat 0px -1199px;
  width: 208px;
  height: 109px;
}
.flag-ca-yt {
  background: url(/images/sprites/flags_ca.png) no-repeat 0px -1308px;
  width: 208px;
  height: 109px;
}
.flag-gb-en {
  background: url(/images/sprites/flags_gb.png) no-repeat 0px 0px;
  width: 208px;
  height: 109px;
}
.flag-gb-ni {
  background: url(/images/sprites/flags_gb.png) no-repeat 0px -109px;
  width: 208px;
  height: 109px;
}
.flag-gb-st {
  background: url(/images/sprites/flags_gb.png) no-repeat 0px -218px;
  width: 208px;
  height: 109px;
}
.flag-gb-wl {
  background: url(/images/sprites/flags_gb.png) no-repeat 0px -327px;
  width: 208px;
  height: 109px;
}
.flag-gradient {
  position: relative;
  overflow: hidden;
}
/* Vertical gradient - Like old website */
.flag-gradient:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.3)));
  background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 100%);
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 100%);
}
/**/
/* Top-left -> bottom-right border radius: http://codersblock.com/blog/creating-glow-effects-with-css/ * /
.flag-gradient {
	&:after {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;

		box-shadow:
			0 0  50px 20px rgba(0,0,0,.4),
			0 0 150px 50px rgba(0,0,0,.4),
			0 0 200px 50px rgba(0,0,0,.4),
		;
	}
}
/**/
/* Left-side horizontal gradient * /
.flag-gradient:after {
	content: "";

	position: absolute;
	width: 25px;
	height: 100%;
	top: 0;
	left: 0;

	background: linear-gradient(
	    to right,
	    rgba(255, 255, 255, 0.5) 0%,
	    rgba(255, 255, 255, 0.0) 100%
	);
}
.flag-gradient:hover:after {
	background: linear-gradient(
	    to right,
	    rgba(255, 255, 255, 0.0) 0%
	    rgba(255, 255, 255, 0.5) 100%,
	);
}
/**/
/* Like/from https://jsfiddle.net/AntonTrollback/nqQc7/ */
.flag-gradient:after {
  content: "";
  position: absolute;
  top: -130%;
  left: -150%;
  width: 200%;
  height: 200%;
  opacity: 0.3;
  -webkit-transform: rotate(30deg);
      -ms-transform: rotate(30deg);
          transform: rotate(30deg);
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0.13)), color-stop(77%, rgba(255, 255, 255, 0.13)), color-stop(92%, rgba(255, 255, 255, 0.5)), to(rgba(255, 255, 255, 0)));
  background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.13) 0%, rgba(255, 255, 255, 0.13) 77%, rgba(255, 255, 255, 0.5) 92%, rgba(255, 255, 255, 0) 100%);
  background: linear-gradient(to right, rgba(255, 255, 255, 0.13) 0%, rgba(255, 255, 255, 0.13) 77%, rgba(255, 255, 255, 0.5) 92%, rgba(255, 255, 255, 0) 100%);
  -webkit-transition-property: left, top, opacity;
  transition-property: left, top, opacity;
  -webkit-transition-duration: .7s, .7s, .15s;
          transition-duration: .7s, .7s, .15s;
  -webkit-transition-timing-function: ease;
          transition-timing-function: ease;
}
.flag-gradient:hover:after,
.flag-gradient:active:after {
  opacity: 1;
  top: -30%;
  left: -30%;
}
.flag-gradient:active:after {
  opacity: 0;
}
/**/
.icon {
  display: inline-block;
}
.icon-diver:before {
  content: "";
  background: transparent url(/images/diver-19.png) no-repeat 50% 50%;
  width: 19px;
  height: 16px;
  display: inline-block;
}
.icon-beach-detector:before {
  content: "";
  background: transparent url(/images/beach-detector-19.png) no-repeat 50% 50%;
  width: 19px;
  height: 16px;
  display: inline-block;
}
.social-follow {
  display: block;
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center;
  line-height: 2em;
  padding: 1em 0;
  color: #FFF;
  background: #474141;
}
.social-follow > li {
  display: inline-block;
}
.social-follow a {
  display: inline-block;
  height: 2em;
  width: 2em;
  border-radius: 1em;
  border: 1px solid #FFF;
  color: #FFF;
  margin: 2px;
}
.social-follow a:active,
.social-follow a:hover {
  color: #f9c054;
  border-color: #f9c054;
}
.bookofsmiles.page-block {
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  height: 900px;
  padding-top: 25px;
  padding-bottom: 25px;
  padding-left: 10px;
  padding-right: 10px;
  padding-left: 0.5vw;
  padding-right: 0.5vw;
  background: transparent url(../images/bookbg-800.jpg) no-repeat 50% 50%;
}
@media (min-width: 800px) {
  .bookofsmiles.page-block {
    background-image: url(../images/bookbg-1400.jpg);
  }
}
@media (min-width: 1400px) {
  .bookofsmiles.page-block {
    background-image: url(../images/bookbg-1920.jpg);
  }
}
.bookofsmiles.page-block h2 {
  color: #FFF;
  margin: 0 0 0.5em 0;
}
.bookofsmiles.page-block h2 > span {
  color: #CCC;
}
.book-donatedby {
  color: #EEE;
  text-align: center;
  font-style: italic;
}
.book-ratio {
  margin: 0 auto;
  max-width: 868px;
  max-height: 640px;
}
.book {
  position: relative;
  width: 100%;
  padding-top: 73.73271889%;
}
.book-bg,
.book-inner {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.book-bg {
  background: transparent url(../images/bookbg.png) no-repeat center center;
  background-size: contain;
}
.book-inner {
  padding: 0.15625% 0% 0.15625% 0%;
}
.book,
.controls {
  position: relative;
  margin: 10px auto;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.book,
.book p,
.book a,
.book a:hover,
.book a:focus {
  color: #000;
}
.book p {
  font-size: inherit;
}
.book-nav-prev,
.book-nav-next {
  cursor: pointer;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 40px;
}
.book-nav-prev {
  left: 0;
}
.book-nav-next {
  right: 0;
}
.controls {
  position: relative;
  margin: 10px auto;
  box-sizing: content-box;
  width: 85px /* = 24*2 + 25*1 + 3*2*2 */;
  padding: 9px;
  border-radius: 5px;
  background-color: rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.5);
}
.controls span {
  display: inline-block;
  margin: 0 2px;
}
.book ul {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  width: 100%;
  height: 100%;
}
.book li:before,
.bookofsmiles.loading li.right-page {
  background: transparent url(../images/bookpage.png) no-repeat 0 0;
  background-size: contain;
}
.bookofsmiles.loading p,
.bookofsmiles.loading .book-title,
.bookofsmiles.loading .smile,
.bookofsmiles.loading .bottom {
  display: none;
}
.book li:before {
  content: " ";
  position: absolute;
  top: -0.15625%;
  bottom: -0.15625%;
  left: 0;
  right: -0.57603687%;
}
.book .left-page:before {
  left: 0;
  -webkit-transform: scaleX(-1);
      -ms-transform: scaleX(-1);
          transform: scaleX(-1);
}
.book li {
  box-sizing: border-box;
  position: absolute;
  width: 50%;
  height: 100%;
  overflow: visible;
}
.book .left-page,
.book .right-page {
  padding: 1.7281106% 5.1843318%;
}
.book .left-page {
  right: 50%;
  padding-right: 0.57603687%;
}
.book .right-page {
  left: 50%;
  padding-left: 0.57603687%;
}
.book .book-content {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
}
.book-inner {
  font-size: 15px;
  font-size: 2.1vw;
}
@media (min-width: 868px) {
  .book-inner {
    font-size: 20px;
  }
}
.book-title {
  font-size: 200%;
  font-weight: bold;
  font-variant: small-caps;
  line-height: 1;
}
.book-title span {
  text-transform: uppercase;
  font-size: 135%;
}
.right-page .book-title {
  visibility: hidden;
}
[data-bling-total] .right-page .book-title {
  visibility: visible;
}
.book .found-by,
.book .found-at {
  font-size: 120%;
}
.book .page-number {
  font-size: 80%;
  position: absolute;
  bottom: 0;
}
.book .left-page .page-number {
  left: 0;
}
.book .right-page .page-number {
  right: 0;
}
.book .middle {
  box-sizing: border-box;
  -webkit-box-align: center;
  -webkit-align-items: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
          justify-content: center;
  padding: 0.25em 0.5em;
}
.book .middle img {
  display: block;
  max-width: 100%;
  max-height: 100%;
}
.book .smile,
.book .closeup {
  display: block;
  box-sizing: border-box;
  border-radius: 0.4em;
  border: 10px solid rgba(0, 0, 0, 0.15);
  border-width: 1.15207373vw;
  overflow: hidden;
}
@media (min-width: 868px) {
  .book .smile,
  .book .closeup {
    border-width: 10px;
  }
}
@media (max-width: 868px) {
  .book .smile,
  .book .closeup {
    max-height: 45vw;
  }
}
.book .book-content {
  position: relative;
  overflow: hidden;
}
.book .top {
  height: 2.7em;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.book .middle {
  position: absolute;
  overflow: hidden;
  top: 2.7em;
  bottom: 2.7em;
  left: 0;
  right: 0;
}
.book .bottom {
  height: 2.7em;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
/* book animation */
.book .left-page,
.book .right-page {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.book .right-page {
  -webkit-transform-origin: 0 0;
      -ms-transform-origin: 0 0;
          transform-origin: 0 0;
}
.book .left-page {
  -webkit-transform-origin: 100% 0;
      -ms-transform-origin: 100% 0;
          transform-origin: 100% 0;
}
.book .trans {
  -webkit-transition: -webkit-transform 1.5s linear;
  transition: -webkit-transform 1.5s linear;
  transition: transform 1.5s linear;
  transition: transform 1.5s linear, -webkit-transform 1.5s linear;
}
.book .delay {
  -webkit-transition-delay: 1.49s;
          transition-delay: 1.49s;
}
.book .vertical {
  -ms-transform: scaleX(0);
  -webkit-transform: rotateY(-90deg);
          transform: rotateY(-90deg);
}
.contact-cards > .card {
  display: inline-block;
  vertical-align: top;
  margin: 0 10px 0 3px;
}
.contact-cards > .card i:first-child {
  font-size: 121.42857143%;
  width: 1em;
  margin-right: 0.15em;
  text-align: right;
}
.contact-cards > .card img.email {
  margin-top: 0.2em;
}
.contact-cards > .card a,
.contact-cards > .card span,
.contact-cards > .card ul {
  display: inline-block;
  vertical-align: top;
}
.contact-cards > .card ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.contact-cards > .card ul > li {
  margin-bottom: 0.33333333em;
}
/** NEWS **/
#news-listing,
#news-listing ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
#news-listing li {
  margin: 1.33em 0;
  clear: both;
}
#news-listing h4 {
  text-align: left;
  font-size: 115%;
  font-weight: normal;
}
#news-listing ul {
  margin-left: 1.5em;
}
.has-js #news-listing > li.inline-article {
  clear: both;
}
.has-js #news-listing > li.inline-article:not(.open) > *:not(h4, .expander) {
  display: none;
}
#news-listing .news-300px-image {
  width: 300px;
  text-align: center;
  margin: 1em auto;
  margin-top: 0;
}
#news-listing .news-300px-image img {
  display: block;
  max-width: 300px;
  margin: 0 auto;
  border: 1px solid #ccc;
}
#news-listing .news-300px-image img + img {
  margin-top: 10px;
}
#news-listing .news-300px-image p {
  font-size: 85%;
}
#news-listing .news-300px-image p:last-child {
  margin-bottom: 0;
}
@media (min-width: 600px) {
  #news-listing .news-300px-image {
    float: left;
    margin-right: 1em;
    margin-left: 0;
  }
}
#news-listing .info {
  font-size: 85%;
  color: #888;
}
#news-listing .subtitle {
  text-align: center;
  font-weight: bold;
  font-style: italic;
  font-size: 95%;
}
#news-listing .article {
  padding-bottom: 1em;
  border-bottom: 2px solid #888;
  text-align: justify;
  -webkit-columns: 265px;
     -moz-columns: 265px;
          columns: 265px;
  -webkit-column-gap: 30px;
     -moz-column-gap: 30px;
          column-gap: 30px;
}
#news-listing .article img {
  float: left;
  margin: 5px 10px 5px 0;
}
#news-listing .article p {
  margin: 0.4em 0;
  line-height: 1.2;
}
#listing-gmap {
  position: fixed;
  top: 66px;
  bottom: 0;
  left: 0;
  right: 0;
}
.admin-bar #listing-gmap {
  top: 98px;
}
@media screen and (max-width: 782px) {
  .admin-bar #listing-gmap {
    top: 112px;
  }
}
@media screen and (max-width: 600px) {
  .admin-bar #listing-gmap {
    top: 66px;
  }
}
@media (max-width: 649px) {
  #listing-gmap {
    position: static;
    width: 100%;
    height: 400px;
  }
}
@media (min-width: 650px) {
  #listing-parent {
    width: 250px;
  }
  #listing-gmap {
    position: fixed;
    left: 250px;
  }
}
@media (min-width: 900px) {
  #listing-parent {
    width: 500px;
  }
  #listing-gmap {
    position: fixed;
    left: 500px;
  }
}
#listing {
  overflow: visible;
  text-align: center;
  background: #f9f9f9;
}
#listing > header {
  background: #FFF;
  border-bottom: 1px solid rgba(0, 0, 0, 0.075);
  padding: 15px;
}
#listing ul,
#listing ol {
  list-style: none;
  margin: 0 auto;
  padding: 0;
}
#listing .current-parent {
  display: block;
}
#listing .current-parent > a {
  display: none;
}
#listing.filter-any .current > li,
#listing.filter-dives .current > li[data-dives] {
  display: inline-block;
  width: 208px;
  margin: 20px;
  background: #FFF;
  box-shadow: 0px 8px 10px 2px rgba(0, 0, 0, 0.4);
  -webkit-transition: box-shadow 0.25s;
  transition: box-shadow 0.25s;
  border-radius: 6px;
}
#listing.filter-any .current > li .flag,
#listing.filter-dives .current > li[data-dives] .flag {
  box-shadow: 0px 0px 10px 2px rgba(0, 0, 0, 0.4);
}
#listing.filter-any .current > li.country > a,
#listing.filter-dives .current > li[data-dives].country > a,
#listing.filter-any .current > li.province > a,
#listing.filter-dives .current > li[data-dives].province > a {
  border-radius: 6px;
}
#listing.filter-any .current > li.country > a > .flag,
#listing.filter-dives .current > li[data-dives].country > a > .flag,
#listing.filter-any .current > li.province > a > .flag,
#listing.filter-dives .current > li[data-dives].province > a > .flag {
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
}
#listing.filter-any .current > li:hover,
#listing.filter-dives .current > li[data-dives]:hover,
#listing.filter-any .current > li:active,
#listing.filter-dives .current > li[data-dives]:active {
  box-shadow: 0px 10px 12px 2px rgba(0, 0, 0, 0.5);
}
#listing.filter-any .current > li > .finders li,
#listing.filter-dives .current > li[data-dives] > .finders li {
  display: block;
}
#listing.filter-any .current > li > .finders li a:hover,
#listing.filter-dives .current > li[data-dives] > .finders li a:hover,
#listing.filter-any .current > li > .finders li a:active,
#listing.filter-dives .current > li[data-dives] > .finders li a:active {
  text-decoration: underline;
}
#listing li {
  display: none;
  text-align: center;
  vertical-align: top;
}
#listing li > a {
  display: block;
  overflow: hidden;
  text-decoration: none;
}
#listing li .h {
  font-size: 16px;
  text-decoration: none;
  color: #000;
  line-height: 1.2em;
  margin: 0.8em 0;
}
#listing li.city > a {
  background: #000;
}
#listing li.city > a .h {
  font-size: 18px;
  color: #c1b170;
}
#listing li.finder .h {
  margin: 0.3em 0;
}
#listing #directory-empty {
  display: none;
  padding: 1em 0;
}
#listing-header {
  border-bottom: 1px solid rgba(0, 0, 0, 0.075);
  overflow: hidden;
}
#listing-header > section {
  margin: 1em;
}
#listing-breadcrumb-parent {
  display: block;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
          flex-direction: row;
}
#listing-breadcrumb-parent #listing-breadcrumb {
  margin-top: 2px;
  -webkit-box-flex: 1;
  -webkit-flex: 1 0 auto;
          flex: 1 0 auto;
}
#listing-breadcrumb-parent .locate-button {
  margin-left: 2em;
}
#listing-breadcrumb {
  list-style: none;
  padding: 0;
  margin: 0;
}
#listing-breadcrumb > li {
  display: inline-block;
}
#listing-breadcrumb > li:not(:last-child):after {
  content: "≫";
  display: inline-block;
  margin: 0 3px 0 4px;
}
#listing-filters > label {
  margin-right: 2em;
}
#listing-filters > label > input,
#listing-filters > label > .icon,
#listing-filters > label > .fa {
  display: inline-block;
}
#gmap {
  width: 100%;
  height: 100%;
  box-shadow: rgba(0, 0, 0, 0.298039) 0px 1px 4px -1px;
}
#gmap .location-info {
  font-size: 15px;
  min-width: 200px;
  max-width: 400px;
  min-height: 100px;
  overflow: hidden;
}
#gmap .location-info h3 {
  font-size: 150%;
  color: #000;
  text-align: left;
  margin-top: 0;
  text-decoration: underline;
}
#gmap .location-info ul {
  list-style: none;
  padding: 0;
  margin: 1em;
}
#gmap .location-info a.finder {
  font-size: 115%;
  color: #b3000b;
  font-weight: bold;
  text-decoration: none;
}
#gmap .location-info a.finder:hover {
  color: #000;
  text-decoration: underline;
}
#gmap-search {
  font-family: Roboto, Arial, sans-serif;
  font-size: 11px;
  width: 300px;
  margin: 10px;
  padding: 8px;
}
#gmap-locate {
  width: 28px;
  height: 27px;
  cursor: pointer;
  margin-right: 10px;
  font-size: 19px;
  color: #666;
  text-align: center;
}
#gmap-locate > .fa {
  margin-top: 1px;
  line-height: 26px;
}
#gmap-locate,
#gmap-search {
  border-radius: 2px;
  background: #FFF;
  border: 0;
  box-shadow: rgba(0, 0, 0, 0.298039) 0px 1px 4px -1px;
}
ul.country-flag-list {
  display: block;
  list-style: none;
  text-align: center;
}
ul.country-flag-list li.country {
  display: inline-block;
  margin: 5px;
  vertical-align: middle;
  border-radius: 6px;
  background: #FFF;
  -webkit-transition: box-shadow 0.25s;
  transition: box-shadow 0.25s;
  box-shadow: 0px 8px 10px 2px rgba(0, 0, 0, 0.4);
}
ul.country-flag-list li.country:hover {
  box-shadow: 0px 10px 12px 2px rgba(0, 0, 0, 0.5);
}
ul.country-flag-list a {
  text-decoration: none;
  color: inherit;
}
ul.country-flag-list .flag {
  overflow: hidden;
  border-radius: 6px;
}
ul.country-flag-list li.and-more {
  display: block;
  margin: 15px;
}
/** RFI PROFILE **/
@include "vars.less";
.profile {
  position: relative;
  background: #f9f9f9;
  padding-bottom: 1px;
}
.profile article,
.profile header,
.profile section,
.profile aside,
.profile main {
  position: relative;
  box-sizing: border-box;
}
.profile > header {
  overflow: hidden;
  background: #FFF;
  border-bottom: 1px solid #CCC;
}
.profile > article section {
  background: #FFF;
  padding: 15px 20px;
  padding: 1.30208333vw 1.73611111vw;
  margin: 15px 0;
  border: 1px solid rgba(0, 0, 0, 0.075);
}
@media (min-width 1152px) {
  .profile > article section {
    padding: 15px 20px;
  }
}
.profile .contact-cards {
  box-sizing: border-box;
  margin-top: 20px;
  margin-bottom: 20px;
}
@media (max-width: 699px) {
  .profile .contact-cards > .card {
    display: block;
  }
}
@media (min-width: 1152px) {
  .profile .contact-cards {
    padding-right: 437.76px;
  }
}
.profile .profile-info h4 {
  text-align: left;
}
.profile .profile-img {
  text-align: center;
}
.profile .profile-img img {
  max-width: 100%;
  margin: 0 auto;
  margin-bottom: 10px;
  display: block;
}
@media (min-width: 1152px) {
  .profile main {
    width: 60%;
  }
  .profile aside {
    float: right;
    width: 38%;
    margin-left: 2%;
    margin-top: -160px /*page-content margin=*/;
  }
  .profile #finder-gmap {
    width: 100%;
    min-height: 240px;
    margin-bottom: 20px;
  }
  .profile .bookofsmiles .book-title {
    font-size: 100%;
  }
  .profile .bookofsmiles .found-by {
    font-size: 80%;
  }
  .profile .bookofsmiles .found-at {
    font-size: 80%;
  }
  .profile .bookofsmiles .page-number {
    font-size: 60%;
  }
}
@media (min-width: 700px) and (max-width: 1151px) {
  .profile aside > section {
    vertical-align: top;
    display: inline-block;
    width: 49.49%;
  }
  .profile aside > section:first-child {
    margin-right: 1%;
  }
  .profile #finder-gmap {
    height: 100%;
  }
  .profile .bookofsmiles {
    width: 100%;
    display: block;
  }
}
#finder-gmap {
  width: 100%;
  min-height: 240px;
  margin-bottom: 20px;
}
.backlink-parent {
  clear: both;
  text-align: center;
}
/* the location list */
ul.locations,
.locations ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.locations ul,
.locations li {
  display: inline;
}
.locations .country {
  display: block;
  line-height: 110%;
  margin-bottom: 5px;
}
.locations .country:last-child {
  margin-bottom: 0;
}
ul.read-more-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
ul.read-more-list > li {
  padding-bottom: 1.5em;
  position: relative;
}
ul.read-more-list > li:not(:first-child) {
  margin-top: 1.5em;
}
.has-js ul.read-more-list > li {
  max-height: 220px;
  overflow: hidden;
}
.has-js ul.read-more-list > li.open {
  max-height: none;
}
ul.read-more-list .toggle {
  position: absolute;
  bottom: 0;
  width: 100%;
  text-align: center;
  cursor: pointer;
  height: 2.5em;
  background: -webkit-gradient(linear, left bottom, left top, from(#FFF), color-stop(60%, #FFF), to(rgba(221, 221, 221, 0)));
  background: -webkit-linear-gradient(bottom, #FFF 0%, #FFF 60%, rgba(221, 221, 221, 0) 100%);
  background: linear-gradient(to top, #FFF 0%, #FFF 60%, rgba(221, 221, 221, 0) 100%);
}
ul.read-more-list .toggle > span {
  display: block;
  margin-top: 1em;
  line-height: 1.5em;
}
[data-load-more] + .load-more {
  display: block;
  margin-top: 20px;
}
ul.recent-posts {
  list-style: none;
  margin: 0;
  padding: 0;
}
ul.recent-posts > li {
  margin: 1.5em 0;
}
ul.recent-posts .post-author {
  margin-top: 0.25em;
}
ul.recent-posts .post-link {
  text-align: center;
}
.recent-posts h4,
.testimonials h4 {
  text-align: left;
}
.testimonials .images {
  float: left;
}
.testimonials .images img {
  display: block;
  max-width: 200px;
  max-height: 200px;
  margin: 0 20px 20px 0;
}
#purchase,
#purchase ol,
#purchase ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
#purchase > li {
  position: relative;
  clear: both;
  padding: 7px 0;
}
#purchase [data-disabled] {
  position: relative;
}
#purchase [data-disabled]:before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background: #CCC;
  background: rgba(222, 222, 222, 0.9);
}
#purchase [data-disabled]:after {
  content: attr(data-disabled);
  position: absolute;
  width: 100%;
  top: 50%;
  margin-top: -0.5em;
  text-align: center;
}
#purchase .custom-cities {
  width: 2.5em;
}
#purchase .custom-amount {
  width: 4em;
}
#feature-list {
  list-style: disc outside;
  padding-left: 2em;
}
#feature-list li {
  padding: 3px 0;
}
#locked-locations,
#locked-locations ul {
  list-style: none;
  margin: 0;
}
#locked-locations ul {
  padding-left: 2em;
}
#locked-locations > li {
  margin-top: .6em;
}
#locked-locations > li li {
  margin-top: .3em;
}
.purchase-type-form table,
.purchase-type-form tr,
.purchase-type-form td {
  border: 0;
}
.purchase-type-form td {
  padding-right: 1em;
}
.purchase-type-form .cost {
  padding-left: 2em;
}
.bbp-breadcrumb + #subscription-toggle {
  float: left;
  line-height: 1.4;
  margin: 0.6em;
}
.bbp-breadcrumb + #subscription-toggle:before {
  content: "(";
}
.bbp-breadcrumb + #subscription-toggle:after {
  content: ")";
}
.bbp-author-role {
  display: none !important;
}
.license-box {
  font-family: arial;
  font-size: 75%;
  height: 15em;
  overflow: auto;
  background-color: white;
  border: 1px solid black;
}
.license-box .license {
  padding: 5px;
}
.license .i {
  margin-left: 1.5em;
}
.license p.i {
  margin-left: 0;
  text-indent: 3em;
}
.license .t0 {
  text-decoration: underline;
  font-weight: bold;
  display: block;
  text-align: center;
}
.license .t1 {
  text-decoration: underline;
  font-weight: bold;
}
.license .t2 {
  text-decoration: underline;
}
.license .l {
  text-align: left;
}
.license .r {
  text-align: right;
}
.license ol {
  list-style: none outside none;
  margin-left: 1em;
}
.license ol.o {
  list-style: none inside none;
  margin-left: 0;
}
.license .o li {
  margin: 15px 0;
}
.license ol.n {
  list-style-type: decimal;
}
.license ol.lc {
  list-style-type: lower-alpha;
}
.license ol.uc {
  list-style-type: upper-alpha;
}
