* {
  box-sizing: border-box;
}

:host {
  display: flex;
  flex-direction: column;
  padding: 0 16px;
}

.image-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 120px;
  width: 120px;
  border-radius: 50%;
  margin-bottom: 37px;
  outline: 16px transparent;
}

.image-wrapper.withBG {
  background-color: var(--cwc-color-primary);
  outline: 16px solid var(--cwc-color-primary-100, #FFF2D6);
  margin-left: 16px;
  margin-right: 16px;
}

::slotted([slot="title"]) {
  color: var(--cwc-color-secondary-900, #242424);
  font-family: var(--cwc-font-sans-serif-bold, 'Eina01-Bold');
  font-size: 26px;
  line-height: 32px;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: unset;
}

::slotted([slot="text"]) {
  margin: 16px 0;
  color: var(--cwc-color-secondary-900, #242424);
  font-family: var(--cwc-font-sans-serif-regular, 'Eina01-Regular');
  font-size: 16px;
  line-height: 24px;
}

:host(.icon-with-bg) .image-wrapper {
  margin-top: 16px;
}

/* .image-with-hover */
:host(.image-with-hover) .image-wrapper {
  position: relative;
  width: 100%;
  padding-top: 39.5%;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 0;
  outline: unset;
  height: unset;
  margin-bottom: 0;
  transition: border 300ms;
}

:host(.image-with-hover) .image-wrapper:before {
  position:absolute;
  top: 0;
  display: block;
  content: " ";
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  border: 10px solid rgba(0,0,0,0);
  transition: border 200ms;
}

:host(.image-with-hover:hover) .image-wrapper:before {
  border: 10px solid var(--cwc-color-primary, #FFAD00);
}

:host(.image-with-hover) ::slotted([slot="title"]){
  font-size: 28px;
  text-align: left;
  font-family: var(--cwc-font-sans-serif-semibold, 'Eina01-SemiBold');
  margin-bottom: 15px;
  margin-top: 20px;
  position: relative;
}

:host(.image-with-hover) ::slotted([slot="text"]){
  font-size: .875rem;
  line-height: 20px;
  line-height: 1.25rem;
  text-align: left;
  font-family: var(--cwc-font-sans-serif-regular, 'Eina01-Regular');
  margin-top: 0;
}

:host(.image-with-hover) ::slotted([slot="cta"]){
  text-decoration: none;
  border-bottom: 1px dotted var(--cwc-color-accent-b, #008EAA) !important;
  border-color: inherit;
  padding-bottom: 0.2rem;
  font-family: var(--cwc-font-sans-serif-semibold, 'Eina01-SemiBold');
  width: fit-content;
  font-size: 1rem;
  color: var(--cwc-color-accent-b, #008EAA) !important;
  line-height: 25px;
}

:host(.image-with-hover) ::slotted([slot="cta"]:hover){
  color: var(--cwc-color-accent-a, #009A44) !important;
  border-color: var(--cwc-color-accent-a, #009A44) !important;
  text-decoration: none;
}

/* image-large */
:host(.image-large) .image-wrapper{
  width: 100%;
  min-height: 420px;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 0;
  outline: unset;
  height: unset;
  margin-bottom: 0;
}

:host(.image-large) ::slotted([slot="cta"]){
  padding-top: 1.5625rem;
  font-family: var(--cwc-font-sans-serif-regular, 'Eina01-Regular');
  color: var(--cwc-color-accent-b, #008EAA) !important;
  font-size: 18px;
  font-size: 1.125rem;
  text-decoration: none;
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}

:host(.image-large) ::slotted([slot="cta"]:hover){
  text-decoration: underline !important;
  color: var(--cwc-color-accent-b, #008EAA) !important;
}

/* leadership */
:host(.leadership) .image-wrapper{
  width: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 8px;
  outline: unset;
  height: unset;
  margin-bottom: 30px;
  aspect-ratio: 4/5 auto;
  max-width: 320px;
}

:host(.leadership) ::slotted([slot="title"]){
  font-size: 24px;
  line-height: 30px;
  padding-bottom: 0;
  margin-bottom: 2px;
  padding-top: 3px;
  font-family: var(--cwc-font-sans-serif-bold, 'Eina01-Bold');
}

:host(.leadership) .social-link svg{
  fill: #858c91;
  margin-bottom: -2px;
  margin-left: 5px;
}

:host(.leadership) .social-link:hover svg path {
  fill: var(--cwc-color-accent-b, #008EAA) !important;
}

:host(.leadership) ::slotted([slot="text"]){
  font-size: 16px;
  line-height: 1.5rem;
  color: var(--cwc-color-secondary-900, #242424);
  font-family: var(--cwc-font-sans-serif-regular, 'Eina01-Regular');
  margin-top: 0;
}

:host(.leadership) .inline-flex{
  display: inline-flex;
  align-items: baseline;
}
