/**
* Common Styles
* 
* Created for Arletta van den Bosch. (c) Arletta van den Bosch 2015, all rights reserved.
* 
* Created 29-11-15
* Revised 05-04-16
*/


/* present if media fails */

body {
	min-width: 760px;
}

.top-tab-hide {
    display: none;
}

/*
* Navigation Bubbles
* 
* Resizable navigation links.
*/

.backing, #returnTop aside, #learnMore aside {
	position: relative;
	background-color: #f0f0d5;
	border-radius: 50%;
	/* behavior: url(common/pie.htc); TODO */
	/* Prevent background color leak outs */
	-webkit-background-clip: padding-box;
	-moz-background-clip: padding;
	background-clip: padding-box;
}


/* bubble coloured back */

.bubbles nav ul {
	position: relative;
	width: 100%;
	height: 100%;
	font-family: Cubano, Tahoma, Geneva, sans-serif;
	font-style: normal;
	font-weight: normal;
}

/* bubble list container */

.bubbles nav li,
.bubbles nav div {
	position: absolute;
}

#returnTop aside, #learnMore aside {
	position: relative;
	width:8em;
	height: 8em;
	padding: 0;
	margin: 0 auto;
}

#learnMore aside {
    height: 6.5em;
    width: 6.5em;
    position: absolute;
    bottom: 5%;
    left:0;
    right:0;
}

.bubbles nav a, #returnTop a, #learnMore a {
	/*
	 * position: absolute;
	margin-left: 9%;
	margin-top: 9%;
	width: 82%;
	height: 82%;
	border-radius: 50%;
	 */
	position: absolute;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	/* behavior: url(common/pie.htc); TODO */
	font-size: 1.2em;
	/* requires height TODO: fix ie */
	/* Prevent background color leak outs */
	-webkit-background-clip: padding-box;
	-moz-background-clip: padding;
	background-clip: padding-box;
}

#returnTop a, #learnMore a {
	width: 82%;
	height: 82%;
	left:0;
	top:0;
	bottom:0;
	right:0;
	margin: auto;
}
#returnTop a:hover, #learnMore a:hover {
	width: 88%;
	height: 88%;
}
#returnTop.spacer, #learnMore.spacer {
	margin: 0;
}

#learnMore {
    padding-top: 5%;
}

/* inner bubble link */

.bubbles nav h5, .bubbles a.home div {
	position: absolute;
	width: 100%;
	top: 0px;
	bottom: 0px;
	margin: auto;
	text-align: center;
	color: inherit;
	/* from colors */
}


/* generic text */


/* size and position */

.backing.children {
	width: 51.25%;
	height: 51.25%;
	top: 0;
	left: 0;
}

li.children {
	width: 42.025%;
	height: 42.025%;
	top: 4.6125%;
	left: 4.6125%;
}

.backing.adolescents {
	width: 50%;
	height: 50%;
	top: 25%;
	right: 8%;
}

li.adolescents {
	width: 41%;
	height: 41%;
	top: 29.5%;
	right: 12.5%;
}

.backing.info {
	width: 35%;
	height: 35%;
	top: 8%;
	right: 0;
}

li.info {
	width: 28.7%;
	height: 28.7%;
	top: 11.15%;
	right: 3.15%;
}

.backing.autism {
	width: 45%;
	height: 45%;
	left: 20%;
	bottom: 0;
}

li.autism {
	width: 36.9%;
	height: 36.9%;
	left: 24.05%;
	bottom: 4.05%;
}

.backing.who {
	width: 30%;
	height: 30%;
	left: 0%;
	bottom: 18%;
}

li.who {
	width: 24.6%;
	height: 24.6%;
	left: 2.7%;
	bottom: 20.7%;
}

.backing.resources {
	width: 37.5%;
	height: 37.5%;
	right: 0;
	bottom: 0;
}

li.resources {
	width: 30.75%;
	height: 30.75%;
	right: 3.375%;
	bottom: 3.375%;
}

.children h5,
.adolescents h5,
.info h5,
.autism h5,
.resources h5 {
	height: 1.2em;
}

.who h5 {
	height: 2.4em;
}

.bubbles nav li {
	border-radius: 50%;
	border-radius: 50%;
}


/* two lines */


/* interactive */

