/*
Theme Name: ASG
Theme URI:
Author: Scott McCreedy, Independent Financial Partners
Version: 1.0
Template: twentytwentyone
Description: Custom Wordpress Child Theme
Author URI: http://www.ifpartners.com/
*/

@import url('../twentytwentyone/style.css');
@import url('https://fonts.googleapis.com/css2?family=Merriweather:wght@400;700&family=Roboto:wght@400;500&display=swap');

:root {
  --wine: #5a0d10;
  --seafoam:#AAA95A;
  --tan:#DBE1C7;
  --warm-gray: #2B2A2A;
  --cool-gray:#534F4D;
  --white: #ffffff;
  --black: #333333;
  --bg-tint: #f2f2f2;
  --global--font-primary: var(--font-headings, 'Merriweather', serif);
  --global--font-secondary: var(--font-base, 'Roboto', sans-serif);
  --global--color-background: hsl(167, 40%, 95%)!important;
  --header--color-background: hsl(167, 40%, 95%)!important;
  --header--color-text: var(--black)!important;
  --header--color-link-hover: var(--wine)!important;
  --primary-nav--font-size: 1.325rem!important;
  --primary-nav--font-weight:500!important;
}

.primary-navigation a, .primary-navigation a:link, .primary-navigation a:visited {
  color: var(--black)!important;
}

.primary-navigation a:hover{
  color: var(--wine)!important;
}

.has-background-white .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {
    background: var(--wine);
    color: var(--white)!important;
    border-radius: 5px;
}

*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html body {
  font-family: 'Roboto', sans-serif;
  font-weight:400;
  font-size:18px;
  line-height:1.4em;
  color:var(--black);
  scroll-behavior:smooth;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Merriweather', serif;
  padding:0;
  margin-bottom:0.5em;
  font-weight:700;
  color:var(--wine);
  text-wrap:balance;
}

h1, h2, h3, h4, p {
  font-size: clamp(
    var(--fluid-type-min, 1rem),
    calc(1rem + var(--fluid-type-target, 3vw)),
    var(--fluid-type-max, 1.2rem)
  );
}

h1 {
  --fluid-type-min: 2.5rem;
  --fluid-type-max: 4.0rem;
  --fluid-type-target: 5vw;
}

h2 {
  --fluid-type-min: 1.8rem;
  --fluid-type-max: 2.2rem;
}

h3 {
  --fluid-type-min: 1.5rem;
  --fluid-type-max: 1.8rem;
}

h4 {
  --fluid-type-min: 1.2rem;
  --fluid-type-max: 1.5rem;
}

.tac {
  text-align:center;
}

.blue-txt {
  color:var(--wine);
}

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

.black-txt {
  color:var(--black)!important;
}

@media(min-width:900px){
  .footnote {
    font-size:80%;
  }
}


/*------------------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------------------------*/

.grid2 img, .gridzrev2 img {
  margin-bottom:20px;
  display:flex;
  align-content: center;
}

.grid2, .gridzrev2 {
  width:100%;
  max-width:600px;
  margin:0 auto 64px auto;
}

@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;
  }

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

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

/*-------------------------layout --------------------*/

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

.wide {
    width:100%;
    padding-right:24px;
    padding-left:24px;
}

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

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

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

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

@media (min-width: 900px) {
  .boxed, .wide, .narrow {
    padding:40px;
  }

  .wide {
    max-width:900px;
    margin:0 auto;
  }

  .tall {
    padding-top:60px;
    padding-bottom:60px;
  }

  .reduced-width {
    padding-left:80px;
    padding-right:80px;
  }
}

/*--------------------------header-----------------------------*/

#masthead {
  padding-bottom:20px!important;
}

.has-background-white .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {
  background: var(--wine);
  color: var(--wp--style--color--link, var(--global--color-white));
  border-radius:5px;
}

.primary-navigation > div > .menu-wrapper > li > .sub-menu {
  border-radius:10px;
}

.primary-navigation > div > .menu-wrapper > li > .sub-menu,
.primary-navigation > div > .menu-wrapper > li > .sub-menu li {
  background: hsl(167, 40%, 95%)!important;
}

@media (max-width:482px) {
  .site-header {
    padding-top:10px;
  }
}

