/*--------------------------------------------- reset---------------------------------------------------------------*/
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}

body {
  margin:0;
  padding:0;
  background-color:var(--white);
  overflow-x: hidden;
}

:root {
  --sunflower: #F1A51F;
  --navy: #0A3959;
  --punch:#DB4726;
  --gray:#CECDCD;
  --boston: #3792A6;
  --white: #ffffff;
  --black: #333333;
  --bg-tint: #f2f2f2;
  --medium-gray: #888888;
}

.white-txt {
  color:var(--white);
}

.sunflower-txt {
  color:var(--sunflower);
}

.navy-txt {
  color:var(--navy);
}

.punch-txt {
  color:var(--punch);
}

.boston-txt {
  color:var(--boston);
}

/*--------------------------------------------- mobile---------------------------------------------------------------*/
@media (max-width: 480px) {
    .mobhide { display:none; }
    .mobshow { display: static; }
}

@media (min-width: 480px) {
    .mobshow { display: none; }
}

@media (max-width: 1024px) {
    .tabhide { display:none; }
    .tabshow { display: static; }
}

@media (min-width: 1024px) {
    .tabshow { display: none; }
}
/*--------------------------------------------- svg---------------------------------------------------------------*/
.st0 {
  fill:var(--sunflower);
}

/*--------------------------------------------- text---------------------------------------------------------------*/
html body {
  font-family: 'Raleway', sans-serif;
  font-weight:400;
  font-size:16px;
  line-height:1.5;
  color:var(--black);
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Raleway', sans-serif;
  font-weight:700;
  padding:0;
  margin:0 0 0.5em 0;
  color:var(--navy);
}

h1 {
  font-size: 34px;
  line-height: 1.2;
}

h2 {
  font-size: 24px;
  line-height: 1.3;
}

h3 {
  font-size: 24px;
  line-height: 1.4;
}

h4 {
  font-size: 20px;
  line-height: 1.5;
}

h5 {
  font-size: 18px;
  line-height: 1.5;
}

h6 {
  font-size: 16px;
  line-height: 1.5;
}

p {
  margin-top:0;
}

p + p {
  margin-top:24px;
}

span.lbr::before {
  content:"\A";
  white-space: pre;
}

.tac { text-align:center; }

blockquote { border-left: 5px solid var(--sunflower); padding:20px 40px; color:var(--black); font-size:22px; line-height:32px; width:66%; }

.lightweight {
  font-weight:400;
}

.heavyweight {
  font-weight: 700;
}

.sub {
      font-size: 0.6875rem;
      font-weight: 800;
      letter-spacing: 0.1818em;
      padding-bottom: 0.25em;
      text-transform: uppercase;
}

.designation { font-size: 0.9rem; }

ul { list-style: outside none disc; padding-left:14px; }
ol { list-style: outside none decimal; padding-left:14px; }
ol li { margin-bottom:7px; }


@media (min-width:900px){
  h1 {
    font-size: 42px;
  }

  h2 {
    font-size: 28px;
  }
}

/*--------------------------------------------- flexbox---------------------------------------------------------------*/
.flxp { display:flex; }
.flxc { display: flex; align-items: center; justify-content: center; }
.flxsb { display: flex; justify-content: space-between; flex-wrap: wrap; }
.flxw { display:flex; flex-wrap:wrap; }
.jc { justify-content:center; }
.aic { align-items: center; }

/*--------------------------------------------- grid---------------------------------------------------------------*/
.twocol {
  -webkit-column-count: 2; /* Chrome, Safari, Opera */
  -moz-column-count: 2; /* Firefox */
  column-count: 2;
  -webkit-column-gap: 40px; /* Chrome, Safari, Opera */
  -moz-column-gap: 40px; /* Firefox */
  column-gap: 40px;
}

@media (max-width: 750px) {
    .twocol {
      -webkit-column-count: 1; /* Chrome, Safari, Opera */
      -moz-column-count: 1; /* Firefox */
      column-count: 1;
    }
  }

.boxed {
  width:100%;
  max-width: 1440px!important;
  margin:0 auto;
  padding: 40px;
}

.wide {
  width:100%;
  max-width: 980px!important;
  min-width: 320px;
  margin:0 auto;
  padding: 40px 0;
}

.narrow {
  width:100%;
  max-width:800px;
  min-width:320px;
  margin:0 auto;
  padding: 20px 0;
}

.tight {
  width:100%;
  max-width:600px;
  min-width:320px;
  margin:0 auto;
  padding: 20px 0;
}