.bubbles nav a:hover {
	margin-left: -5%;
	margin-top: -5%;
	width: 110%;
	height: 110%;
	font-size: 1.2em;
	/* requires height */
	/* TODO: fix ie */
}


/* inner bubble link hover */


/*
* Title
* 
* Only one title per page allowed.
*/

#title header,
.group {
	text-align: center;
    position: relative;
}

img#ele-family {
	width: 75%;
	height: auto;
}

#title hr {
	width: 40%;
	/* second <hr> overriden */
	margin: 20% 0 -5px 0;
}



/*
* Fluid Structure
*/

.group {
	width: 100%;
	margin: 2.5% 0;
	display: inline-block;
}
.group#top {
	margin: 7.5% 0 2.5% 0;
}

.spacer {
	width: 100%;
}

.center {
	width: 90%;
	margin: 0 auto;
	max-width: 47em;
}

.foot-center ul {
	font-size: 12pt;
}

.foot-center h3 {
	font-size: 18pt;
}

/* sections */

.foot-center {
	position: relative;
}

.box {
	float: left;
	text-align: left;
	position: relative;
	width: 46%;
	padding-top: 46%;
	margin: 2%;
}

#title header,
.bubbles nav {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 100%;
}


/* blocks */

.spacer {
	margin: 4% auto;
	display: inline-block;
}

header#header {
	height: 1em;
	margin-top: 0;
}


/*
* Footers
* 
* Copy for copyright notice at the end of each page.
* Sticky for main footer
*/

#copy {
	font-size: 0.6em;
	font-family: sans-serif;
	clear: both;
	padding-bottom: 72px;
	/*70*/
	text-align: right;
	margin-top: 2%;
	margin-bottom: 0;
	padding-right: 2%;
	width: 98%;
}


/*
* Units
* 
* Copy for copyright notice at the end of each page.
* Sticky for main footer
*/

.center.fill aside {
	width: 18%;
	float: left;
}

.rightSided.center.fill aside {
	float: right;
}

.center.fill section {
	width: 68%;
	float: right;
	margin: 4% 0;
	padding: 4% 6% 0 6%;
	/* 80% total width */
	border-radius: 2em;
	position: relative;
	text-align: left;
}
.extended .center.fill section {
	padding: 4% 6% 4% 6%;
}

.rightSided.center.fill section {
	float: left;
}


/* circle and content */

header.circle {
	float: left;
	position: relative;
	background-color: white;
	width: calc(85.2941% *8 / 9);
	/*77%;*/
	padding: calc(79.4118%*8/9) 0 0 0;
	margin: -8.8234% 5% -2.9411% -40%;
	/*-44.1176%;/*38.45%;

/*
 * 50% width + 8% (4% each side) made relative 68%
 * 50% height + 4% (2%) also relative parent ele
 * mar: -(2%+pad) 0 0 -(-5%(75%) + (.5 * width) + padding);
 * mar: top, right, bot, left
 * pad: (height) 0 0 0;
 */
	box-shadow: 0 0 1.5em rgba(0, 0, 0, 0.2);
	/* TODO: add shadow support */
}

.rightSided header.circle {
	float: right;
	margin: -8.8234% -40% /*44.1176%*/-2.9411% 5%;
}

.extended header.circle {
	/margin: calc(-5.8823% - 2.9411%) 8% 4% calc(-8.8235% - 35.2941%);
	margin: -8.8234% 5% 4% -40%;
}

.extended .rightSided header.circle {
	/margin: calc(-5.8823% - 2.9411%) -40% 4% 5%;
	margin: -8.8234% -40% 4% 5%;
}

.circle {
	border-radius: 49%;
	/* check support */
}

.circle .circle {
	position: absolute;
	top: 8%;
	bottom: 8%;
	left: 8%;
	right: 8%;
	padding-top: 0;
	/*28%;*/
}


/* vertical align: div class="v" style="height:100%;width:0"></div><div class="v"> {CONTENT HERE} </div> */

.v {
	display: inline-block;
	vertical-align: middle;
	text-align: center;
	width: 96%;
}

.circle hr {
	width: 40%;
}

th {
	border-bottom: 0.25em solid #f0f0d5;
	font-weight: normal;
	font-size: 1.2em;
}

#breath td {
	padding-top: 0.5em;
}