@media (min-width:482px) and (max-width:732px) {
  #masthead {
    justify-content:center;
  }

  .primary-navigation {
     margin-left:0;
  }
}



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

#brokercheck {
  width:100%;
  text-align:center;
  color:var(--white);
  background:var(--wine);
  padding:10px 20px;
  z-index:20;
  font-size:14px;
}

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

@media (max-width: 600px) {
  #brokercheck { font-size:11px;line-height:13px; }
}

@media (max-width: 500px) {
  #brokercheck { top:78px;padding:10px; }
}


/*---------------------------hero---------------------------*/

#hero {
  position:relative;
  width:100%;
  height:100%;
  min-height:calc(65vh - 183px);
  overflow:hidden;
  background-color:rgba(90, 13, 16, 0.8);
}

#hero-image {
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  width:100%;
  height:100%;
  min-height:calc(65vh - 183px);
  background-repeat: no-repeat!important;
  background-position: center;
  background-size: cover;
  overflow:hidden;
  filter: grayscale(1);
  mix-blend-mode: multiply;
  opacity:0.4;
}

#hero-content {
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  width:100%;
  height:100%;
  min-height:calc(65vh - 183px);
}

#hero-content h1, #hero-content p, #hero-content ul, #hero-content cite {
  color: var(--white);
}

#hero-content a, #hero-content a:visited {
  color:var(--wine)!important;
}

#hero-content h1{
  --fluid-type-min: 2.0rem;
  --fluid-type-max: 3.0rem;
  --fluid-type-target: 5vw;
}

#hero-content p {
  font-size:140%;
  line-height:160%;
}

#hero-content .cta {
  font-weight:700;
  font-size: 160%;
}

#hero-content h1 sup {
  top: -3.5em;
  font-size: 20%;
}

#hero-content ul {
  text-align: left!important;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right:auto;
  font-size:140%;
  line-height:140%;
}

#hero-content cite {
  font-size:60%;
  margin-top:60px;
}


@media (max-width:760px) {
  #hero, #hero-image, #hero-content {
    height:100vh;
  }

  #hero-content h1 {
    font-size:24px;
    line-height:30px;
  }

  #hero-content p, #hero-content ul {
    font-size:18px;
    line-height: 24px;
  }

  #hero-content .cta {
    font-size:100%;
  }
}
/*---------------------------------------- article----------------------------------*/
.entry-content {
  padding-top:48px;
}

.card {
  padding:20px;
  border: 1px solid var(--wine);
  border-radius:5px;
  display:flex;
  flex-direction:column;
  margin-bottom:48px;
}

.card div p {
  margin-bottom:24px;
}

.card button {
  margin-top:auto;
}

.feat_img {
  margin-bottom:48px;
}

@media (min-width: 900px) {
  .card {
    margin-bottom:0;
  }
}


/*---------------------------------------- team----------------------------------*/

.headshot {
  aspect-ratio: 1 / 1;
  background-size:cover;
  background-repeat:no-repeat;
  background-position:top center;
  margin-bottom:48px;
  border-radius:10px;
}

.headshot::before {
  content: "";
  display: block;
  padding-top: 100%;
}

#profile-photo img {
  width:100%;
  margin-bottom:24px;
}

#profile-photo svg {
  width:42px;
}

@media(min-width:900px) {
  body.page-template-page-team h3 a > sup {
    top: -1em;
    font-size: 40%;
    text-decoration: none!important;
  }

  body.single-team h1 sup {
    top: -1.7em;
    font-size: 30%;
  }
}


/*---------------------------------------- black box----------------------------------*/

.blackbox {
  background:var(--wine);
  padding:20px;
  border-radius:10px;
}

.blackbox h1, .blackbox h2, .blackbox h3, .blackbox h4, .blackbox h5, .blackbox h6 {
  color:var(--white);
}

.blackbox p {
  color:var(--white)!important;
}

.blackbox a, .blackbox a:visited {
  color:var(--white);
}

@media (min-width:900px){
  .blackbox {
    padding:40px;
  }
}

/*---------------------------------------- video cta----------------------------------*/

.video-cta {
  text-align:center;
  background:var(--wine);
  color:var(--white);
  padding:20px;
  border-radius:10px;
  margin-top:48px;
  font-size: 120%;
  line-height:120%;
}