.tiny {
  width:100%;
  max-width:320px;
  min-width:300px;
  margin:0 auto;
  padding: 20px 0;
}

@media (max-width: 1439px) {
  .boxed { padding:40px; }
}

@media (max-width: 979px) {
  .wide { padding:40px; }
}

@media (max-width: 799px) {
  .narrow { padding: 0 40px;}
}

@media (max-width: 750px) {
  .narrow { padding:40px; }
}

@media (max-width: 500px) {
    .boxed, .wide, .narrow { padding:20px; }
}

.collapse { margin:0!important; padding:0!important; }

@media (min-width: 900px) {
  .grid2 {
    display:grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap:64px;
    max-width: 100%;
  }

  .grid3 {
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap:64px;
  }

  .grid4 {
    display:grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap:64px;
  }

  .gridzrev2 {
    display:grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap:64px;
    grid-template-areas: "a b";
    max-width: 100%;
  }

  .gridzrev2 .right {
    grid-column: 2;
    grid-row: 1 / 2;
  }

  .gridzrev2 .left {
    grid-column: 1;
    grid-row: 1 / 2;
  }

  .grid2 img, .gridzrev2 img {
    margin:0;
  }

  .asym3 {
    display: grid;
    grid-template-columns: 1fr 2fr;
    grid-gap: 64px;
  }

  .asym4 {
    display: grid;
    grid-template-columns: 1fr 3fr;
    grid-gap: 64px;
  }

  .asym4rev {
    display: grid;
    grid-template-columns: 3fr 1fr;
    grid-gap: 64px;
  }
}

/*--------------------------------------------- spacing---------------------------------------------------------------*/

.mp0 { margin:0; padding:0; }
.mt20 { margin-top:20px; }
.mt40 { margin-top:40px; }
.mb0 { margin-bottom: 0; }
.mb20 { margin-bottom:20px; }
.mb40 { margin-bottom:40px; }
.mb60 { margin-bottom:60px; }
.pad40 { padding:40px; }
.padtb40 { padding:40px 0 40px 0; }
.padb40 { padding-bottom:40px; }
.padt40 { padding-top:40px; }
.padlr40 { padding:0 40px;}
.padr40 { padding-right:40px;}
.padl40 { padding-left:40px;}
.padtb0 { padding-top:0; padding-bottom:0; }
.padt0 { padding-top:0!important; }
.padb0 { padding-bottom:0!important; }
.nopad { padding:0; }

@media (max-width: 480px) {
  .padlr40 { padding:0;}
}

/*--------------------------------------------- buttons---------------------------------------------------------------*/

button {
  padding:15px 30px;
  color:var(--sunflower);
  background:var(--navy);
  border:none;
  font-size:16px;
  border-radius:2px;
  transition: all 500ms ease;
  margin-top:20px;
  font-family: 'Raleway', sans-serif;
  font-weight:400;
  font-size:16px;
  line-height:1.4em;
}

button:hover, button:focus {
  background:var(--boston);
  color:var(--white);
  cursor:pointer;
  transform: scale(1.10);
}

button.rev {
  padding:15px 30px;
  color:var(--black);
  background:var(--white);
  border:none;
  font-size:16px;
  border-radius:2px;
  transition: all 500ms ease;
  margin-top:20px;
  font-family: 'Raleway', sans-serif;
  font-weight:400;
  font-size:16px;
  line-height:1.4em;
}

button.rev:hover, button.rev:focus {
  background:var(--sunflower);
  color:var(--white);
  cursor:pointer;
  transform: scale(1.10);
}

button.ghost {
  padding:15px 30px;
  color:var(--sunflower);
  background: transparent;
  border:1px solid var(--black);
  font-size:16px;
  border-radius:2px;
  transition: all 500ms ease;
  margin-top:20px;
  font-family: 'Raleway', sans-serif;
  font-weight:400;
  font-size:16px;
  line-height:1.4em;
}

button.ghost:hover, button.ghost:focus {
  background:var(--black);
  border: 1px solid var(--black);
  color: var(--sunflower);
  cursor:pointer;
  transform: scale(1.10);
}

button.revghost {
  padding:15px 30px;
  color:var(--white);
  background: transparent;
  border:1px solid var(--sunflower);
  font-size:16px;
  border-radius:2px;
  transition: all 500ms ease;
  margin-top:20px;
  font-family: 'Raleway', sans-serif;
  font-weight:400;
  font-size:16px;
  line-height:1.4em;
}