th,
td {
	padding: 0.1em 0;
	text-align: left;
}

#table-space td {
	height: 0.3em;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 58%;
	text-align: left;
}


/*.box {
float: left;
text-align: left;
position: relative;

width: 46%;
padding-top: 46%;
margin: 2%;*/

.spacer aside.box {
	width: 42%;
	margin: 8% 4%;
	padding: 2% 0;
	text-align: center;
}

.spacer aside.box div.vr {
	width: 0.25em;
	height: 100%;
	position: absolute;
	top: 0;
}

.spacer aside.box a {
	font-weight: bold;
}

.spacer aside.box p {
	padding: 4% 4% 0 4%;
}

.spacer .box.center {
	float: none;
	margin: 8% auto;
}

.ph {
	color: black;
}

.ph:hover {
	color: #4b94f9;
}

.dot {
	height: 11em;
	/*7.5em;/*4em;*/
	width: auto;
	position: absolute;
	left: 50%;
	margin-left: -0.25669em;
}

.dot,
.dot-head {
	z-index: -1;
}

.dot-left {
	top: -100%;
	margin-top:-12%;
}

.dot-right {
	bottom:-100%;
	margin-bottom:-12%;
}

span.cubano.big, a.cubano.big {
	font-size: 1.333334em;
	/* within p or address */
}

#dot-head {
	position: absolute;
	left: 50%;
	height: 11em;
	bottom: 0;
	margin-bottom: -30%;
	margin-left:.3em;
	/* -.15em */
}

#dot-upper {
	height: 11em;
	position: absolute;
	top: -11em;
	margin-top: 10%;
	left:50%;
}

.spacer {
	padding: 0;
}

.spacer aside.box.dot-head {
	padding: 0;
	margin: 0 auto;
	width: 48%;
}

.dot-loop {
	height: 6.96428571428655em;
	margin: -6.96428571428655em 0 0 -5.80357142857213em;
	left: -2%;
	top: 80%;
}

.dot-bend {
	height: 2.08928571428597em;
	width: auto;
	margin: -2.08928571428597em -1.6250000000002em 0 0;
	right: -2%;
	left: auto;
	top: 57%;
}

.dot-mirror .dot-bend {
	left:-4%;
	right:auto;
	margin: -2.08928571428597em 0 0 -1.6250000000002em;
}

.dot-mirror .dot-loop {
	right:-4%;
	left:auto;
	margin: -6.96428571428655em -5.80357142857213em 0 0;
}

.dot-bend.dot-norm,
.dot-loop.dot-norm {
	height: 11em;
	/*8*/
}

.dot-bend.dot-norm {
	top:57%; /*-68%;/*-6.5em;
	/*47*/
	margin-top: -12.8em;
}

.dot-loop.dot-norm {
	/*bottom: 0;/*-9.5em;*/
	/*88%*/
	margin: 0 -1.92em;
	top: 80%;
	margin-top:0;
}


.anchor {
	position: relative;
	top: -2em;
	float: left;
	width: 100%;
}

.sticky ul {
	float: right;
	height: 80;
}

.sticky ul,
.sticky li,
.sticky .foot-btn {
	height: 60px;
}

.sticky h3 {
	height: 100%;
	line-height: 60px;
	text-align: left;
	float: left;
}

.sticky li {
	width: 4.5em;
	float: left;
}

.sticky .foot-btn {
	width: 100%;
	height: 100%;
	float: left;
	position: relative;
}

#tel-icon,
#map-icon,
#eml-icon {
	position: absolute;
	width: 2em;
	height: 2em;
	margin: auto;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

#dot-foot,
#map-icon,
#eml-icon,
#tel-icon,
.bubbles a.home div,
#burger {
	background-image: url(../images/common-icons.png);
	background-size: 140px 98px;
}

#dot-foot {
	height: 10px;
	margin-top: -10px;
	background-position: bottom;
	background-repeat: repeat-x;
}

#sticky {
	/* main sticky footer */
	bottom: 0;
	padding-top: 5px;
	background-color: #fafaf0;
}

#sticky {
	text-align: left;
	position: fixed;
	left: 0;
	right: 0;
	width: 100%;
}

#logo {
	position: fixed;
	top:0;
	right:0;
}