.video-cta a, .video-cta a:visited {
  color:var(--white);
}

.video-cta + .widget-area {
  border-top:none;
  margin-top:0;
  padding-top:12px;
}

@media (min-width:900px){
  .video-cta {
    padding:40px;
  }
}

/*---------------------------------------- responsive video----------------------------------*/

.videoWrapper {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	padding-top: 25px;
	height: 0;
	margin-bottom:40px
}
.videoWrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.videoWrapper object, .videoWrapper embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*---------------------------------------- contact-footer----------------------------------*/

#contact-footer {
  background:var(--wine);
}

#contact-footer h2 {
  color:var(--white);
}

#contact-footer p {
  color:var(--white);
  margin-bottom:48px;
}

#contact-footer form placeholder {
  font-size:16px;
}

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

 #contact-footer textarea {
  padding: 20px;
  border: 1px solid #ccc;
  border-radius:2px;
  margin-bottom: 15px;
  box-sizing: border-box;
  color: #333;
  font-size: 16px;
  width:100%;
  margin-bottom:20px;
  font-family: 'Roboto', sans-serif;
  font-weight:400;
	font-size:16px;
	line-height:1.4em;
}

#contact-footer input.submit {
  padding:15px 30px;
  color:var(--black);
  background:var(--white);
  border:none;
  font-size:16px;
  border-radius:6px;
  transition: all 500ms ease;
  margin-top:20px;
  font-family: 'Roboto', sans-serif;
  font-weight:400;
  font-size:16px;
  line-height:1.4em;
}

#contact-footer input.submit:hover, #contact-footer input.submit:focus {
  background:#CCC;
  color:var(--black);
  cursor:pointer;
  transform: scale(1.10);
  -moz-box-shadow: 0 6px 12px 2px rgba(0,46,109,0.28);
  -webkit-box-shadow: 0 6px 12px 2px rgba(0,46,109,0.28);
  box-shadow: 0 6px 12px 2px rgba(0,46,109,0.28);
  -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;
}

#contact-footer input[type=text]::-webkit-input-placeholder { color: #333!important; font-weight:300;font-size:16px }
#contact-footer input[type=text]::-moz-placeholder { color: #333!important; font-weight:300;font-size:16px }
#contact-footer input[type=text]:-ms-input-placeholder { color: #333!important; font-weight:300;font-size:16px }
#contact-footer input[type=text]:-moz-placeholder { color: #333!important; font-weight:300;font-size:16px }
#contact-footer input[type=text]:focus::-webkit-input-placeholder { color:transparent!important; }
#contact-footer input[type=text]:focus:-moz-placeholder { color:transparent!important; } /* FF 4-18 */
#contact-footer input[type=text]:focus::-moz-placeholder { color:transparent!important; } /* FF 19+ */
#contact-footer input[type=text]:focus:-ms-input-placeholder { color:transparent!important; } /* IE 10+ */
#contact-footer input[type=email]::-webkit-input-placeholder { color: #333!important; font-weight:300;font-size:16px }
#contact-footer input[type=email]::-moz-placeholder { color: #333!important; font-weight:300;font-size:16px }
#contact-footer input[type=email]:-ms-input-placeholder { color: #333!important; font-weight:300;font-size:16px }
#contact-footer input[type=email]:-moz-placeholder { color: #333!important; font-weight:300;font-size:16px }
#contact-footer input[type=email]:focus::-webkit-input-placeholder { color:transparent!important; }
#contact-footer input[type=email]:focus:-moz-placeholder { color:transparent!important; } /* FF 4-18 */
#contact-footer input[type=email]:focus::-moz-placeholder { color:transparent!important; } /* FF 19+ */
#contact-footer input[type=email]:focus:-ms-input-placeholder { color:transparent!important; } /* IE 10+ */