button.revghost:hover, button.revghost:focus {
  background:var(--sunflower);
  border: 1px solid var(--sunflower);
  color: var(--black);
  cursor:pointer;
  transform: scale(1.10);
}

/*--------------------------------------------- cards ---------------------------------------------------------------*/

.card {
    background: var(--white);
    align-items: stretch;
    padding:40px;
    border-radius:2px;
    margin-bottom:20px;
    transition: all 500ms ease;
}

.card:hover, .card:focus {
    -moz-box-shadow: rgba(0, 0, 0, 0.45) 0px 0px 20px 0px;
    -webkit-box-shadow: rgba(0, 0, 0, 0.45) 0px 0px 20px 0px;
    box-shadow: rgba(0, 0, 0, 0.45) 0px 0px 20px 0px;
    -moz-transition-property: background-color, border-color, box-shadow, color, opacity, text-shadow, -moz-transform;
    -o-transition-property: background-color, border-color, box-shadow, color, opacity, text-shadow, -o-transform;
    -webkit-transition-property: background-color, border-color, box-shadow, color, opacity, text-shadow, -webkit-transform;
    transition-property: background-color, border-color, box-shadow, color, opacity, text-shadow, transform;
    -moz-transition-duration: 0.2s;
    -o-transition-duration: 0.2s;
    -webkit-transition-duration: 0.2s;
    transition-duration: 0.2s;
    -moz-transition-timing-function: linear;
    -o-transition-timing-function: linear;
    -webkit-transition-timing-function: linear;
    transition-timing-function: linear;
}

.card h2 {
  font-family: 'Raleway', sans-serif;
  font-weight:400;
  font-size: 20px;
  line-height:24px;
}

section {
  padding:40px 20px;
}

section .title {
  text-align:center;
  margin:0;
  padding:0;
}

@media (max-width: 1200px) {
    section {
      padding:0 20px;
    }
}

/*------------------------------ forms ---------------------------------- */
input[type="text"], input[type="email"] {
  padding:20px;
  width:100%;
  border-radius:2px;
  border:none;
  font-family: 'Raleway', sans-serif;
  font-weight:400;
  font-size:16px;
  line-height:1.4em;
  margin-bottom:20px;
 }

textarea {
  padding: 15px;
  border: 1px solid var(--gray);
  border-radius:2px;
  margin-bottom: 15px;
  box-sizing: border-box;
  color: var(--black);
  font-family: 'Raleway', sans-serif;
  font-weight:400;
  font-size: 16px;
  width:100%;
  height:50%;
  margin-bottom:20px;
}

input.submit {
  background: var(--navy);
  color:var(--sunflower);
  border: 0 none;
  border-radius: 2px;
  cursor: pointer;
  padding: 15px 30px;
  font-family: 'Raleway', sans-serif;
  font-weight:400;
  font-size:16px;
  line-height:1.4em;
}

input.submit:hover {
  background: var(--boston);
  color: var(--white);
  transform: scale(1.10);
  transition: all 500ms ease;
}

input[type=text]::-webkit-input-placeholder { color: var(--medium-gray)!important; }
input[type=text]::-moz-placeholder { color: var(--medium-gray)!important; }
input[type=text]:-ms-input-placeholder { color: var(--medium-gray)!important; }
input[type=text]:-moz-placeholder { color: var(--medium-gray)!important; }
input[type=text]:focus::-webkit-input-placeholder { color:transparent!important; }
input[type=text]:focus:-moz-placeholder { color:transparent!important; } /* FF 4-18 */
input[type=text]:focus::-moz-placeholder { color:transparent!important; } /* FF 19+ */
input[type=text]:focus:-ms-input-placeholder { color:transparent!important; } /* IE 10+ */
input[type=email]::-webkit-input-placeholder { color: var(--medium-gray)!important; }
input[type=email]::-moz-placeholder { color: var(--medium-gray)!important; }
input[type=email]:-ms-input-placeholder { color: var(--medium-gray)!important; }
input[type=email]:-moz-placeholder { color: var(--medium-gray)!important; }
input[type=email]:focus::-webkit-input-placeholder { color:transparent!important; }
input[type=email]:focus:-moz-placeholder { color:transparent!important; } /* FF 4-18 */
input[type=email]:focus::-moz-placeholder { color:transparent!important; } /* FF 19+ */
input[type=email]:focus:-ms-input-placeholder { color:transparent!important; } /* IE 10+ */
textarea::-webkit-input-placeholder { color: var(--medium-gray)!important; }
textarea::-moz-placeholder { color: var(--medium-gray)!important; }
textarea:-ms-input-placeholder { color: var(--medium-gray)!important; }
textarea:-moz-placeholder { color: var(--medium-gray)!important; }
textarea:focus::-webkit-input-placeholder { color:transparent!important; }
textarea:focus:-moz-placeholder { color:transparent!important; } /* FF 4-18 */
textarea:focus::-moz-placeholder { color:transparent!important; } /* FF 19+ */
textarea:focus:-ms-input-placeholder { color:transparent!important; } /* IE 10+ */