/* img positions */

#map-icon {
	background-position: -32px 0;
}

#eml-icon {
	background-position: -64px 0;
}

/* hover */
.foot-btn:hover #tel-icon {
	background-position: 0% -32px;
}
.foot-btn:hover #map-icon {
	background-position: -32px -32px;
}
.foot-btn:hover #eml-icon {
	background-position: -64px -32px;
}


.foot-btn .callout {
	position: fixed;
	bottom: 0;
	right:0;
	margin: 0 15px 85px 0;
	padding: 10px 30px;
	
	border-radius: 15px;
	background-color: rgba(255,255,255,0.95);
	box-shadow: 0 0 1.5em rgba(50, 50, 50, 0.2);
	
	text-align: center;
	font-size: 1.2em;
	display: none;
}

.foot-btn:hover .callout {
	display: block;
}

#map-button .callout,
#eml-button .callout,
#tel-button .callout {
	display: none;
}

#mob h2, #mob .bubbles {
	display: none;
}


#stuck {
	position: fixed;
	width: 100%;
	height: 2em;
	z-index: 2;
}

#mob {
	position: absolute;
	top:0;
	left:0;
	right:0;
	height: 0;
	
/*
 * padding: .2em 0;
	/box-shadow: 0 .1em .2em rgba(0, 0, 0, 0.05);
	/background-color: transparent;
*/
}
#tabs a, #menu a {
	padding: 5px 12px;
	float: left;
	border-radius: 8px;
	margin: 2px;
	line-height: 18px;
	font-size:11pt;
}

#burger {
	display: none;
}

/*
#tabs {
	position: absolute;
	text-align: center;
	width: 87%;
	margin: auto;
	left:0;
	right:0;
}
#tabs li {
	display: inline-block;
}
*/

#tabs.lightMode a {
	background-color: rgba(255, 255, 255, 0.90);
	color: #a89e94;
}

#tabs.lightMode a.bg-green:hover {
	background-color: red;
}

/* tabs return color */

#tabs.lightMode a.bg-blue:hover {
	background-color: #4b94f9;
	color:white;
}

#tabs.lightMode a.bg-red:hover {
	background-color: #eb4313;
	color:white;
}

#tabs.lightMode a.bg-green:hover {
	background-color: #b5e632;
	color:white;
}

.bubbles a.home div {
	background-position: -96px -32px;
	height:32px;
	width: 32px;
	margin: auto 0 auto -16px;
	left:50%;
}

#mob img {
	float:right;
}

#copy {
	position: relative;
}

.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  50% {
    opacity: 1;
  }
}

@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  50% {
    opacity: 1;
  }
}

.zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn;
	animation-delay: 0s;
}
.animated.bounceIn,
.animated.bounceOut {
  -webkit-animation-duration: .75s;
  animation-duration: .75s;
	animation-delay: 0.4s;
}

@-webkit-keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    -webkit-transform: scale3d(.9, .9, .9);
    transform: scale3d(.9, .9, .9);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }

  80% {
    -webkit-transform: scale3d(.97, .97, .97);
    transform: scale3d(.97, .97, .97);
  }

  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: none;
  }
}

@keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  }

  0% {
    opacity: 0;
    -webkit-transform: scale3d(.3, .3, .3);
    transform: scale3d(.3, .3, .3);
  }

  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    -webkit-transform: scale3d(.9, .9, .9);
    transform: scale3d(.9, .9, .9);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }

  80% {
    -webkit-transform: scale3d(.97, .97, .97);
    transform: scale3d(.97, .97, .97);
  }

  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: none;
  }
}

.bounceIn {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn;
}

section ul {
	color:black;
}

section li {
	list-style: outside;
	margin-left: 4%;
}

@media (min-width:35em) {
	#foot-head:after {
		content: " Arletta"
	}
}

@media (min-width:55em) {
	#foot-head:after {
		content: " Arletta van den Bosch"
	}
}

/* large format */

@media (min-width: 60em) and (min-height: 40em) {
	html {
		font-size: 1.2em;
	}
}


@media (min-width: 70em) and (min-height: 45em) {
	html {
		font-size: 1.4em;
	}
}

@media (min-width: 90em) and (min-height: 54em) {
	html {
		font-size: 1.6em;
	}
}