#contact-footer textarea::-webkit-input-placeholder { color: #333!important; font-weight:300;font-size:16px }
#contact-footer textarea::-moz-placeholder { color: #333!important; font-weight:300;font-size:16px }
#contact-footer textarea:-ms-input-placeholder { color: #333!important; font-weight:300;font-size:16px }
#contact-footer textarea:-moz-placeholder { color: #333!important; font-weight:300;font-size:16px }
#contact-footer textarea:focus::-webkit-input-placeholder { color:transparent!important; }
#contact-footer textarea:focus:-moz-placeholder { color:transparent!important; } /* FF 4-18 */
#contact-footer textarea:focus::-moz-placeholder { color:transparent!important; } /* FF 19+ */
#contact-footer textarea:focus:-ms-input-placeholder { color:transparent!important; } /* IE 10+ */

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

#contact-footer + .widget-area {
  border-top:none;
  margin-top:0;
  padding-top:12px;
}

/*---------------------------------------- footer----------------------------------*/
.widget-area {
  margin-top: calc(6 * var(--global--spacing-vertical));
  padding-bottom: calc(var(--global--spacing-vertical) / 3);
  color: var(--footer--color-text);
  font-size: 18px;
  font-family: var(--footer--font-family);
}

@media only screen and (min-width: 652px) {
  .widget-area {
    display: grid;
    grid-template-columns: 1fr;
    column-gap: calc(2 * var(--global--spacing-horizontal));
  }
}

@media only screen and (min-width: 1024px) {
  .widget-area {
    grid-template-columns: 40% 1fr 180px;
  }
  .widget-area #block-4, .widget-area #block-5 {
    padding-top:160px;
  }

  .widget-area #block-4 p {
    font-size:90%;
  }

  .widget-area img {
    margin-bottom:24px;
  }
}

/*---------------------------------------- override default wordpress styles----------------------------------*/

#masthead {
	background-color:var(--white);
}

.primary-navigation > div > .menu-wrapper > li > .sub-menu, .primary-navigation > div > .menu-wrapper > li > .sub-menu li {
  background: var(--wine)!important;
}

.site .button:not(:hover):not(:active):not(.has-background), button:not(:hover):not(:active):not(.has-background),
input[type=submit]:not(:hover):not(:active):not(.has-background), input[type=reset]:not(:hover):not(:active):not(.has-background),
.wp-block-search .wp-block-search__button:not(:hover):not(:active):not(.has-background), .wp-block-button .wp-block-button__link:not(:hover):not(:active):not(.has-background),
.wp-block-file a.wp-block-file__button:not(:hover):not(:active):not(.has-background) {
  background-color: var(--wine);
}

.site .button:hover, .site .button:active, button:hover, button:active, input[type=submit]:hover,
input[type=submit]:active, input[type=reset]:hover, input[type=reset]:active, .wp-block-search .wp-block-search__button:hover,
.wp-block-search .wp-block-search__button:active, .wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:active, .wp-block-file a.wp-block-file__button:hover, .wp-block-file a.wp-block-file__button:active {
  background-color: var(--wine);
  border-color: var(--wine);
  color: var(--black);
}

button {
  margin-top:24px;
}

.wp-block-button, .wp-block-button:visited {
  background-color: var(--wine);
}

.wp-block-button:hover, .wp-block-button:focus {
  background-color: var(--wine);
  border-color: var(--wine);
  color: var(--white);
}

.wp-block-group__inner-container li {
  margin-bottom:12px;
}

.centered_btn {
  display: flex;
  justify-content: center;
}

.centered_btn .alignwide {
  width:fit-content!important;
  max-width:fit-content!important;
}


@media only screen and (max-width: 651px) {
  .site-logo .custom-logo {
    max-width: 200px!important;
    max-height: none!important;
  }
  .primary-menu-container, .menu-button-container {
    background:var(--black)!important;
  }
}

@media only screen and (min-width: 482px) {
  .primary-navigation {
    position: relative;
    margin-left: auto;
    margin-right:auto
  }
}

@media (min-width:900px){
  .wp-block-group__inner-container * {
    max-width:100%!important;
  }

  .singular .entry-title {
    font-size: 48px;
  }
}

.widget-area .widget a, .widget a:link, a:not(.wp-block-button a) {
    color: var(--wine)!important;
}

a.wp-block-social-link-anchor svg  {
  fill:var(--white)!important;
}

/* .wp-block-button:hover, .wp-block-button:focus {
  color: var(--white)!important;
} */

/* body.page-template-page-planning-center .grid3 .card:nth-child(2) button {
 display:none;
} */