@media (max-width: 480px) {
  input[type="text"], input[type="email"], textarea {
    width:90%;
  }
}

input[type="text"]::placeholder, input[type="email"]::placeholder, textarea::placeholder {
  font-size:14px;
  font-weight:400;
}

/*--------------------------------------------- cta---------------------------------------------------------------*/
.cta .wrap {
  margin:auto;
  text-align:center;
}

.cta h3, .cta button {
  display:inline-flex;
  margin-bottom:0;
}

.cta h3 {
  color:var(--white);
}

.cta button {
  background:var(--sunflower);
  color:var(--navy);
  margin-left:24px;
  margin-top:0;
  transform:translateY(-4px);
}

.cta button:hover, .cta button:focus {
  background:var(--boston);
  color:var(--white);
}

.cta {
  background: var(--navy);
  padding:40px;
}

/*--------------------------------------------- nav---------------------------------------------------------------*/
nav li {
  list-style: none;
  display:inline-flex;
}

nav li:hover {
  cursor:pointer;
}

nav li a {
  text-decoration: none;
  color:var(--black);
  display:block;
  padding:0px 20px;
}

nav li:hover > a {
  color:var(--sunflower);
}

@media (max-width: 960px) {
    nav {
      display: none;
    }
}

.main-navigation ul {
  list-style:none;
  margin:0;
  padding:0 1.5em;
  text-align:left;
}

.main-navigation ul ul {
  padding:0 0 0 1.5em;
  background:var(--white);
  border:1px solid #cccccc;
  left:-999em;
  padding:0;
  position:absolute;
  top:100%;
  z-index:99999;
}

.main-navigation ul ul a {
  letter-spacing:0;
  padding:0.4em 0;
  position:relative;
  text-transform:none;
}

.main-navigation li {
  position:relative;
}

.main-navigation li li, .main-navigation li:last-child {
  border:0;
}

.main-navigation a {
  display:block;
  padding:0.5em 0;
  text-decoration:none;
  padding:4px 10px;
}

.main-navigation li li:focus > a,.main-navigation li li:hover > a {
  color:var(--white);
}

.main-navigation li li {
  display:block;
}

.main-navigation ul li.menu-item-has-children:before,
.main-navigation ul li.menu-item-has-children:after {
  border-style:solid;
  border-width:0 6px 6px;
  content:"";
  display:none;
  height:0;
  position:absolute;
  right:calc(50% - 12px);
  bottom:-1px;
  width:0;
  z-index:100000;
}

.main-navigation ul li.menu-item-has-children:hover:before,
.main-navigation ul li.menu-item-has-children:hover:after {
  display:block;
}

.main-navigation ul li.menu-item-has-children:before {
  border-color:transparent transparent #cccccc;
  bottom:0;
}

.main-navigation ul li.menu-item-has-children:after {
  border-color:transparent transparent var(--white);
}

.main-navigation ul ul a {
  padding:0.75em 1.25em;
}

.main-navigation li li {
  -webkit-transition:background-color 0.2s ease-in-out;
  transition:background-color 0.2s ease-in-out;
}
.main-navigation li li:hover {
  background:var(--navy);
}

.main-navigation li li a {
  -webkit-transition:color 0.3s ease-in-out;
  transition:color 0.3s ease-in-out;
}

.main-navigation li li:focus > a,
.main-navigation li li:hover > a,
.main-navigation li li a:hover,
.main-navigation li li a:focus {
  color:var(--sunflower);
}

.main-navigation ul li:hover > ul {
  left:0;
  right:auto;
}

/*--------------------------------------------- header---------------------------------------------------------------*/
header {
  padding:10px 20px 0 20px;
  position:fixed;
  z-index:20;
  top:0;
  left:0;
  width:100%;
  height:74px;
  background-color:var(--white);
  -webkit-box-shadow: 0px 6px 20px 0px rgba(85,85,85,0.33);
  -moz-box-shadow: 0px 6px 20px 0px rgba(85,85,85,0.33);
  box-shadow: 0px 6px 20px 0px rgba(85,85,85,0.33);
}

