/* ==========================================================================
  
  1.  Document Setup (body, common classes, vertical rhythm, structure etc)
  2.  Header Styles
  3.  Navigation & Menus
  4.  Main Content Styles
  5.  Footer Styles
  6.  Media Queries

============================================================================= */

/* ==========================================================================
    1.  Document Setup (body, common classes, vertical rhythm, structure etc)
============================================================================= */
* {
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body { color: #798281; }
html,
body {
  height: 100%;
  /* The html and body elements cannot have any padding or margin. */
}

::-webkit-input-placeholder { color: #fff; }
:-moz-placeholder { color: #fff; opacity: 1; }
::-moz-placeholder { color: #fff; opacity: 1; }
:-ms-input-placeholder { color: #fff; }

label.error { color: white; display: block; }

a {
    -webkit-transition: all 0.3s ease-in-out 0s;
    -moz-transition: all 0.3s ease-in-out 0s;
    -ms-transition: aall 0.3s ease-in-out 0s;
    -o-transition: all 0.3s ease-in-out 0s;
    transition: all 0.3s ease-in-out 0s;
}
#wrap {
  min-height: 100%;
  height: auto;
  /* Negative indent footer by its height */
  margin: 0 auto -180px;
  /* Pad bottom by footer height */
  padding: 0 0 180px;
}

section, .driver-video { position: relative; }


header {
    background: #6e2585;
    position: relative;
    z-index: 4;
}

h1.logo {
    line-height: 0;
    margin: 6px 0 9px;
}

h1.logo img { width: 90px; }

h1.tplogo {
    line-height: 0;
    margin: 0;
}

h1.tplogo img { height: 36px; }

h1, h2, h3, h4, h5, h6 { color: #802089; }
.white_txt h1, .white_txt h2, .white_txt h3, .white_txt h4, .white_txt h5, .white_txt h6 { color: #fff; }

.white_txt a:hover {text-decoration: none; color: #fff;}

h1 { font-family: 'Amatic SC', cursive; font-size: 38px; font-weight: normal; line-height: 36px; margin: 0 0 20px; }
h2 { font-family: 'Amatic SC', cursive; font-size: 45px; font-weight: normal; margin: 50px 13px 14px; }
h3 { font-size: 24px; }
h4 { font-size: 20px; }
h5 { font-size: 17px; }
h6 { font-size: 15px; }

img.img-responsive { display: inline-block; }

img.bg_graphic {
    display: none;
    left: 0;
    position: absolute;
    top: 0;
    z-index: -1;
}
.cms-page-editor-preview img.bg_graphic {
    display: block;
}

.container p strong { color: #6E2585; }

a.btn.cta {
    border-radius: 0;
    bottom: 10px;
    color: #7b8180;
    font-size: 10px;
    padding: 10px 40px 10px 10px;
    position: absolute;
    right: 16px;
}

a.showmore {
    background-image: -webkit-gradient(
    linear,
    left top,
    left bottom,
    color-stop(0, #939997),
    color-stop(1, #838887)
    );
    background-image: -o-linear-gradient(bottom, #939997 0%, #838887 100%);
    background-image: -moz-linear-gradient(bottom, #939997 0%, #838887 100%);
    background-image: -webkit-linear-gradient(bottom, #939997 0%, #838887 100%);
    background-image: -ms-linear-gradient(bottom, #939997 0%, #838887 100%);
    background-image: linear-gradient(to bottom, #939997 0%, #838887 100%);
    /* For Internet Explorer 8 */
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#939997, endColorstr=#838887)";    
    background-color: #939997;
    color: #fff;
    display: block;
    line-height: 40px;
    text-align: center;
}
a.showmore:hover { background: #8cc600; text-decoration: none; }

a.showmore i { font-size: 16px; }

.white_txt a.btn.cta { color: #fff; }

.graphic_bg a.btn.cta { bottom: 23px; }


.inner_nav a {
    background: #929a98;
    color: #fff;
    display: block;
    height: 40px;
    position: absolute;
    top: 45px;
    width: 40px;
    z-index: 1;
}
.inner_nav a:hover { background: #6e2585; text-decoration: none; }
.inner_nav a.next { right: 0;}
.inner_nav a:after {
    bottom: 0;
    content: '';
    font-family: 'FontAwesome';
    font-size: 40px;
    left: 0;
    line-height: 40px;
    padding-left: 14px;
    position: absolute;
    right: 0;
    text-align: left;
    top: 0;
}
.inner_nav a.prev:after { content: '\f104'; }
.inner_nav a.next:after { content: '\f105'; }

a.btn.cta:after {
    background: #A2A9A7;
    border-radius: 10px;
    bottom: 20px;
    color: #fff;
    content: '\f105';
    font-family: 'FontAwesome';
    font-size: 20px;
    height: 20px;
    line-height: 20px;
    padding-left: 8px;
    position: absolute;
    right: 10px;
    text-align: left;
    top: 8px;
    width: 20px;
}
a.btn.cta:hover:after { color: #8cc600; }

blockquote {
    background: url(/images/blockquote.png) 36px 26px no-repeat #6e2585;
    border: none;
    color: #fff;
    font-size: 26px;
    margin: 0 -20px 2px;
    padding: 60px;
    position: relative;
    text-align: center;
}
.product-details blockquote { background-size: 36px 26px; font-size: 15px; margin-top: 40px; }
blockquote:after {
    background: url(/images/blockquote.png) 0 0 no-repeat;
    bottom: 26px;
    content: '';
    height: 36px;
    position: absolute;
    right: 36px;
    width: 50px;
}
.product-details blockquote:after { 
    background-size: 36px 26px;
    height: 26px;
    right: 36px;
    width: 36px;
}

.product-details blockquote:before {
    border-left: 23px solid rgba(0, 0, 0, 0);
    border-right: 23px solid rgba(0, 0, 0, 0);
    border-bottom: 23px solid #6e2585;
    top: -22px;
    content: "";
    left: 46px;
    margin-left: -23px;
    position: absolute;
    z-index: 1;
}

.white_txt a.btn.cta:after { background: #fff; color: #7b8180; }

.row { margin: 0; position: relative; }

.banner_area p { font-size: 12px; padding: 0 13px; }

.navbar-toggle {
    background: #8cc600;
    border-radius: 0;
    margin: 0 -10px 0 0;
    padding: 16px 17px 15px;
}
.navbar-toggle.collapsed { background: none; }

.navbar-toggle .icon-bar { background: #fff; width: 20px; }

.navbar-toggle .icon-bar + .icon-bar { margin-top: 3px; }

header form { float: right; }

header form input[type=text] {
    background: none;
    border: none;
    color: #fff;
    left: 0;
    padding: 11px 10px;
    position: absolute;
    text-align: center;
    top: 0;
    width: 100%;
}

header form input[type=submit] {
    height: 42px;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 44px;
    z-index: 2;
}

header form a {
    background: #8cc600;
    border-radius: 17px;
    color: #fff;
    display: inline-block;
    float: left;
    font-size: 13px;
    height: 34px;
    line-height: 34px;
    padding: 0 27px;
    text-transform: uppercase;
	margin-left: 3px;
}
header form a:hover {
    background: #fff;
    color: #8cc600;
    text-decoration: none;
}

header form a.mail {
    width: 34px;
    padding: 0;
    position: relative;
    text-indent: -9999px;
}
header form a.mail:after {
    color: #fff;
    content: '\f0e0';
    font-family: 'FontAwesome';
    font-size: 17px;
    height: 34px;
    left: 0;
    position: absolute;
    text-align: center;
    text-indent: 0;
    top: 0;
    width: 100%;    
}
header form a.mail:hover:after { color: #8cc600; }

.mobile_search_button {
    background: #8cc600;
    border-left: 1px solid #8cc600;
    color: #fff;
    cursor: pointer;
    float: right;
    font-size: 20px;
    line-height: 45px;
    padding: 0 21px;
}
.mobile_search_button.collapsed { background: none; border-left-color: #fff; }

.input_bg {
    background: #8cc600;
    display: none;
    height: 42px !important;
    left: 0;
    position: absolute;
    top: 45px;
    width: 100%;
}

.input_bg:after {
    background: #fff;
    border-radius: 10px;
    color: #8cc600;
    content: "\f105";
    font-family: 'FontAwesome';
    font-size: 20px;
    height: 20px;
    line-height: 20px;
    padding-left: 8px;
    position: absolute;
    right: 20px;
    text-align: left;
    top: 12px;
    width: 20px;
}


/* ==========================================================================
    2.   Styles
============================================================================= */
.banner_area { padding-bottom: 70px; position: relative; }

.graphic_bg {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.sub_banner { padding-bottom: 25px; }

.black_area {
    background: url(/images/stay_in_touch_mob.png) right top no-repeat #181c1d;
}

.banner_area.black_area:after { border-top: 23px solid #181c1d; }

.grey_area_unlock {
    background: url(/images/unlock_your_potential_mob.png) right top no-repeat #616161;;
}

.banner_area.grey_area_unlock:after { border-top: 23px solid #616161; }

.white_txt { color: #fff; }

.white_txt p { font-weight: 300; }

.banner_area:after {
    border-left: 23px solid rgba(0, 0, 0, 0);
    border-right: 23px solid rgba(0, 0, 0, 0);
    border-top: 23px solid #8cc600;
    bottom: -22px;
    content: "";
    left: 73px;
    margin-left: -23px;
    position: absolute;
    z-index: 1;
}
.banner_area.graphic_bg:after{ display: none; }
.banner_area.graphic_bg.carousel_area:after{ display: block; }


.grey_area { background: #616161; }

.grey_area:after { border-top: 23px solid #616161; }

.light_grey_area {
    background: #f4f4f4;
}

.light_grey_area:after { border-top: 23px solid #f4f4f4; }

.light_grey_area .speechbubbles { background: url(/images/icon-experts-mobile.png) 18% 26% no-repeat; padding-top: 70px; position: relative; }
.light_grey_area .speechbubbles:after {
    background: url(/images/icon-listeners-mobile.png) right top no-repeat;
    content: '';
    height: 79px;
    position: absolute;
    right: 20%;
    top: 15%;
    width: 110px;
}

.success.graphic_bg .inverted-arrow {
    background: url(/images/purple-inverted-arrow-mobile.png) no-repeat left bottom;
}

.purple_area { background: #6e2585; }

.purple_area:after { display: none; border-top: 23px solid #6e2585; }
.purple_area.purple_partner:after { border-top: none; }

.purple_area.purple_partner h2 { margin-top: 30px; }

.inverted-arrow {
    bottom: 0;
    height: 23px;
    left: 0;
    position: absolute;
    width: 100%;
    z-index: 3;
}
.carousel_area .inverted-arrow { display: none; }



/* ==========================================================================
    3.  Navigation & Menus
============================================================================= */
.nav-container {
    background: #66217c;
}

.navbar-nav > li > a {
    -webkit-transition: none;
    -moz-transition: none;
    -ms-transition: none;
    -o-transition: none;
    color: #fff;
    font-size: 12px;
    letter-spacing: 1px;
    padding-bottom: 11px;
    padding-top: 11px;
    text-transform: uppercase;
}

.navbar-nav ul {
    background: #8cc600;
    display: none;
    list-style: none;
    padding: 20px 0;
    margin: 0;
    position: absolute;
    top: auto;
    left: 0;
    width: 220px;
}

.navbar-nav a:hover, .navbar-nav li:hover a,
.navbar-nav a.active {
    background: #8cc600;
}

.navbar-nav li:hover > ul {
  display: block;
}

.navbar-nav ul > li > a {
    background-color: #8cc600;
    color: #fff;
    display: block;
    font-weight: 300;
    font-size: 12px;
    padding: 4px 26px;
    text-transform: none;
}
.navbar-nav ul > li > a.active { text-decoration: underline; }

/* ==========================================================================
    4.  Main Content Styles
============================================================================= */
.pagetitle {
    background: #a1aaa8;
    margin-bottom: 30px;
    position: relative;
}
.orange.pagetitle { background: #8cc600; text-align: center; }
.news-title.pagetitle { background: #8cc600; padding-bottom: 10px; }

.orange.pagetitle img { margin: 10px 0 4px; max-height: 80px; max-width: 156px; }

.pagetitle:after {
    border-left: 23px solid rgba(0, 0, 0, 0);
    border-right: 23px solid rgba(0, 0, 0, 0);
    border-top: 23px solid #a1aaa8;
    bottom: -22px;
    content: "";
    left: 73px;
    margin-left: -23px;
    position: absolute;
    z-index: 1;
}
.centre-tick.pagetitle:after { left: 50%; }
.no-tick.pagetitle:after { display: none; }
.orange.pagetitle:after, .news-title.pagetitle:after { border-top-color: #8cc600; }
.sub_banner .pagetitle:after { display: none; }

.pagetitle a {
    background: #a1aaa8;
    color: #fff;
    display: block;
    font-size: 12px;
    letter-spacing: 1px;
    line-height: 40px;
    text-align: center;
    text-transform: uppercase;
}
.pagetitle a:hover { color: #58257b; text-decoration: none; }


.pagetitle h2 {
    color: #eef2f5;
    font-size: 56px;
    font-weight: normal;
    margin: 12px 0 9px;
    text-align: center;
}
.pagetitle h3 {
    color: #fff;
    font-family: 'Amatic SC', cursive;
    font-size: 40px;
    font-weight: 400;
    margin: 12px 0 9px;
    text-align: center;
}
.orange.pagetitle h3 { color: #eef2f5; margin-top: 4px; }
.pagetitle .product_title h3 {
    font-family: 'Comfortaa',cursive,"Helvetica Neue",Helvetica,Arial,sans-serif;
    font-size: 20px;
    font-weight: normal;
}

.news-title.pagetitle h6 {
    color: #fff;
    font-size: 12px;
    font-weight: 300;
    line-height: 18px;
}

.product-details.main-img { margin: -30px 0 20px; }
.main-img img { max-width: 100%; }

.product-details h3, .news-title.pagetitle h3 {
    font-family: 'Amatic SC', cursive;
    font-size: 30px;
    font-weight: normal;
    line-height: 28px;
}
.product-details h3 { margin-top: 0; }

.product-details p { font-size: 14px; }

.product-details.errorpage {
background: url(/images/errorphone.png) no-repeat left top transparent;
background-size: 60px 100px;
}

.sub_banner h1 {
    color: #fff;
    font-size: 32px;
    font-weight: 400;
    margin: 110px 13px 0;
}

.graphic_bg.carousel_area { padding: 0; }

.carousel { display: none; }

.carousel_text {
    background: #8cc600;
    display: inline-block;
    padding-bottom: 30px;
}

.carousel_text h1 {
    color: #fff;
    font-family: 'Amatic SC', cursive;
    font-size: 52px;
    font-weight: normal;
    line-height: 50px;
    margin: 36px 23px 0;
}

.carousel_text h5 {
    color: #fff;
    font-size: 13px;
    line-height: 18px;
    margin: 6px 23px;
}

.grey-inverted-arrow .inverted-arrow {
    background: url(/images/grey-inverted-arrow.png) no-repeat center bottom;
}

.purple_area.one_half { padding: 0 0 20px; }


.purple_area.one_half h4 {
    font-size: 16px;
    line-height: 20px;
    margin: 0;
    padding: 20px 13px;
}

.purple_area.one_half p { font-size: 12px; line-height: 15px; }

.ethos_tgw h4 { font-size: 15px; line-height: 20px; margin: 40px 0 10px; }

.ethos_tgw h6 { margin: 20px 0 10px; }

.ethos_tgw p { font-size: 12px; line-height: 16px; }

/* == video player styling == */
.video_player {
    background-position: center 0;
    background-repeat: no-repeat;
    background-size: cover;
}
.video_player a {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
}
.video_player a:after {
    border: 3px solid #fff;
    border-radius: 40px;
    color: #fff;
    content: '\f04b';
    font-family: fontAwesome;
    font-size: 40px;
    height: 80px;
    left: 50%;
    line-height: 76px;
    margin-left: -40px;
    margin-top: -40px;
    opacity: .8;
    filter: alpha(opacity=80);
    padding-left: 28px;
    position: absolute;
    top: 50%;
    width: 80px;
}
.video_player a:hover:after {
    opacity: 1;
    filter: alpha(opacity=100);
}

.intro_txt h4, .intro_txt h5 { margin: 0 13px 10px; }
.intro_txt h5 { font-size: 16px }

.intro_txt p { font-size: 14px; line-height: 16px; margin: 0 13px 23px; }


/* == product boxes == */
.products {
    background-color: #6E2585;
    border-top: 2px solid #fff;
    display: block;
    height: 110px;
    position: relative;
    margin-left: -10px;
    margin-right: -10px;
}
.products.drivers { background-color: #0d0d0c; }

.products:hover { background-color: #8cc600; }

.products img { display: block; margin: 8px auto; width: 120px; }
.products.drivers img { display: none; }
.cms-page-editor-preview .products.drivers img { display: block; }

.products a {
    bottom: 0;
    color: #fff;
    font-size: 13px;
    left: 0;
    letter-spacing: 1px;
    line-height: 20px;
    padding-top: 76px;
    position: absolute;
    right: 0;
    text-align: center;
    top: 0;
}
.products a:hover, .news_item a:hover { text-decoration: none; }

.products a:after,
.news_item a:after {
    border-radius: 10px;
    bottom: 13px;
    color: #fff;
    content: '\f138';
    font-family: 'FontAwesome';
    font-size: 24px;
    position: absolute;
    right: 13px;
    text-align: left;
}
.products a:after { font-size: 20px; }


/* == news boxes == */
.news_item {
    background-color: #464646;
    background-size: cover;
    background-position: 0 center;
    border-top: 1px solid #fff;
    font-family: 'Amatic SC', cursive;
    height: 112px;
    margin: 0 -10px;
    padding: 0;
    position: relative;
}
.news_item:first-child { border: none; }
.news_item.case-study { background-color: #6e2585; }

.news_item img { display: none; }
.cms-page-editor-preview .news_item img { display: block; margin: 0; z-index: 1; }

.news_item:hover img { opacity: .8; filter: alpha(opacity=80);}

.news_item p, .drivers p {
    display: table;
    margin: 0;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
}

.news_item a {
    color: #fff;
    display: table-cell;
    font-size: 34px;
    height: 112px;
    line-height: 38px;
    padding: 0 40px 10px 23px;
    text-align: left;
    text-transform: uppercase;
    vertical-align: middle;
    width: 100%;
}
.products.drivers a {
    bottom: auto;
    display: table-cell;
    font-family: 'Amatic SC', cursive;
    font-size: 35px;
    height: 112px;
    left: auto;
    padding: 0;
    position: static;
    vertical-align: middle;
    right: auto;
    top: auto;
}
.news_item.case-study a { font-size: 25px; line-height: 30px; }

.news_item_main_img {
    background-position: 0 bottom;
    background-repeat: no-repeat;
    background-size: 100% auto;
}
.img_visible {
    margin: 0 -10px;
    padding-bottom: 65%;
}
.news_item_main_img img { display: none;}


/* == faqs == */
#faqs .panel {
    border: none;
    border-radius: 0;
    box-shadow: none;
    margin-bottom: 1px;
}

#faqs h6 { margin: 0; }

#faqs h6 a {
    background: #6e2585;
    color: #fff;
    display: block;
    font-size: 14px;
    padding: 14px 50px 14px 16px;
    position: relative;
    text-transform: uppercase;
}
#faqs .panel:first-child h6 a { padding-top: 30px; }
#faqs h6 a:hover, #faqs h6 a:focus { text-decoration: none; outline: none; }

#faqs h6 a:after {
    border: 2px solid #fff;
    border-radius: 13px;
    content: "-";
    font-size: 26px;
    font-weight: 300;
    height: 26px;
    line-height: 18px;
    margin-top: -13px;
    padding-left: 6px;
    position: absolute;
    right: 14px;
    top: 50%;
    width: 26px;
}
#faqs h6 a.collapsed:after { content: '+'; line-height: 23px; padding-left: 4px; }

.faq-body {
    background: #eae8eb;
}

.faq-body p {
    display: inline-block;
    font-size: 14px;
    margin: 16px;
    padding: 0;
}


/* == contact styling == */
.contactus h2 {
    font-size: 23px;
    font-weight: 400;
    margin: 40px 0 10px;
}
.contactus .msg  h2 { color: #fff; margin-top: 0; }

.contactus .fa-lg { color: #8cc600; font-size: 24px; margin: 0 0 10px; }
.contactus a.fa-lg:hover { color: #6f1f87; }

.contactus .fa-hello {
    background: url(/images/icon-hello.png) center center no-repeat;
    bottom: 0;
    top: 0;
}

.contactus p { font-size: 12px; line-height: 16px; }
.contactus .msg  p { color: #fff; margin-bottom: 30px; }

.contactus .large {
    color: #6f1f87;
    display: block;
    font-size: 18px;
    font-weight: 400;
    margin: 0 0 10px;
}

.contactus em {
    display: block;
    font-style: normal;
    font-size: 10px;
}

.contactus h6 {
    color: #A1ABA8;
    font-size: 13px;
    font-weight: 400;
    line-height: 18px;
    margin-bottom: 13px;
}
.contactus h6 strong { color: #802089; }

#map_canvas { width: 100%; height: 160px; background: #ccc; margin-top: 15px; }

.contactus .purple_area h3 { color: #fff; font-size: 18px; }

.contactus .purple_area h5 { color: #fff; display: none; font-weight: 400; margin: 20px 0 30px; }

.contactus .purple_area input[type=text] {
    background: #E6E6E6;
    border: none;
    display: block;
    font-size: 13px;
    margin-bottom: 3px;
    padding: 8px 10px;
    width: 100%;    
}
.contactus .purple_area input[type=text]:focus { background: #fff; }

.contactus .purple_area .button, .contactus .grey_area .grey_area_unlock a {
    background: #fff;
    border: none;
    border-radius: 10px;
    color: #66217C;
    display: inline-block;
    float: right;
    font-size: 20px;
    height: 20px;
    line-height: 20px;
    margin: 15px 0;
    position: relative;
    width: 20px;
}
.contactus .grey_area .grey_area_unlock a { color: #a2a9a7; margin-top: 0; }
.contactus .grey_area .grey_area_unlock a:hover,.contactus .purple_area .button:hover { text-decoration: none; }
.contactus .purple_area .button:after, .contactus .grey_area a:after {
    content: '\f105';
    font-family: 'FontAwesome';
    left: 8px;
    position: absolute;
    top: 0;
}

.contactus .grey_area .grey_area_unlock { background: #a2a9a7; clear: both; width: 100%; }

.contactus .grey_area .grey_area_unlock h3 { color: #fff; font-size: 18px; letter-spacing: 1px; margin: 35px 0 15px; }

.contactus .grey_area .grey_area_unlock p { color: #fff; font-size: 14px; line-height: 18px; margin: 0 0 16px; } 


/* == people styling == */
.profile-header h3 { font-size: 18px; margin: 30px 0 10px; }

.profile { margin: 0 0 5px; }

.people h5 { font-size: 18px; margin: 15px 0 0; text-transform: uppercase; }

.people .profile h6 { font-size: 14px; font-weight: 300; margin: 5px 0 7px; }

.people p { font-size: 14px; line-height: 18px; margin-bottom: 5px; }

.people img { border-radius: 10px;  display: none; }

.people .profile-header h6 { font-weight: 300; line-height: 18px; margin: 0 0 30px; }

.profile-list div:first-child { margin-left: -10px; }

.profile-list h6 { text-transform: uppercase; }


/* == search results == */
.search-results { text-align: center; }

.search-results .pagetitle { margin-bottom: 0; }

.search-results .purple_area { margin-bottom: 40px; overflow: hidden; }

.search-results .purple_area h3 {
    color: #fff;
    font-size: 25px;
    line-height: 30px;
    margin: 30px 0 20px;
}

.search-results .purple_area p { margin-bottom: 20px; }

.search-results .purple_area em {
    color: #fff;
    font-size: 13px;
    font-style: normal;
}

.search-results .result { margin-top: 10px; margin-bottom: 10px; }

.search-results .result:nth-child(2n+1) { clear: both; }

.search-results .result h4 {
    border-bottom: 1px solid #dce0df;
    padding-bottom: 10px;
}

.search-results .result h4 a { position: relative; }

.search-results .result h4 a:after {
    background: #6E2585;
    border-radius: 10px;
    color: #fff;
    content: '\f105';
    font-family: fontAwesome;
    font-size: 20px;
    font-weight: normal;
    height: 20px;
    line-height: 20px;
    margin-top: -10px;
    padding-left: 3px;
    position: absolute;
    right: -30px;
    top: 50%;
    width: 20px;
}

.plain_content { margin-top: 20px; }
.plain_content h3 {
    font-family: 'Amatic SC', cursive;
    font-size: 30px;
    font-weight: 400;
    line-height: 35px;
    margin: 0 0 20px;
}
.plain_content h4 { font-size: 14px; }
.plain_content p { font-size: 14px; line-height: 18px; }
.plain_content p em { font-size: 13px; font-style: normal; }



/* == Grey call to action boxes == */
div.cta {
    background: #a2a9a7;
    border-bottom: 2px solid #fff;
    margin: 0;
    overflow: hidden;
    position: relative;
}

div.cta.register {
    background: url(/images/icon-smiley.png) 7% center no-repeat  #a2a9a7;
    background-size: 58px;
}
div.cta.numbering {
    background: url(/images/cta-numbering-plan.png) 3% center no-repeat  #a2a9a7;
    background-size: 114px;
}
div.cta.stayintouch {
    background: url(/images/cta-stay-in-touch.png) 0 center no-repeat  #a2a9a7;
    background-size: 124px;
    padding-bottom: 20px;
}
div.cta.plant {
    background: url(/images/cta-plant.png) 4% bottom no-repeat  #a2a9a7;
    background-size: 84px;
}
div.cta.factsheet {
    background: url(/images/cta-fact-sheet.png) 10% center no-repeat  #a2a9a7;
    background-size: 67px;
}
div.cta.quote {
    background: url(/images/icon-speech.png) 7% center no-repeat  #a2a9a7;
    background-size: 70px;
}
div.cta.mobile:before { content: '\f10b'; font-size: 56px; line-height: 56px; }
div.cta.users:before { content: '\f0c0'; font-size: 34px; line-height: 56px; }
div.cta.headset:before {
    background: url(/images/cta-services.png) center center no-repeat;
    background-size: 38px;
}

div.cta.tgw:before {
    background: url(/images/cta-tgw.png) center center no-repeat;
    background-size: 44px;
}

div.cta h3 { font-size: 18px; letter-spacing: 1px; margin: 13px 0 5px 20px; }

div.cta h4 { font-size: 13px; font-weight: bold; letter-spacing: 1px; margin-top: 26px; text-transform: uppercase; }

div.cta p { font-size: 10px; line-height: 12px; margin-left: 20px; }

div.cta a.btn {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
div.cta a.btn:after {
    background: #fff;
    border-radius: 10px;
    bottom: 20px;
    color: #A2A9A7;
    content: '\f105';
    font-family: 'FontAwesome';
    font-size: 20px;
    height: 20px;
    line-height: 20px;
    padding-left: 8px;
    position: absolute;
    right: 26px;
    text-align: left;
    width: 20px;
}


/* ==========================================================================
    5.  Footer Styles
============================================================================= */
footer { background: #e7e7e7;
    padding-bottom: 20px;
}

footer a:hover {
    color: #6e2585;
    text-decoration: none;
}

footer ul { margin: 0 0 30px; padding: 0; }
footer ul.social { margin-left: 10px; }
footer ul.tplogo { clear:right; }

footer li { list-style: none; }
footer ul.social li { display: inline-block; }
footer ul.social li:nth-child(4) img { width: 82px; }
footer ul.tplogo li { display: inline-block; }

footer li a {
    color: #A2A9A7;
    font-size: 11px;
    padding: 0 10px;
}

footer li a.twitter { color: #fff; }
footer li a.twitter .fa-inverse { color: #32aadc; }

footer li a.linkedin { color: #c5c7c8; }

a.ninegroup {
    background: url(/images/nine-group-logo.png) 0 0 no-repeat;
    display: inline-block;
    height: 32px;
    line-height: 30px;
    text-indent: -9999px;
    width: 77px;
}

footer h3, footer h3 a {
    color: #798281;
    display: block;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
}
footer h3 { margin-left: 10px; }

footer p { font-size: 16px; font-weight: 400; }


/* ==========================================================================
    6.  Media Queries
============================================================================= */
@media (max-width: 767px) {
    header form a {
        background: none repeat scroll 0 0 rgba(0, 0, 0, 0);
        border-left: 1px solid #FFFFFF;
        border-radius: 0;
        color: #FFFFFF;
        display: inline-block;
        float: left;
        font-size: 10px;
        height: 45px;
        line-height: 45px;
        padding: 0 13px;
        text-transform: uppercase;
    }

	.pagetitle.errorpage { margin: 0; }

    .nav-container {
        background: #8cc600;
        position: absolute;
        right: 0;
        top: auto;
        width: 253px;
    }

    .navbar-collapse { border: none; box-shadow: none; max-height: none; }

    .navbar-nav { margin: 0 -10px; }

    .nav > li {
        border-bottom: 1px solid #c8e485;
        display: block;
        position: relative;
    }

    .navbar-nav > li > a { position: relative; }

    .navbar-nav > li.sub-area > a:after {
        content: '\f107';
        font-family: 'FontAwesome';
        font-size: 30px;
        position: absolute;
        right: 16px;
        top: 11px;    
    }

    .navbar-nav ul {
        background: none;
        padding: 0;
        position: static;
        width: auto;
    }

    .navbar-nav a:hover, .navbar-nav li:hover a {
        background: none;
    }

    .navbar-nav li:hover > ul {
      display: block;
    }

    .navbar-nav ul > li > a {
        background: none;
        color: #fff;
        display: block;
        font-weight: 300;
        font-size: 12px;
        padding: 4px 26px;
        text-transform: none;
    }

    .no_padding_mobile .container,
    .no_padding_mobile .col-sm-6 {
        padding: 0;
    }

    .products.drivers { background-image: none !important; }
}

@media (min-width: 768px) {
    h1 { font-size: 54px; line-height: 50px; margin-bottom: 40px; }
    h2 { font-size: 68px; margin: 46px 0 14px; }
    h3 { font-size: 24px; }
    h4 { font-size: 18px; }
    h5 { font-size: 17px; }
    h6 { font-size: 15px; }

    section { margin-bottom: 20px; }

    h1.logo { margin: 24px 0; }

    h1.logo img { width: 146px; }

    header form { margin: 35px 0 0; }

    header form { position: relative; }

    .input_bg {
        background: none;
        border: 3px solid #fff;
        border-radius: 17px;
        display: inline-block;
        float: left;
        height: 34px !important;
        margin: 0 5px;
        position: relative;
        top: auto;
        width: 228px;
    }
    .input_bg:after { right: 4px; top: 4px; }

    header form input[type=text] { padding: 5px 10px; width: 196px; }

    header form input[type=submit] { height: 28px; width: 32px; }

    .inner_nav { height: auto; }
    .inner_nav a {
        margin-top: -20px;
        top: 60%;
    }

    a.showmore { margin: 30px 0; }

    a.btn.cta {
        background: #a2a9a7;
        bottom: 0;
        color: #e6e6e6 !important;
        font-size: 13px;
        padding: 10px 40px 10px 10px;
        position: absolute;
        right: 80px;
    }
    a.btn.cta:after { background: #fff !important; color: #7b8180 !important; top: 10px; }

    a.btn.cta:hover { background-color: #8cc600; }

    blockquote { border-radius: 10px; font-size: 32px; margin: 30px 10px 0; }

    .light_grey_area .speechbubbles { background: url(/images/icon-experts.png) 0 60% no-repeat; padding-top: 0; }
    .light_grey_area .speechbubbles:after {
        background-image: url(/images/icon-listeners.png);
        height: 111px;
        right: 0;
        top: 25%;
        width: 155px;
    }

    .black_area {
        background: url(/images/stay_in_touch.png) center center no-repeat #181c1d;
        background-size: 100%;
    }

    .grey_area_unlock {
        background: url(/images/unlock_your_potential_web.png) center center no-repeat #616161;
        background-size: contain;
		padding-top: 90px;
    }

    .product-details blockquote:before { left: 50%; }

    .nav-container .container { padding-left: 0; padding-right: 0; }

    .pagetitle { margin-bottom: 40px; }
    .news-title.pagetitle { letter-spacing: 0; padding-bottom: 30px; text-align: center; }
	.pagetitle.errorpage { margin-bottom: 0; }

	.product-details.errorpage {
	background: url(/images/errorphone.png) no-repeat 50px 0px transparent;
	background-size: 90px 150px;
	}

    .pagetitle h3 {
        font-size: 60px;
        margin: 19px 0 21px;
    }
    .productstitle.pagetitle h3 { margin: 23px 0 46px; }
    .pagetitle .product_title h3 {
        color: #EEF2F5;
        font-size: 24px;
    }
    .news-title.pagetitle h3 {
        font-size: 50px;
        line-height: 1.1;
        margin: 38px 0 8px;
        text-align: center;
        text-transform: uppercase;
    }


    .news-title.pagetitle h6 { font-size: 15px; line-height: 20px; }

    .product-details .main-img { margin: -40px 0 40px; }

    .img_visible { margin: 30px -10px; height: 260px; padding-bottom: 0; }


    .product-details p { font-size: 16px; }

    .pagetitle:after, .no-tick.pagetitle:after { display: block; left: 50%; }

    .banner_area { text-align: center; }

    .video_player a:after { padding-left: 8px; }

    .intro_txt { text-align: center; padding-bottom: 10px; }

    .intro_txt h4, .intro_txt h5 { font-size: 20px; margin: 0 0 5px; }
    .intro_txt h5 { font-size: 18px; }

    .intro_txt p { margin: 0 10% 10px; }

    .sub_banner { padding-bottom: 45px; }

    .sub_banner h1 {font-size: 55px; margin: 92px 0 47px; }

    .inverted-arrow { display: block; }

    .success.graphic_bg .inverted-arrow {
        background: url(/images/purple-inverted-arrow.png) no-repeat center bottom;
    }

    .black_purple-inverted-arrow .inverted-arrow {
        background: url(/images/black_purple-inverted-arrow.png) no-repeat center bottom;
    }


    .banner_area:after { left: 50%; }

    .purple_area:after { display: block; }

    .banner_area.graphic_bg.carousel_area:after { display: none; }

    .purple_area.one_half { padding-bottom: 44px; }

    .purple_area.purple_partner:after { border-top: 23px solid #6e2585; }

    .purple_area.purple_partner {
        background: url(/images/p_logo.png) center 20px no-repeat #6e2585;
    }

    .purple_area.purple_partner:before {
        background: url(/images/purple_partner_logo.png) right bottom no-repeat;
        bottom: 54px;
        content: "";
        height: 38px;
        position: absolute;
        right: 116px;
        width: 104px;
    }

    .purple_area.purple_partner h2 { margin-top: 70px; }

    .purple_area.one_half h4 {
        line-height: 23px;
        margin: 16px 0 18px;
        padding: 0;
    }
    .purple_area.one_half p { line-height: 16px; padding: 0; }


    .plain_content { text-align: center; }
    .plain_content h3 { font-size: 37px; line-height: 45px; margin: 20px 0 0; }
    .plain_content h4 { font-size: 20px; margin: 20px 0 10px; }
    .plain_content p { font-size: 14px; line-height: 20px; }


    .less_top_padding h2 { margin-top: 23px; }

    .carousel_area .inverted-arrow { display: block; }

    .carousel { display: block; }

    .carousel_text {
        background: none;
        bottom: 0;
        left: 0;
        padding-bottom: 0;
        position: absolute;
        right: 0;
        top: 0;
    }

    .carousel_text h1 {
        color: #6e2585;
        font-size: 63px;
        line-height: 53px;
        margin: 20px 0 10px;
    }

    .carousel_text h5 {
        color: #7A8281;
        font-size: 13px;
        line-height: 15px;
        margin: 0 32%;
    }

    .banner_area p { font-size: 15px; padding: 0 26%; }

    .ethos_tgw { text-align: center; }

    .ethos_tgw h4 { font-size: 20px; line-height: 1.1; margin: 68px 0 10px; }

    .ethos_tgw h6 { margin: 40px 0 10px; }

    .ethos_tgw p { font-size: inherit; line-height: inherit; }

    .products {
        border: 4px solid #fff;
        border-radius: 14px;
        height: 220px;
        margin: 0;
    }
    .products.drivers {
        background-color: #8cc600;
        border: 10px solid #fff;
        border-radius: 20px;
        height: 340px;
    }
    .driver-products .products { display: inline-block; height: 180px; width: 140px; }

    .driver-products .products a {
        font-size: 13px;
        line-height: 16px;
        padding: 100px 10px 0;
    }

    .news_item { border: 4px solid #fff; border-radius: 14px; height: 172px; margin: 0; }
    .news_item:first-child { border: 4px solid #fff; }

    .products img { margin: 36px auto; width: 130px; }
    .driver-products .products img { margin: 20px 0 0; max-width: 100% }

    .products a { font-size: 17px; padding-top: 118px; }
    .driver-products .products a { font-size: 13px; }
    .products.drivers a {
        font-family: inherit;
        font-size: 16px;
        letter-spacing: 0;
        line-height: 38px;
        padding-top: 280px;
    }

    .news_item a {
        font-size: 30px;
        height: 172px;
        line-height: 35px;
        padding: 0 12px 26px;
        text-align: center;
    }


    .products a:after, .news_item a:after { bottom: 16px; left: 0; right: 0; text-align: center; }
    .driver-products .products a:after { bottom: 13px; left: auto; right: 13px; }

    .products.drivers a:after {
        bottom: auto;
        left: auto;
        margin-left: 8px;
        right: auto;
    }
    .products.drivers:before {
        background-color: #8CC600;
        border-radius: 0 0 8px 8px;
        bottom: 0;
        content: "";
        height: 40px;
        left: 0;
        position: absolute;
        width: 100%;
    }

    .product-details { text-align: center; }

    .product-details h3 { font-size: 40px; line-height: 45px; margin: 0 0 30px; }

    .product-details p { font-size: 14px; line-height: 20px; margin-bottom: 18px; }


    /* == contact styling == */
    .contactus { text-align: center; margin-bottom: -20px; }
    .contactus h2 { font-size: 33px; }
    .contactus .fa-lg { font-size: 30px; }
    .contactus p { font-size: 14px; line-height: inherit; }
    .contactus .large { font-size: 25px; margin: 0 0 30px; }
    .contactus h6 { font-size: 15px; line-height: 20px; margin-bottom: 20px; }
    #map_canvas { height: 320px; }
    .contactus .purple_area h3 { font-size: 23px; }
    .contactus .purple_area h5 { display: block; }
    .contactus .purple_area input[type="text"] { border-radius: 0; font-size: 16px; margin-bottom: 5px; text-align: center; }
    .contactus .purple_area .button:after,
    .contactus .grey_area .grey_area_unlock a:after { left: 11px; }
    .contactus .purple_area .button,
    .contactus .grey_area .grey_area_unlock a {
        border-radius: 14px;
        float: none;
        font-size: 30px;
        height: 28px;
        line-height: 26px;
        margin: 25px 0;
        padding: 0;
        width: 28px;
    }
    .contactus .grey_area .grey_area_unlock h3 { font-size: 25px; margin: 40px 0 20px; }
    .contactus .grey_area .grey_area_unlock p { font-size: 17px; line-height: 20px; margin: 0 0 34px; } 


    /* == people styling == */
    .people h3 { text-align: center; }

    .people img { display: block; }

    .people .profile-header h6 { text-align: center; }

    .profile-header h3 { font-size: 25px; margin: 50px 0 30px; }
    
    .profile { margin: 0 0 30px; }
    
    .people h5 { margin: 0; }
    
    .people .profile-header h6 { font-weight: bold; line-height: 20px; margin: -14px 0 30px; }


    #faqs { margin: 30px 0; }
    #faqs .panel:first-child h6 a { padding-top: 14px; }

    .driver-products { clear: both; }


    div.cta { border-radius: 10px; height: 147px; margin: 30px 0 0; }
    div.cta.register { border-bottom: none; }
    div.cta:before {
        border-radius: 40px;
        font-size: 38px;
        height: 80px;
        line-height: 72px;
        margin-top: -40px;
        width: 80px;
    }
    div.cta.register { background-size: auto; }
    div.cta.numbering { background-size: 132px; }
    div.cta.stayintouch { background-size: 140px; padding-bottom: 0; }
    div.cta.plant { background-size: 106px; }
    div.cta.factsheet { background-size: 82px; }
    div.cta.quote { background-size: 90px }
    div.cta.mobile:before { font-size: 76px; line-height: 76px; }
    div.cta.users:before { font-size: 44px; line-height: 78px; }
    div.cta.tgw:before { background-size: 60px; }
    div.cta.headset:before { background-size: 52px; }

    div.cta h3 , div.cta h4 { font-size: 18px; margin: 26px 0 4px 0; }

    div.cta p { font-size: 14px; line-height: 16px; margin-left: 0; }

    div.cta a.btn:after {
        border-radius: 15px;
        font-size: 30px;
        height: 30px;
        line-height: 30px;
        padding-left: 11px;
        right: 20px;
        width: 30px;
    }

    footer { height: 180px; margin-top: 30px; }

    footer h3, footer h3 a { display: inline-block; font-size: 24px; }
    footer h3 { margin-left: 0; }

    footer ul { float: left; margin: 40px 0 0; }

    footer ul.social { margin-left: 0; margin-top: 20px; float: right; }
    footer ul.tplogo { margin-left: 0; float: right; }

    footer li { display: inline-block; }
    footer ul.social li:nth-child(4) { display: block; }

}

/* small to Medium devices (desktops, 858px and up) */
@media (min-width: 858px) {
    .carousel_text h1 { font-size: 75px; line-height: 62px; margin: 30px 0 15px; }

    .carousel_text h5 { font-size: 15px; line-height: 18px; margin: 0 34%; }

	.product-details.errorpage {
	background: url(/images/errorphone.png) no-repeat 100px 0px transparent;
	background-size: 90px 150px;
	}

}

/* Medium devices (desktops, 992px and up) */
@media (min-width: 992px) {
    .carousel_text h1 { font-size: 85px; line-height: 72px; margin-top: 45px; }
    .carousel_text h5 { font-size: 17px; line-height: 20px; }

    .light_grey_area .speechbubbles { background-position: 10% 60%; }
    .light_grey_area .speechbubbles:after { right: 9%; }

    .products.drivers { height: 300px; }

    .products.drivers a { padding-top: 240px; }

    .news_item { height: 236px; }

    .news_item a:after { bottom: 25px; }

    .news_item a {
        font-size: 30px;
        height: 228px;
        line-height: 35px;
        padding: 0 45px 30px;
    }
    .news_item.case-study a {
        font-size: 25px;
        line-height: 30px;
    }


    div.cta:before {
        border-radius: 48px;
        font-size: 46px;
        height: 96px;
        left: 30px;
        line-height: 87px;
        margin-top: -48px;
        width: 96px;
    }
    div.cta.register { background: url(/images/icon-smiley.png) 10% center no-repeat  #a2a9a7; }
    div.cta.numbering { background-size: auto; }
    div.cta.stayintouch { background-size: auto; }
    div.cta.plant { background-size: auto; }
    div.cta.factsheet { background-size: auto; }
    div.cta.quote {
        background: url(/images/icon-speech.png) 5% center no-repeat  #a2a9a7;
        background-size: auto;
    }
    div.cta.mobile:before { font-size: 90px; line-height: 92px; }
    div.cta.users:before { font-size: 56px; line-height: 92px; }
    div.cta.tgw:before { background-size: 74px; }
    div.cta.headset:before { background-size: auto; }

    div.cta h4 { font-size: 20px; }

    div.cta a.btn:after {
        border-radius: 17px;
        font-size: 40px;
        height: 35px;
        line-height: 34px;
        padding-left: 12px;
        width: 35px;
    }

	.product-details.errorpage {
	background: url(/images/errorphone.png) no-repeat 150px 0px transparent;
	background-size: 90px 150px;
	}

    div.cta h3 { font-size: 24px; margin-bottom: 10px; }

    footer ul.social { margin-top: 40px; }
    footer ul.social li:nth-child(4) img { width: auto; margin-top: 10px; }
}

/* Large devices (large desktops, 1120px and up) */
@media (min-width: 1120px) {
    section, .driver-video {
        margin: 0 auto;
        width: 1120px;
    }

    .carousel { height: 313px; }

    .carousel img { width: 100%; }

    .carousel_text h5 { font-size: 17px; line-height: 20px; margin: 0 31%; }

    .grey-inverted-arrow .inverted-arrow { position: relative; }
    .grey-inverted-arrow .inverted-arrow:after,
    .grey-inverted-arrow .inverted-arrow:before,
    .success.graphic_bg .inverted-arrow:after,
    .success.graphic_bg .inverted-arrow:before {
        background: #616161;
        bottom: 0;
        content: "";
        height: 23px;
        left: -23px;
        position: absolute;
        width: 50%;
    }
    .success.graphic_bg .inverted-arrow:after,
    .success.graphic_bg .inverted-arrow:before {
        background: #6e2585;
    }
    .grey-inverted-arrow .inverted-arrow:before,
    .success.graphic_bg .inverted-arrow:before {
        left: auto;
        right: 0;
        width: 48%;
    }

    .banner_area .container { position: relative; }
    .carousel_area.banner_area .container { position: absolute; }
    
    a.btn.cta { bottom: -70px; right: 0; }
    .graphic_bg a.btn.cta { bottom: -47px; }

    .purple_area.purple_partner:before { background: none; }
    .purple_area.purple_partner { padding-bottom: 0; }
    .purple_area.purple_partner .container { padding-bottom: 112px; }
    .purple_area.purple_partner .container:before {
        background: url("/images/purple_partner_logo.png") no-repeat right bottom;
        bottom: 54px;
        content: "";
        height: 38px;
        position: absolute;
        right: 35px;
        width: 104px;
    }

	.product-details.errorpage {
	background: url(/images/errorphone.png) no-repeat 225px 0px transparent;
	background-size: 135px 200px;
	}

    .purple_partner a.btn.cta { bottom: 0; }
}