header svg, header img {
  width:300px; height:55px; margin-top:0;
}

@media (max-width: 960px) {
    header svg, header img {
      margin:0 auto; width:280px;
    }
}

/*--------------------------------------------- brokercheck---------------------------------------------------------------*/

#brokercheck {
	width:100%;
	text-align:center;
	color:var(--navy);
	background:var(--sunflower);
	padding:20px;
  margin-top:74px;
}

#brokercheck a {
  color:var(--navy);
}

#brokercheck a:hover {
  color:var(--boston);
}


/*--------------------------------------------- home sections---------------------------------------------------------------*/

#hero {
  position:relative;
  background-color:var(--navy);
  min-height:50vh;
}

#hero-image {
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  right:0;
  opacity:0.2;
  overflow:hidden;
  background-image:url('../../assets/image/Africa-Safari-2011-4890.jpg');
  background-repeat:no-repeat;
  background-position:center 30%;
  background-size:cover;
}

#hero-image img  {
  height:auto;
}

#hero .wide {
  min-height:50vh;
  text-align:center;
}

#hero-content {
  color:var(--white)!important;
  z-index:2;
}

#hero h1 {
  color:var(--sunflower)!important;
  margin-bottom:10px;
}

#hero p {
  margin-top:0;
}

#first {
  padding: 0 70px;
}

#first .profile {
  background-repeat: no-repeat!important;
  background-position: center;
  background-size: cover;
  width:100%;
  margin-bottom:40px;
}

#first .profile::before {
  content: "";
  display: block;
  padding-top: 100%;
}

#first a, #first a:visited {
  color:var(--sunflower);
  text-decoration:none;
}

#first a:hover {
  color:var(--navy);
}

#first .disclosure {
  font-size:0.85em; line-height:1.35em;
}

@media (max-width: 1350px) {
  #first {
    background-position: center 65px;
  }
}

@media (max-width: 1200px) {
  #first .boxed {
    padding:0;
  }
}

@media (max-width: 1024px) {

}

@media (max-width: 768px) {
  #first {
    padding: 100px 40px 40px 40px;
  }
}

#ifp {
  padding-top:80px;
}

#mission {
    background-color:var(--white);
    overflow:hidden;
}

@media (max-width: 1200px) {
    #mission {
      padding: 0;
    }
}

#services {
  background: var(--bg-tint);
  padding:60px;
}

#services h2 {
  color:var(--boston);
  /* margin:0 0 60px 0; */
}

.icon {
  width:80px;
  max-height:80px;
  margin-bottom:24px;
}

@media (max-width: 1580px) {
   #services { padding: 60px 20px; }
}


#team {
  background-color:var(--white);
  padding:60px 40px;
}

#team img {
  width:100%;
  min-width:200px;
  margin-bottom:24px;
}

#team h4 {
  margin-bottom:0;
}

#team .title {
  font-weight: 400;
  font-size:1.125em;
  line-height:1.625em;
  text-align:left;
  margin-bottom:24px;
  font-weight: bold;
}

#team .disclosure {
  font-size:0.85em;
  line-height:1.35em;
}

#team a, #team a:visited {
  color:var(--navy);
  text-decoration:none;
}

#team a:hover {
  color:var(--boston);
}

@media (max-width: 480px) {
  #team {
    padding:40px 0;
  }
}



#partners {
  background-color:var(--bg-tint);
}

#partners .plogo, #partners .plogo svg {
  width: 260px;
  margin-bottom:24px;
}

@media (max-width: 1024px) {
  #partners button, #contact .submit {
    margin-bottom:40px;
  }
}

@media (max-width: 480px) {
  #partners h2 {
    padding:40px 0 0 0;
  }
}

#contact {
  background:var(--sunflower);
}
#contact form {
  margin:auto;
}

#mission .wrap, #services .wrap, #team .wrap, #partners .wrap, #contact .wrap {
  margin:auto;
}



/*--------------------------------------------- footer---------------------------------------------------------------*/
footer {
  background: var(--navy);
  color: var(--white);
}

footer .disclosure {
  font-size:85%;
}

footer h3 {
  color:var(--sunflower);
}

footer ul {
  padding-left:0;
}

footer li {
  list-style-type: none;
}

footer a, footer a:visited {
  color: var(--white);
  text-decoration: none;
}

footer a:hover {
  color:var(--sunflower);
  text-decoration: underline;
}
